18 #ifndef __itkTransformRigidityPenaltyTerm_h 19 #define __itkTransformRigidityPenaltyTerm_h 28 #include "itkNeighborhood.h" 29 #include "itkImageRegionIterator.h" 30 #include "itkNeighborhoodOperatorImageFilter.h" 31 #include "itkNeighborhoodIterator.h" 34 #include "itkGrayscaleDilateImageFilter.h" 35 #include "itkBinaryBallStructuringElement.h" 36 #include "itkImageRegionIterator.h" 70 template<
class TFixedImage,
class TScalarType >
141 virtual void Initialize(
void ) throw ( ExceptionObject );
155 typedef Neighborhood< ScalarType,
159 typedef NeighborhoodOperatorImageFilter<
160 CoefficientImageType, CoefficientImageType >
NOIFType;
172 typedef BinaryBallStructuringElement<
176 typedef GrayscaleDilateImageFilter<
177 RigidityImageType, RigidityImageType,
186 const ParametersType & parameters ) const;
190 const ParametersType & parameters,
191 DerivativeType & derivative ) const;
195 const TransformParametersType & parameters ) const;
199 const ParametersType & parameters,
201 DerivativeType & derivative ) const;
212 itkSetClampMacro( LinearityConditionWeight, ScalarType,
213 0.0, NumericTraits< ScalarType >::
max() );
214 itkGetMacro( LinearityConditionWeight, ScalarType );
217 itkSetClampMacro( OrthonormalityConditionWeight, ScalarType,
218 0.0, NumericTraits< ScalarType >::max() );
219 itkGetMacro( OrthonormalityConditionWeight, ScalarType );
222 itkSetClampMacro( PropernessConditionWeight, ScalarType,
223 0.0, NumericTraits< ScalarType >::max() );
224 itkGetMacro( PropernessConditionWeight, ScalarType );
227 itkSetMacro( UseLinearityCondition,
bool );
230 itkSetMacro( UseOrthonormalityCondition,
bool );
233 itkSetMacro( UsePropernessCondition,
bool );
238 itkSetMacro( CalculateLinearityCondition,
bool );
243 itkSetMacro( CalculateOrthonormalityCondition,
bool );
248 itkSetMacro( CalculatePropernessCondition,
bool );
251 itkGetConstReferenceMacro( LinearityConditionValue, MeasureType );
254 itkGetConstReferenceMacro( OrthonormalityConditionValue, MeasureType );
257 itkGetConstReferenceMacro( PropernessConditionValue, MeasureType );
260 itkGetConstReferenceMacro( LinearityConditionGradientMagnitude, MeasureType );
263 itkGetConstReferenceMacro( OrthonormalityConditionGradientMagnitude, MeasureType );
266 itkGetConstReferenceMacro( PropernessConditionGradientMagnitude, MeasureType );
275 itkSetClampMacro( DilationRadiusMultiplier, CoordinateRepresentationType,
276 0.1, NumericTraits< CoordinateRepresentationType >::max() );
279 itkSetObjectMacro( FixedRigidityImage, RigidityImageType );
282 itkSetObjectMacro( MovingRigidityImage, RigidityImageType );
285 itkSetMacro( UseFixedRigidityImage,
bool );
288 itkSetMacro( UseMovingRigidityImage,
bool );
298 virtual ~TransformRigidityPenaltyTerm() {}
301 void PrintSelf( std::ostream & os, Indent indent )
const;
323 const std::vector< NeighborhoodType > & Operators )
const;
364 #ifndef ITK_MANUAL_INSTANTIATION 365 #include "itkTransformRigidityPenaltyTerm.hxx" 368 #endif // #ifndef __itkTransformRigidityPenaltyTerm_h
Superclass::TransformPointer TransformPointer