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>
153 TVirtualImage::ImageDimension,
156 TVirtualImage::ImageDimension,
190 itkGetModifiableObjectMacro(FixedTransform, FixedTransformType);
196 itkGetModifiableObjectMacro(MovingTransform, MovingTransformType);
350 #ifndef ITK_MANUAL_INSTANTIATION
351 #include "itkObjectToObjectMetric.hxx"
virtual ~ObjectToObjectMetric()
SmartPointer< Self > Pointer
void SetVirtualDomain(const VirtualSpacingType &spacing, const VirtualOriginType &origin, const VirtualDirectionType &direction, const VirtualRegionType ®ion)
Superclass::ParametersType ParametersType
Transform< TParametersValueType, TVirtualImage::ImageDimension, TMovingDimension > MovingTransformType
void operator=(const Self &)
Superclass::RegionType RegionType
SmartPointer< const Self > ConstPointer
Superclass::ParametersType ParametersType
Superclass::MeasureType MeasureType
MovingTransformType::InputPointType MovingInputPointType
Light weight base class for most itk classes.
bool VerifyNumberOfValidPoints(MeasureType &value, DerivativeType &derivative) const
virtual bool HasLocalSupport() const override
Represent the size (bounds) of a n-dimensional image.
VirtualImageType::PixelType VirtualPixelType
signed long OffsetValueType
VirtualImageType::SizeType VirtualRadiusType
MovingTransformType::ParametersType MovingTransformParametersType
bool TransformPhysicalPointToVirtualIndex(const VirtualPointType &, VirtualIndexType &) const
VirtualSpacingType GetVirtualSpacing() const
Transform< TParametersValueType, TVirtualImage::ImageDimension, TFixedDimension > FixedTransformType
FixedTransformType::Pointer FixedTransformPointer
ObjectToObjectMetric Self
virtual void VerifyDisplacementFieldSizeAndPhysicalSpace()
virtual bool SupportsArbitraryVirtualDomainSamples(void) const =0
Computes similarity between regions of two objects.
virtual void SetParameters(ParametersType ¶ms) override
void TransformVirtualIndexToPhysicalPoint(const VirtualIndexType &, VirtualPointType &) const
VirtualImageType::ConstPointer VirtualImageConstPointer
Base class for all object-to-object similarlity metrics added in ITKv4.
unsigned long SizeValueType
OffsetValueType ComputeParameterOffsetFromVirtualIndex(const VirtualIndexType &index, const NumberOfParametersType &numberOfLocalParameters) const
VirtualPointSetType::Pointer VirtualPointSetPointer
void SetTransform(MovingTransformType *transform)
Superclass::Object ObjectType
FixedTransformType::OutputPointType FixedOutputPointType
VirtualImageType::SpacingType VirtualSpacingType
VirtualImageType::IndexType VirtualIndexType
void PrintSelf(std::ostream &os, Indent indent) const override
FixedTransformType::ParametersType FixedTransformParametersType
const VirtualRegionType & GetVirtualRegion() const
VirtualImageType::RegionType VirtualRegionType
bool IsInsideVirtualDomain(const VirtualPointType &point) const
const MovingDisplacementFieldTransformType * GetMovingDisplacementFieldTransform() const
virtual NumberOfParametersType GetNumberOfLocalParameters() const override
SizeValueType m_NumberOfValidPoints
FixedTransformType::InputPointType FixedInputPointType
Array2D class representing a 2D array with size defined at construction time.
unsigned int NumberOfParametersType
static const DimensionType VirtualDimension
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)...
VirtualOriginType GetVirtualOrigin() const
static const DimensionType MovingDimension
MovingTransformType::JacobianType MovingTransformJacobianType
VirtualDirectionType GetVirtualDirection() const
Standard exception handling object.
Generate a unique, increasing time value.
FixedTransformPointer m_FixedTransform
VirtualImagePointer m_VirtualImage
VirtualImageType::PointType VirtualPointType
const MovingTransformType * GetTransform()
DerivativeType::ValueType DerivativeValueType
DisplacementFieldTransform< CoordinateRepresentationType, itkGetStaticConstMacro(MovingDimension) > MovingDisplacementFieldTransformType
TParametersValueType CoordinateRepresentationType
TParametersValueType InternalComputationValueType
VirtualRegionType::SizeType VirtualSizeType
FixedTransformType::JacobianType JacobianType
VirtualImageType::PointType VirtualOriginType
virtual const ParametersType & GetParameters() const override
virtual MetricCategoryType GetMetricCategory() const override
virtual NumberOfParametersType GetNumberOfParameters() const override
MovingTransformType::OutputPointType MovingOutputPointType
static const DimensionType FixedDimension
Control indentation during Print() invocation.
MovingTransformType::Pointer MovingTransformPointer
PointSet< VirtualPixelType, itkGetStaticConstMacro(VirtualDimension)> VirtualPointSetType
TVirtualImage VirtualImageType
Superclass::DerivativeType DerivativeType
virtual void Initialize(void) override
virtual const TimeStamp & GetVirtualDomainTimeStamp() const
void SetVirtualDomainFromImage(const VirtualImageType *virtualImage)
MovingTransformPointer m_MovingTransform
ObjectToObjectMetricBaseTemplate< TParametersValueType > Superclass
FixedTransformType::JacobianType FixedTransformJacobianType
SizeValueType DimensionType
Templated n-dimensional image class.
Superclass::NumberOfParametersType NumberOfParametersType
Superclass::DerivativeValueType DerivativeValueType
virtual void UpdateTransformParameters(const DerivativeType &derivative, TParametersValueType factor) override
OffsetValueType ComputeParameterOffsetFromVirtualPoint(const VirtualPointType &point, const NumberOfParametersType &numberOfLocalParameters) const
VirtualImageType::Pointer VirtualImagePointer
bool m_UserHasSetVirtualDomain
Superclass::GradientSourceType GradientSourceType