14 #ifndef __itkTransformRigidityPenaltyTerm_h
15 #define __itkTransformRigidityPenaltyTerm_h
24 #include "itkNeighborhood.h"
25 #include "itkImageRegionIterator.h"
26 #include "itkNeighborhoodOperatorImageFilter.h"
27 #include "itkNeighborhoodIterator.h"
30 #include "itkGrayscaleDilateImageFilter.h"
31 #include "itkBinaryBallStructuringElement.h"
32 #include "itkImageRegionIterator.h"
66 template<
class TFixedImage,
class TScalarType >
137 virtual void Initialize(
void ) throw ( ExceptionObject );
151 typedef Neighborhood< ScalarType,
155 typedef NeighborhoodOperatorImageFilter<
156 CoefficientImageType, CoefficientImageType >
NOIFType;
168 typedef BinaryBallStructuringElement<
172 typedef GrayscaleDilateImageFilter<
173 RigidityImageType, RigidityImageType,
208 itkSetClampMacro( LinearityConditionWeight, ScalarType,
209 0.0, NumericTraits< ScalarType >::
max() );
210 itkGetMacro( LinearityConditionWeight, ScalarType );
213 itkSetClampMacro( OrthonormalityConditionWeight, ScalarType,
214 0.0, NumericTraits< ScalarType >::max() );
215 itkGetMacro( OrthonormalityConditionWeight, ScalarType );
218 itkSetClampMacro( PropernessConditionWeight, ScalarType,
219 0.0, NumericTraits< ScalarType >::max() );
220 itkGetMacro( PropernessConditionWeight, ScalarType );
223 itkSetMacro( UseLinearityCondition,
bool );
226 itkSetMacro( UseOrthonormalityCondition,
bool );
229 itkSetMacro( UsePropernessCondition,
bool );
234 itkSetMacro( CalculateLinearityCondition,
bool );
239 itkSetMacro( CalculateOrthonormalityCondition,
bool );
244 itkSetMacro( CalculatePropernessCondition,
bool );
247 itkGetConstReferenceMacro( LinearityConditionValue,
MeasureType );
250 itkGetConstReferenceMacro( OrthonormalityConditionValue, MeasureType );
253 itkGetConstReferenceMacro( PropernessConditionValue, MeasureType );
256 itkGetConstReferenceMacro( LinearityConditionGradientMagnitude, MeasureType );
259 itkGetConstReferenceMacro( OrthonormalityConditionGradientMagnitude, MeasureType );
262 itkGetConstReferenceMacro( PropernessConditionGradientMagnitude, MeasureType );
272 0.1, NumericTraits< CoordinateRepresentationType >::max() );
275 itkSetObjectMacro( FixedRigidityImage, RigidityImageType );
278 itkSetObjectMacro( MovingRigidityImage, RigidityImageType );
281 itkSetMacro( UseFixedRigidityImage,
bool );
284 itkSetMacro( UseMovingRigidityImage,
bool );
294 virtual ~TransformRigidityPenaltyTerm() {}
297 void PrintSelf( std::ostream & os, Indent indent )
const;
319 const std::vector< NeighborhoodType > & Operators )
const;
360 #ifndef ITK_MANUAL_INSTANTIATION
361 #include "itkTransformRigidityPenaltyTerm.hxx"
364 #endif // #ifndef __itkTransformRigidityPenaltyTerm_h
Superclass::MeasureType MeasureType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::TransformParametersType TransformParametersType
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics...
Superclass::ParametersType ParametersType
TransformType::ScalarType ScalarType
Superclass::TransformPointer TransformPointer
SmartPointer< Self > Pointer
Superclass::DerivativeType DerivativeType