18 #ifndef __itkImageRegistrationMethodv4_h
19 #define __itkImageRegistrationMethodv4_h
87 template<
typename TFixedImage,
typename TMovingImage,
typename TOutputTransform>
102 itkStaticConstMacro( ImageDimension,
unsigned int, TFixedImage::ImageDimension );
125 typedef typename OutputTransformType::ScalarType
RealType;
164 this->SetFixedImage( 0, image );
168 return this->GetFixedImage( 0 );
170 virtual void SetFixedImage(
SizeValueType,
const FixedImageType * );
171 virtual const FixedImageType * GetFixedImage(
SizeValueType )
const;
177 this->SetMovingImage( 0, image );
181 return this->GetMovingImage( 0 );
183 virtual void SetMovingImage(
SizeValueType,
const MovingImageType * );
184 virtual const MovingImageType * GetMovingImage(
SizeValueType )
const;
188 itkSetObjectMacro(
Optimizer, OptimizerType );
189 itkGetObjectMacro(
Optimizer, OptimizerType );
193 itkSetObjectMacro( Metric, MetricType );
194 itkGetObjectMacro( Metric, MetricType );
198 itkSetMacro( MetricSamplingStrategy, MetricSamplingStrategyType );
199 itkGetConstMacro( MetricSamplingStrategy, MetricSamplingStrategyType );
203 void SetMetricSamplingPercentage(
const RealType );
206 itkSetMacro( MetricSamplingPercentagePerLevel, MetricSamplingPercentageArrayType );
207 itkGetConstMacro( MetricSamplingPercentagePerLevel, MetricSamplingPercentageArrayType );
211 itkSetObjectMacro( FixedInitialTransform, InitialTransformType );
212 itkGetConstObjectMacro( FixedInitialTransform, InitialTransformType );
216 itkSetObjectMacro( MovingInitialTransform, InitialTransformType );
217 itkGetConstObjectMacro( MovingInitialTransform, InitialTransformType );
221 void SetTransformParametersAdaptorsPerLevel( TransformParametersAdaptorsContainerType & );
222 const TransformParametersAdaptorsContainerType & GetTransformParametersAdaptorsPerLevel()
const;
241 itkSetMacro( ShrinkFactorsPerLevel, ShrinkFactorsArrayType );
242 itkGetConstMacro( ShrinkFactorsPerLevel, ShrinkFactorsArrayType );
250 itkSetMacro( SmoothingSigmasPerLevel, SmoothingSigmasArrayType );
251 itkGetConstMacro( SmoothingSigmasPerLevel, SmoothingSigmasArrayType );
258 itkSetMacro( SmoothingSigmasAreSpecifiedInPhysicalUnits,
bool );
259 itkGetConstMacro( SmoothingSigmasAreSpecifiedInPhysicalUnits,
bool );
260 itkBooleanMacro( SmoothingSigmasAreSpecifiedInPhysicalUnits );
265 using Superclass::MakeOutput;
275 itkGetConstReferenceMacro( CurrentIteration,
SizeValueType );
278 itkGetConstReferenceMacro( CurrentMetricValue,
RealType );
281 itkGetConstReferenceMacro( CurrentConvergenceValue,
RealType );
284 itkGetConstReferenceMacro( IsConverged,
bool );
286 #ifdef ITKV3_COMPATIBILITY
302 void StartRegistration(
void) { this->Update(); }
308 virtual void PrintSelf( std::ostream & os,
Indent indent )
const;
311 virtual void GenerateData();
314 virtual void InitializeRegistrationAtEachLevel(
const SizeValueType );
317 virtual void SetMetricSamplePoints();
352 void operator=(
const Self & );
356 #ifndef ITK_MANUAL_INSTANTIATION
357 #include "itkImageRegistrationMethodv4.hxx"