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"
70template<
class TFixedImage,
class TScalarType >
163 typedef NeighborhoodOperatorImageFilter<
166 typedef typename NeighborhoodIteratorType::RadiusType
RadiusType;
176 typedef BinaryBallStructuringElement<
180 typedef GrayscaleDilateImageFilter<
216 itkSetClampMacro( LinearityConditionWeight,
ScalarType,
217 0.0, NumericTraits< ScalarType >::max() );
221 itkSetClampMacro( OrthonormalityConditionWeight,
ScalarType,
222 0.0, NumericTraits< ScalarType >::max() );
226 itkSetClampMacro( PropernessConditionWeight,
ScalarType,
227 0.0, NumericTraits< ScalarType >::max() );
231 itkSetMacro( UseLinearityCondition,
bool );
234 itkSetMacro( UseOrthonormalityCondition,
bool );
237 itkSetMacro( UsePropernessCondition,
bool );
242 itkSetMacro( CalculateLinearityCondition,
bool );
247 itkSetMacro( CalculateOrthonormalityCondition,
bool );
252 itkSetMacro( CalculatePropernessCondition,
bool );
255 itkGetConstReferenceMacro( LinearityConditionValue,
MeasureType );
258 itkGetConstReferenceMacro( OrthonormalityConditionValue,
MeasureType );
261 itkGetConstReferenceMacro( PropernessConditionValue,
MeasureType );
264 itkGetConstReferenceMacro( LinearityConditionGradientMagnitude,
MeasureType );
267 itkGetConstReferenceMacro( OrthonormalityConditionGradientMagnitude,
MeasureType );
270 itkGetConstReferenceMacro( PropernessConditionGradientMagnitude,
MeasureType );
280 0.1, NumericTraits< CoordinateRepresentationType >::max() );
289 itkSetMacro( UseFixedRigidityImage,
bool );
292 itkSetMacro( UseMovingRigidityImage,
bool );
305 void PrintSelf( std::ostream & os, Indent indent )
const override;
327 const std::vector< NeighborhoodType > & Operators )
const;
368#ifndef ITK_MANUAL_INSTANTIATION
369#include "itkTransformRigidityPenaltyTerm.hxx"
Superclass::TransformPointer TransformPointer