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,
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;
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
SizeValueType m_NumberOfValidPoints
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
Superclass::IndexType IndexType
VirtualImageType::DirectionType VirtualDirectionType
Superclass::DerivativeType DerivativeType
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
MovingTransformType::JacobianType MovingTransformJacobianType
Standard exception handling object.
Generate a unique, increasing time value.
FixedTransformPointer m_FixedTransform
VirtualImagePointer m_VirtualImage
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
Superclass::DerivativeType DerivativeType
MovingTransformPointer m_MovingTransform
ObjectToObjectMetricBaseTemplate< TParametersValueType > Superclass
FixedTransformType::JacobianType FixedTransformJacobianType
SizeValueType DimensionType
Templated n-dimensional image class.
Superclass::NumberOfParametersType NumberOfParametersType
Superclass::DerivativeValueType DerivativeValueType
VirtualImageType::Pointer VirtualImagePointer
bool m_UserHasSetVirtualDomain
Superclass::GradientSourceType GradientSourceType