Orfeo Toolbox  3.16
itkActiveShapeModelGradientSearchMethod.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkActiveShapeModelGradientSearchMethod.h,v $
5  Language: C++
6  Date: $Date: 2009-02-01 13:08:40 $
7  Version: $Revision: 1.2 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkActiveShapeModelGradientSearchMethod_h
18 #define __itkActiveShapeModelGradientSearchMethod_h
19 
20 #include <time.h>
21 #include <math.h>
22 
23 #include "vnl/vnl_vector.h"
24 #include "vnl/vnl_matrix.h"
25 #include "vnl/vnl_math.h"
26 
27 #include "itkImageToImageFilter.h"
28 #include "itkImage.h"
29 #include "itkNumericTraits.h"
30 
31 
33 
35 
36 
37 #include "itkVector.h"
38 #include "itkListSample.h"
39 #include "itkExceptionObject.h"
40 
41 #include "itkConceptChecking.h"
42 
43 #include <vector>
44 #include <list>
45 
46 namespace itk {
47 
63 template < class TImage >
65 {
66 public:
67 
70  typedef Object Superclass;
73 
75  itkNewMacro(Self);
76 
79 
81  typedef TImage InputImageType;
83 
85  typedef typename InputImageType::RegionType RegionType;
86 
88  typedef typename RegionType::IndexType IndexType;
89 
91  typedef typename InputImageType::PixelType PixelType;
92 
94  typedef typename RegionType::SizeType SizeType;
95 
97  typedef typename InputImageType::ConstPointer InputImagePointer;
98 
101 
105  typedef std::vector<unsigned int> VectorType;
109 
112 
115 
117  virtual void SetImage( const InputImageType * image )
118  {
119  if ( m_Image != image )
120  {
121  m_Image = image;
122  this->Modified();
123  m_Valid = false;
124  }
125  }
126 
128  itkSetMacro( LenghtOfProfile, unsigned int );
129  itkGetMacro( LenghtOfProfile, unsigned int );
130 
132  itkSetMacro( NumberOfIteration, unsigned int );
133  itkGetMacro( NumberOfIteration, unsigned int );
134 
136  itkSetMacro( MeanShape, VectorOfDoubleType );
137  itkGetMacro( MeanShape, VectorOfDoubleType );
138 
140  itkSetMacro( EigenValues, VectorOfDoubleType );
141  itkGetMacro( EigenValues, VectorOfDoubleType );
142 
144  itkSetMacro( EigenVectors, MatrixOfDoubleType );
145  itkGetMacro( EigenVectors, MatrixOfDoubleType );
146 
147 
153  void GenerateData( );
154 
157  VectorOfDoubleType GetNewShape();
158 
159 protected:
162 
163  void PrintSelf(std::ostream& os, Indent indent) const;
164 
165 
166 private:
167  ActiveShapeModelGradientSearchMethod(const Self&); //purposely not implemented
168  void operator=(const Self&); //purposely not implemented
169 
170  bool m_Valid; // Have parameters been computed yet?
174  unsigned int m_LenghtOfProfile;
175  unsigned int m_NumberOfIteration;
181 
182 
183 }; // class ActiveShapeModelGradientSearchMethod
184 
185 } // end of namespace itk
186 
187 #ifndef ITK_MANUAL_INSTANTIATION
189 #endif
190 
191 #endif

Generated at Sat Feb 2 2013 23:23:10 for Orfeo Toolbox with doxygen 1.8.1.1