18 #ifndef itkObjectToObjectMetric_h
19 #define itkObjectToObjectMetric_h
87 template<
unsigned int TFixedDimension,
unsigned int TMovingDimension,
typename TVirtualImage = Image<
double, TFixedDimension>,
88 typename TParametersValueType=
double>
130 itkStaticConstMacro(VirtualDimension,
DimensionType, TVirtualImage::ImageDimension);
153 TVirtualImage::ImageDimension,
156 TVirtualImage::ImageDimension,
177 virtual void Initialize(
void) ITK_OVERRIDE;
181 virtual
void SetParameters(
ParametersType & params ) ITK_OVERRIDE;
182 virtual const
ParametersType & GetParameters() const ITK_OVERRIDE;
183 virtual
bool HasLocalSupport() const ITK_OVERRIDE;
184 virtual
void UpdateTransformParameters( const
DerivativeType & derivative, TParametersValueType factor) ITK_OVERRIDE;
190 itkGetModifiableObjectMacro(FixedTransform, FixedTransformType);
196 itkGetModifiableObjectMacro(MovingTransform, MovingTransformType);
200 void SetTransform( MovingTransformType* transform );
203 const MovingTransformType * GetTransform();
236 virtual
bool SupportsArbitraryVirtualDomainSamples(
void ) const = 0;
243 virtual const
TimeStamp& GetVirtualDomainTimeStamp() const;
296 virtual MetricCategoryType GetMetricCategory() const ITK_OVERRIDE
298 return Superclass::OBJECT_METRIC;
305 void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
309 virtual
void VerifyDisplacementFieldSizeAndPhysicalSpace();
311 bool TransformPhysicalPointToVirtualIndex( const VirtualPointType &, VirtualIndexType & ) const;
312 void TransformVirtualIndexToPhysicalPoint( const VirtualIndexType &, VirtualPointType & ) const;
318 const MovingDisplacementFieldTransformType * GetMovingDisplacementFieldTransform() const;
326 bool VerifyNumberOfValidPoints( MeasureType & value, DerivativeType & derivative ) const;
336 bool m_UserHasSetVirtualDomain;
349 #ifndef ITK_MANUAL_INSTANTIATION
350 #include "itkObjectToObjectMetric.hxx"
SmartPointer< Self > Pointer
Superclass::ParametersType ParametersType
Transform< TParametersValueType, TVirtualImage::ImageDimension, TMovingDimension > MovingTransformType
Superclass::RegionType RegionType
SmartPointer< const Self > ConstPointer
MovingTransformType::InputPointType MovingInputPointType
Light weight base class for most itk classes.
Represent the size (bounds) of a n-dimensional image.
VirtualImageType::PixelType VirtualPixelType
signed long OffsetValueType
VirtualImageType::SizeType VirtualRadiusType
MovingTransformType::ParametersType MovingTransformParametersType
Transform< TParametersValueType, TVirtualImage::ImageDimension, TFixedDimension > FixedTransformType
FixedTransformType::Pointer FixedTransformPointer
ObjectToObjectMetric Self
Computes similarity between regions of two objects.
VirtualImageType::ConstPointer VirtualImageConstPointer
Base class for all object-to-object similarlity metrics added in ITKv4.
unsigned long SizeValueType
VirtualPointSetType::Pointer VirtualPointSetPointer
Superclass::Object ObjectType
FixedTransformType::OutputPointType FixedOutputPointType
VirtualImageType::SpacingType VirtualSpacingType
VirtualImageType::IndexType VirtualIndexType
FixedTransformType::ParametersType FixedTransformParametersType
VirtualImageType::RegionType VirtualRegionType
FixedTransformType::InputPointType FixedInputPointType
Array2D class representing a 2D array with size defined at construction time.
unsigned int NumberOfParametersType
Class to hold and manage different parameter types used during optimization.
Superclass::MeasureType MeasureType
VirtualImageType::DirectionType VirtualDirectionType
Superclass::DerivativeType DerivativeType
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
MovingTransformType::JacobianType MovingTransformJacobianType
Generate a unique, increasing time value.
VirtualImageType::PointType VirtualPointType
DisplacementFieldTransform< CoordinateRepresentationType, itkGetStaticConstMacro(MovingDimension) > MovingDisplacementFieldTransformType
TParametersValueType CoordinateRepresentationType
TParametersValueType InternalComputationValueType
VirtualRegionType::SizeType VirtualSizeType
FixedTransformType::JacobianType JacobianType
VirtualImageType::PointType VirtualOriginType
MovingTransformType::OutputPointType MovingOutputPointType
Control indentation during Print() invocation.
MovingTransformType::Pointer MovingTransformPointer
PointSet< VirtualPixelType, itkGetStaticConstMacro(VirtualDimension)> VirtualPointSetType
TVirtualImage VirtualImageType
ImageBaseType::SizeType SizeType
ObjectToObjectMetricBaseTemplate< TParametersValueType > Superclass
FixedTransformType::JacobianType FixedTransformJacobianType
SizeValueType DimensionType
Templated n-dimensional image class.
Superclass::NumberOfParametersType NumberOfParametersType
Superclass::DerivativeValueType DerivativeValueType
VirtualImageType::Pointer VirtualImagePointer
Superclass::GradientSourceType GradientSourceType