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  * Copyright UMC Utrecht and contributors
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 /*=========================================================================
19 
20  Program: Insight Segmentation & Registration Toolkit
21  Module: $RCSfile: itkCenteredTransformInitializer2.h,v $
22  Language: C++
23  Date: $Date: 2010-07-04 10:30:49 $
24  Version: $Revision: 1.11 $
25 
26  Copyright (c) Insight Software Consortium. All rights reserved.
27  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
28 
29  This software is distributed WITHOUT ANY WARRANTY; without even
30  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
31  PURPOSE. See the above copyright notices for more information.
32 
33 =========================================================================*/
34 #ifndef __itkCenteredTransformInitializer2_h
35 #define __itkCenteredTransformInitializer2_h
36 
37 #include "itkObject.h"
38 #include "itkObjectFactory.h"
39 #include "itkSpatialObject.h"
40 #include "itkImageMomentsCalculator.h"
41 
42 #include <iostream>
43 
44 namespace itk
45 {
46 
91 template< class TTransform, class TFixedImage, class TMovingImage >
92 class CenteredTransformInitializer2 : public Object
93 {
94 public:
95 
98  typedef Object Superclass;
100  typedef SmartPointer< const Self > ConstPointer;
101 
103  itkNewMacro( Self );
104 
106  itkTypeMacro( CenteredTransformInitializer2, Object );
107 
109  typedef TTransform TransformType;
110  typedef typename TransformType::Pointer TransformPointer;
111 
113  itkStaticConstMacro( InputSpaceDimension, unsigned int,
114  TransformType::InputSpaceDimension );
115  itkStaticConstMacro( OutputSpaceDimension, unsigned int,
116  TransformType::OutputSpaceDimension );
117 
119  typedef TFixedImage FixedImageType;
120  typedef TMovingImage MovingImageType;
121 
122  typedef typename FixedImageType::ConstPointer FixedImagePointer;
123  typedef typename MovingImageType::ConstPointer MovingImagePointer;
124 
127  typedef typename FixedImageMaskType::ConstPointer FixedImageMaskPointer;
128  typedef typename MovingImageMaskType::ConstPointer MovingImageMaskPointer;
129 
131  typedef ImageMomentsCalculator< FixedImageType >
133  typedef ImageMomentsCalculator< MovingImageType >
135 
136  typedef typename FixedImageCalculatorType::Pointer
138  typedef typename MovingImageCalculatorType::Pointer
140 
142  typedef typename TransformType::OffsetType OffsetType;
143 
145  typedef typename TransformType::InputPointType InputPointType;
146 
148  typedef typename TransformType::OutputVectorType OutputVectorType;
149 
151  itkSetObjectMacro( Transform, TransformType );
152 
154  itkSetConstObjectMacro( FixedImage, FixedImageType );
155 
157  itkSetConstObjectMacro( MovingImage, MovingImageType );
158 
160  itkSetConstObjectMacro( FixedImageMask, FixedImageMaskType );
161  itkSetConstObjectMacro( MovingImageMask, MovingImageMaskType );
162 
164  virtual void InitializeTransform();
165 
168  void GeometryOn() { m_UseMoments = false; m_UseOrigins = false; m_UseTop = false; }
169  void MomentsOn() { m_UseMoments = true; m_UseOrigins = false; m_UseTop = false; }
170  void OriginsOn() { m_UseMoments = false; m_UseOrigins = true; m_UseTop = false; }
171  void GeometryTopOn() { m_UseMoments = false; m_UseOrigins = false; m_UseTop = true; }
172 
174  itkGetConstObjectMacro( FixedCalculator, FixedImageCalculatorType );
175  itkGetConstObjectMacro( MovingCalculator, MovingImageCalculatorType );
176 
177 protected:
178 
181 
182  void PrintSelf( std::ostream & os, Indent indent ) const;
183 
184  itkGetObjectMacro( Transform, TransformType );
185 
186 private:
187 
188  CenteredTransformInitializer2( const Self & ); // purposely not implemented
189  void operator=( const Self & ); // purposely not implemented
190 
192 
197 
200  bool m_UseTop;
201 
204 
205 };
206 
207 } // namespace itk
208 
209 #ifndef ITK_MANUAL_INSTANTIATION
210 #include "itkCenteredTransformInitializer2.hxx"
211 #endif
212 
213 #endif /* __itkCenteredTransformInitializer2_h */
itk::CenteredTransformInitializer2::FixedImageType
TFixedImage FixedImageType
Definition: itkCenteredTransformInitializer2.h:119
itk::CenteredTransformInitializer2::FixedImageCalculatorType
ImageMomentsCalculator< FixedImageType > FixedImageCalculatorType
Definition: itkCenteredTransformInitializer2.h:132
itk::CenteredTransformInitializer2::m_UseOrigins
bool m_UseOrigins
Definition: itkCenteredTransformInitializer2.h:199
itk::CenteredTransformInitializer2::m_FixedCalculator
FixedImageCalculatorPointer m_FixedCalculator
Definition: itkCenteredTransformInitializer2.h:202
SmartPointer< Self >
itk::CenteredTransformInitializer2::Superclass
Object Superclass
Definition: itkCenteredTransformInitializer2.h:98
itk::CenteredTransformInitializer2::MovingImageType
TMovingImage MovingImageType
Definition: itkCenteredTransformInitializer2.h:120
itk::CenteredTransformInitializer2::InitializeTransform
virtual void InitializeTransform()
itk::CenteredTransformInitializer2::itkStaticConstMacro
itkStaticConstMacro(InputSpaceDimension, unsigned int, TransformType::InputSpaceDimension)
itk::CenteredTransformInitializer2
CenteredTransformInitializer2 is a helper class intended to initialize the center of rotation and the...
Definition: itkCenteredTransformInitializer2.h:93
itk::CenteredTransformInitializer2::m_MovingImage
MovingImagePointer m_MovingImage
Definition: itkCenteredTransformInitializer2.h:194
itk::CenteredTransformInitializer2::~CenteredTransformInitializer2
~CenteredTransformInitializer2()
Definition: itkCenteredTransformInitializer2.h:180
itk::CenteredTransformInitializer2::FixedImageCalculatorPointer
FixedImageCalculatorType::Pointer FixedImageCalculatorPointer
Definition: itkCenteredTransformInitializer2.h:137
Image
itk::CenteredTransformInitializer2::OriginsOn
void OriginsOn()
Definition: itkCenteredTransformInitializer2.h:170
itk::CenteredTransformInitializer2::MovingImageMaskPointer
MovingImageMaskType::ConstPointer MovingImageMaskPointer
Definition: itkCenteredTransformInitializer2.h:128
itk::CenteredTransformInitializer2::TransformType
TTransform TransformType
Definition: itkCenteredTransformInitializer2.h:106
itk::CenteredTransformInitializer2::m_FixedImage
FixedImagePointer m_FixedImage
Definition: itkCenteredTransformInitializer2.h:193
itk::CenteredTransformInitializer2::Pointer
SmartPointer< Self > Pointer
Definition: itkCenteredTransformInitializer2.h:99
itk::CenteredTransformInitializer2::FixedImagePointer
FixedImageType::ConstPointer FixedImagePointer
Definition: itkCenteredTransformInitializer2.h:122
itk::CenteredTransformInitializer2::m_UseTop
bool m_UseTop
Definition: itkCenteredTransformInitializer2.h:200
itk::CenteredTransformInitializer2::CenteredTransformInitializer2
CenteredTransformInitializer2()
itk::CenteredTransformInitializer2::TransformPointer
TransformType::Pointer TransformPointer
Definition: itkCenteredTransformInitializer2.h:110
itk::CenteredTransformInitializer2::Self
CenteredTransformInitializer2 Self
Definition: itkCenteredTransformInitializer2.h:97
itk::CenteredTransformInitializer2::ConstPointer
SmartPointer< const Self > ConstPointer
Definition: itkCenteredTransformInitializer2.h:100
itk::CenteredTransformInitializer2::itkStaticConstMacro
itkStaticConstMacro(OutputSpaceDimension, unsigned int, TransformType::OutputSpaceDimension)
itk::CenteredTransformInitializer2::MovingImageCalculatorType
ImageMomentsCalculator< MovingImageType > MovingImageCalculatorType
Definition: itkCenteredTransformInitializer2.h:134
itk::CenteredTransformInitializer2::m_FixedImageMask
FixedImageMaskPointer m_FixedImageMask
Definition: itkCenteredTransformInitializer2.h:195
itk::CenteredTransformInitializer2::m_MovingImageMask
MovingImageMaskPointer m_MovingImageMask
Definition: itkCenteredTransformInitializer2.h:196
itk::CenteredTransformInitializer2::CenteredTransformInitializer2
CenteredTransformInitializer2(const Self &)
itk::CenteredTransformInitializer2::MovingImagePointer
MovingImageType::ConstPointer MovingImagePointer
Definition: itkCenteredTransformInitializer2.h:123
itk::CenteredTransformInitializer2::InputPointType
TransformType::InputPointType InputPointType
Definition: itkCenteredTransformInitializer2.h:145
itk::CenteredTransformInitializer2::FixedImageMaskPointer
FixedImageMaskType::ConstPointer FixedImageMaskPointer
Definition: itkCenteredTransformInitializer2.h:127
itk::CenteredTransformInitializer2::MomentsOn
void MomentsOn()
Definition: itkCenteredTransformInitializer2.h:169
itk::CenteredTransformInitializer2::MovingImageCalculatorPointer
MovingImageCalculatorType::Pointer MovingImageCalculatorPointer
Definition: itkCenteredTransformInitializer2.h:139
itk::CenteredTransformInitializer2::OffsetType
TransformType::OffsetType OffsetType
Definition: itkCenteredTransformInitializer2.h:142
itk
Definition: itkAdvancedImageToImageMetric.h:40
itk::CenteredTransformInitializer2::m_UseMoments
bool m_UseMoments
Definition: itkCenteredTransformInitializer2.h:198
itk::CenteredTransformInitializer2::operator=
void operator=(const Self &)
itk::CenteredTransformInitializer2::OutputVectorType
TransformType::OutputVectorType OutputVectorType
Definition: itkCenteredTransformInitializer2.h:148
itk::CenteredTransformInitializer2::GeometryOn
void GeometryOn()
Definition: itkCenteredTransformInitializer2.h:168
itk::CenteredTransformInitializer2::MovingImageMaskType
Image< unsigned char, OutputSpaceDimension > MovingImageMaskType
Definition: itkCenteredTransformInitializer2.h:126
itk::CenteredTransformInitializer2::m_MovingCalculator
MovingImageCalculatorPointer m_MovingCalculator
Definition: itkCenteredTransformInitializer2.h:203
itk::CenteredTransformInitializer2::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const
itk::CenteredTransformInitializer2::m_Transform
TransformPointer m_Transform
Definition: itkCenteredTransformInitializer2.h:191
itk::CenteredTransformInitializer2::GeometryTopOn
void GeometryTopOn()
Definition: itkCenteredTransformInitializer2.h:171
itk::CenteredTransformInitializer2::FixedImageMaskType
Image< unsigned char, InputSpaceDimension > FixedImageMaskType
Definition: itkCenteredTransformInitializer2.h:125


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo