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,
182 const ParametersType & parameters ) const;
186 const ParametersType & parameters,
187 DerivativeType & derivative ) const;
191 const TransformParametersType & parameters ) const;
195 const ParametersType & parameters,
197 DerivativeType & derivative ) const;
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 );
271 itkSetClampMacro( DilationRadiusMultiplier, CoordinateRepresentationType,
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::TransformPointer TransformPointer