go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkCenteredTransformInitializer2.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkCenteredTransformInitializer2.h,v $
5  Language: C++
6  Date: $Date: 2010-07-04 10:30:49 $
7  Version: $Revision: 1.11 $
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 
18 #ifndef __itkCenteredTransformInitializer2_h
19 #define __itkCenteredTransformInitializer2_h
20 
21 #include "itkObject.h"
22 #include "itkObjectFactory.h"
23 #include "itkImageMomentsCalculator.h"
24 
25 #include <iostream>
26 
27 namespace itk
28 {
29 
66 template < class TTransform,
67  class TFixedImage,
68  class TMovingImage >
69 class ITK_EXPORT CenteredTransformInitializer2 : public Object
70 {
71 public:
74  typedef Object Superclass;
75  typedef SmartPointer<Self> Pointer;
76  typedef SmartPointer<const Self> ConstPointer;
77 
79  itkNewMacro( Self );
80 
82  itkTypeMacro( CenteredTransformInitializer2, Object );
83 
85  typedef TTransform TransformType;
86  typedef typename TransformType::Pointer TransformPointer;
87 
89  itkStaticConstMacro(InputSpaceDimension, unsigned int,
90  TransformType::InputSpaceDimension);
91  itkStaticConstMacro(OutputSpaceDimension, unsigned int,
92  TransformType::OutputSpaceDimension);
93 
95  typedef TFixedImage FixedImageType;
96  typedef TMovingImage MovingImageType;
97 
98  typedef typename FixedImageType::ConstPointer FixedImagePointer;
99  typedef typename MovingImageType::ConstPointer MovingImagePointer;
100 
102  typedef ImageMomentsCalculator< FixedImageType >
104  typedef ImageMomentsCalculator< MovingImageType >
106 
107  typedef typename FixedImageCalculatorType::Pointer
109  typedef typename MovingImageCalculatorType::Pointer
111 
112 
114  typedef typename TransformType::OffsetType OffsetType;
115 
117  typedef typename TransformType::InputPointType InputPointType;
118 
120  typedef typename TransformType::OutputVectorType OutputVectorType;
121 
123  itkSetObjectMacro( Transform, TransformType );
124 
126  itkSetConstObjectMacro( FixedImage, FixedImageType );
127 
129  itkSetConstObjectMacro( MovingImage, MovingImageType );
130 
131 
133  virtual void InitializeTransform();
134 
137  void GeometryOn() { m_UseMoments = false; m_UseOrigins=false;}
138  void MomentsOn() { m_UseMoments = true; m_UseOrigins=false;}
139  void OriginsOn() { m_UseMoments = false; m_UseOrigins=true;}
140 
142  itkGetConstObjectMacro( FixedCalculator, FixedImageCalculatorType );
143  itkGetConstObjectMacro( MovingCalculator, MovingImageCalculatorType );
144 
145 protected:
148 
149  void PrintSelf(std::ostream &os, Indent indent) const;
150 
151  itkGetObjectMacro( Transform, TransformType );
152 
153 private:
154  CenteredTransformInitializer2(const Self&); //purposely not implemented
155  void operator=(const Self&); //purposely not implemented
156 
158 
160 
162 
165 
168 
169 }; //class CenteredTransformInitializer2
170 
171 
172 } // namespace itk
173 
174 
175 #ifndef ITK_MANUAL_INSTANTIATION
176 #include "itkCenteredTransformInitializer2.txx"
177 #endif
178 
179 #endif /* __itkCenteredTransformInitializer2_h */
CenteredTransformInitializer2 is a helper class intended to initialize the center of rotation and the...
MovingImageCalculatorType::Pointer MovingImageCalculatorPointer
TransformType::OutputVectorType OutputVectorType
FixedImageCalculatorType::Pointer FixedImageCalculatorPointer
ImageMomentsCalculator< FixedImageType > FixedImageCalculatorType
ImageMomentsCalculator< MovingImageType > MovingImageCalculatorType


Generated on 06-12-2013 for elastix by doxygen 1.8.5 elastix logo