ITK
4.9.0
Insight Segmentation and Registration Toolkit
|
#include <itkObjectToObjectMetric.h>
Computes similarity between regions of two objects.
This class is templated over the dimensionality of the two input objects. This is the abstract templated base class for a hierarchy of similarity metrics that may, in derived classes, operate on meshes, images, etc. This class computes a value that measures the similarity between the two objects.
Derived classes must provide implementations for: GetValue GetDerivative GetValueAndDerivative SupportsArbitraryVirtualDomainSamples
Similarity is evaluated using fixed and moving transforms. Both transforms are initialized to an IdentityTransform, and can be set by the user using SetFixedTranform() and SetMovingTransform().
Virtual Domain
This class uses a virtual reference space. This space defines the resolution at which the evaluation is performed, as well as the physical coordinate system. This is useful for unbiased registration. The virtual domain is stored in the m_VirtualDomain member, but this is subject to change so the convenience methods GetVirtualSpacing(), GetVirtualDirection() and GetVirtualOrigin() should be used whenever possible to retrieve virtual domain information. The region over which metric evaluation is performed is taken from the virtual image buffered region.
The user can define a virtual domain by calling either SetVirtualDomain
or SetVirtualDomainFromImage
. See these methods for details. Derived classes may automatically assign a virtual domain if the user has not assigned one by initialization time.
If the virtual domain is left undefined by the user and by derived classes, then unit or zero values are returned for GetVirtualSpacing(), GetVirtualDirection() and GetVirtualOrigin(), as appropriate. The virtual region is left undefined and an attempt to retrieve it via GetVirtualRegion() will generate an exception. The m_VirtualImage member will be ITK_NULLPTR.
During evaluation, derived classes should verify that points are within the virtual domain and thus valid, as appropriate for the needs of the metric. When points are deemed invalid the number of valid points returned by GetNumberOfValidPoints() should reflect this.
Definition at line 89 of file itkObjectToObjectMetric.h.
Static Public Attributes | |
static const DimensionType | FixedDimension = TFixedDimension |
static const DimensionType | MovingDimension = TMovingDimension |
static const DimensionType | VirtualDimension = TVirtualImage::ImageDimension |
Protected Attributes | |
FixedTransformPointer | m_FixedTransform |
MovingTransformPointer | m_MovingTransform |
SizeValueType | m_NumberOfValidPoints |
bool | m_UserHasSetVirtualDomain |
VirtualImagePointer | m_VirtualImage |
Protected Attributes inherited from itk::ObjectToObjectMetricBaseTemplate< TParametersValueType > | |
ObjectConstPointer | m_FixedObject |
GradientSourceType | m_GradientSource |
ObjectConstPointer | m_MovingObject |
MeasureType | m_Value |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
Private Member Functions | |
ObjectToObjectMetric (const Self &) ITK_DELETE_FUNCTION | |
void | operator= (const Self &) ITK_DELETE_FUNCTION |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
typedef SmartPointer<const Self> itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::ConstPointer |
Definition at line 97 of file itkObjectToObjectMetric.h.
typedef TParametersValueType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::CoordinateRepresentationType |
Type used for representing object components
Definition at line 100 of file itkObjectToObjectMetric.h.
typedef Superclass::DerivativeType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::DerivativeType |
Type of the derivative.
Definition at line 115 of file itkObjectToObjectMetric.h.
typedef Superclass::DerivativeValueType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::DerivativeValueType |
Definition at line 116 of file itkObjectToObjectMetric.h.
typedef SizeValueType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::DimensionType |
Dimension type
Definition at line 125 of file itkObjectToObjectMetric.h.
typedef FixedTransformType::InputPointType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::FixedInputPointType |
Definition at line 160 of file itkObjectToObjectMetric.h.
typedef FixedTransformType::OutputPointType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::FixedOutputPointType |
Definition at line 161 of file itkObjectToObjectMetric.h.
typedef FixedTransformType::JacobianType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::FixedTransformJacobianType |
Definition at line 171 of file itkObjectToObjectMetric.h.
typedef FixedTransformType::ParametersType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::FixedTransformParametersType |
Definition at line 162 of file itkObjectToObjectMetric.h.
typedef FixedTransformType::Pointer itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::FixedTransformPointer |
Definition at line 159 of file itkObjectToObjectMetric.h.
typedef Transform<TParametersValueType, TVirtualImage::ImageDimension, TFixedDimension> itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::FixedTransformType |
Definition at line 157 of file itkObjectToObjectMetric.h.
typedef Superclass::GradientSourceType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::GradientSourceType |
Definition at line 122 of file itkObjectToObjectMetric.h.
typedef TParametersValueType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::InternalComputationValueType |
Type for internal computations
Definition at line 106 of file itkObjectToObjectMetric.h.
typedef FixedTransformType::JacobianType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::JacobianType |
Jacobian type. This is the same for all transforms
Definition at line 170 of file itkObjectToObjectMetric.h.
typedef Superclass::MeasureType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::MeasureType |
Type of the measure.
Definition at line 109 of file itkObjectToObjectMetric.h.
typedef Superclass::MetricCategoryType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::MetricCategoryType |
Definition at line 293 of file itkObjectToObjectMetric.h.
typedef DisplacementFieldTransform<CoordinateRepresentationType, itkGetStaticConstMacro( MovingDimension ) > itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::MovingDisplacementFieldTransformType |
DisplacementFieldTransform types for working with local-support transforms
Definition at line 175 of file itkObjectToObjectMetric.h.
typedef MovingTransformType::InputPointType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::MovingInputPointType |
Definition at line 165 of file itkObjectToObjectMetric.h.
typedef MovingTransformType::OutputPointType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::MovingOutputPointType |
Definition at line 166 of file itkObjectToObjectMetric.h.
typedef MovingTransformType::JacobianType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::MovingTransformJacobianType |
Definition at line 172 of file itkObjectToObjectMetric.h.
typedef MovingTransformType::ParametersType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::MovingTransformParametersType |
Definition at line 167 of file itkObjectToObjectMetric.h.
typedef MovingTransformType::Pointer itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::MovingTransformPointer |
Definition at line 164 of file itkObjectToObjectMetric.h.
typedef Transform<TParametersValueType, TVirtualImage::ImageDimension, TMovingDimension> itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::MovingTransformType |
Type of the Transform Base classes
Definition at line 154 of file itkObjectToObjectMetric.h.
typedef Superclass::NumberOfParametersType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::NumberOfParametersType |
Definition at line 120 of file itkObjectToObjectMetric.h.
typedef Superclass::Object itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::ObjectType |
Type of object.
Definition at line 112 of file itkObjectToObjectMetric.h.
typedef Superclass::ParametersType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::ParametersType |
Type of the parameters.
Definition at line 119 of file itkObjectToObjectMetric.h.
typedef SmartPointer<Self> itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::Pointer |
Definition at line 96 of file itkObjectToObjectMetric.h.
typedef ObjectToObjectMetric itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::Self |
Standard class typedefs.
Definition at line 94 of file itkObjectToObjectMetric.h.
typedef ObjectToObjectMetricBaseTemplate<TParametersValueType> itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::Superclass |
Definition at line 95 of file itkObjectToObjectMetric.h.
typedef VirtualImageType::DirectionType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::VirtualDirectionType |
Definition at line 143 of file itkObjectToObjectMetric.h.
typedef VirtualImageType::ConstPointer itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::VirtualImageConstPointer |
Definition at line 136 of file itkObjectToObjectMetric.h.
typedef VirtualImageType::Pointer itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::VirtualImagePointer |
Definition at line 135 of file itkObjectToObjectMetric.h.
typedef TVirtualImage itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::VirtualImageType |
Types for the virtual domain
Definition at line 134 of file itkObjectToObjectMetric.h.
typedef VirtualImageType::IndexType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::VirtualIndexType |
Definition at line 145 of file itkObjectToObjectMetric.h.
typedef VirtualImageType::PointType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::VirtualOriginType |
Definition at line 141 of file itkObjectToObjectMetric.h.
typedef VirtualImageType::PixelType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::VirtualPixelType |
Definition at line 137 of file itkObjectToObjectMetric.h.
typedef VirtualPointSetType::Pointer itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::VirtualPointSetPointer |
Definition at line 149 of file itkObjectToObjectMetric.h.
typedef PointSet<VirtualPixelType, itkGetStaticConstMacro(VirtualDimension)> itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::VirtualPointSetType |
Point set in the virtual domain
Definition at line 148 of file itkObjectToObjectMetric.h.
typedef VirtualImageType::PointType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::VirtualPointType |
Definition at line 142 of file itkObjectToObjectMetric.h.
typedef VirtualImageType::SizeType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::VirtualRadiusType |
Definition at line 144 of file itkObjectToObjectMetric.h.
typedef VirtualImageType::RegionType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::VirtualRegionType |
Definition at line 138 of file itkObjectToObjectMetric.h.
typedef VirtualRegionType::SizeType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::VirtualSizeType |
Definition at line 139 of file itkObjectToObjectMetric.h.
typedef VirtualImageType::SpacingType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::VirtualSpacingType |
Definition at line 140 of file itkObjectToObjectMetric.h.
|
protected |
|
protectedvirtual |
|
private |
OffsetValueType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::ComputeParameterOffsetFromVirtualIndex | ( | const VirtualIndexType & | index, |
const NumberOfParametersType & | numberOfLocalParameters | ||
) | const |
Computes an offset for accessing parameter data from a virtual domain index. Relevant for metrics with local-support transforms, to access parameter or derivative memory that is stored linearly in a 1D array. The result is the offset (1D array index) to the first of N parameters corresponding to the given virtual index, where N is the number of local parameters.
index | the virtual index to convert |
numberOfLocalParameters | corresponding to the transform |
OffsetValueType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::ComputeParameterOffsetFromVirtualPoint | ( | const VirtualPointType & | point, |
const NumberOfParametersType & | numberOfLocalParameters | ||
) | const |
Computes an offset for accessing parameter data from a virtual domain point. Relevant for metrics with local-support transforms, to access parameter or derivative memory that is stored linearly in a 1D array. The result is the offset (1D array index) to the first of N parameters corresponding to the given virtual index, where N is the number of local parameters.
point | the virtual point to convert |
numberOfLocalParameters | corresponding to the transform |
|
virtual |
|
inlineoverridevirtual |
Get metric category
Reimplemented from itk::ObjectToObjectMetricBaseTemplate< TParametersValueType >.
Reimplemented in itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >, and itk::ObjectToObjectMultiMetricv4< TFixedDimension, TMovingDimension, TVirtualImage, TInternalComputationValueType >.
Definition at line 296 of file itkObjectToObjectMetric.h.
|
virtual |
Get a pointer to the fixed transform.
|
virtual |
Get a pointer to the moving transform.
|
virtual |
|
protected |
If the moving transform is a DisplacementFieldTransform, return it. If the moving transform is a CompositeTransform, the routine will check if the first (last to be added) transform is a DisplacementFieldTransform, and if so return it. Otherwise, return ITK_NULLPTR.
|
virtual |
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ObjectToObjectMetricBaseTemplate< TParametersValueType >.
Reimplemented in itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::ANTSNeighborhoodCorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::ObjectToObjectMultiMetricv4< TFixedDimension, TMovingDimension, TVirtualImage, TInternalComputationValueType >, itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >, itk::JensenHavrdaCharvatTsallisPointSetToPointSetMetricv4< TPointSet, TInternalComputationValueType >, itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::LabeledPointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::ExpectationBasedPointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, and itk::MeanSquaresImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.
|
overridevirtual |
Methods for working with the metric's 'active' transform, e.g. the transform being optimized in the case of registration. Some of these are used in non-metric classes, e.g. optimizers.
Implements itk::ObjectToObjectMetricBaseTemplate< TParametersValueType >.
|
overridevirtual |
Methods for working with the metric's 'active' transform, e.g. the transform being optimized in the case of registration. Some of these are used in non-metric classes, e.g. optimizers.
Implements itk::ObjectToObjectMetricBaseTemplate< TParametersValueType >.
|
virtual |
Get the number of valid points after a call to evaluate the metric.
Reimplemented in itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.
|
overridevirtual |
Get a const reference to the active transform's parameters
Implements itk::ObjectToObjectMetricBaseTemplate< TParametersValueType >.
const MovingTransformType* itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::GetTransform | ( | ) |
Get the moving transform using a backwards-compatible name
VirtualDirectionType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::GetVirtualDirection | ( | ) | const |
Accessor for virtual domain direction. Returns unit direction if a virtual domain is undefined.
|
virtual |
Return a timestamp relating to the virtual domain. This returns the greater of the metric timestamp and the virtual domain image timestamp. This allows us to capture if the virtual domain image is changed by the user after being assigned to the metric.
|
virtual |
VirtualOriginType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::GetVirtualOrigin | ( | ) | const |
Accessor for virtual domain origin. Returns zero origin if a virtual domain is undefined.
const VirtualRegionType& itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::GetVirtualRegion | ( | ) | const |
Return the virtual domain region, which is retrieved from the m_VirtualImage buffered region.
VirtualSpacingType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::GetVirtualSpacing | ( | ) | const |
Accessors for the virtual domain spacing. Returns unit spacing if a virtual domain is undefined.
|
overridevirtual |
Return whether the metric's active transform has local support, e.g. whether it is dense/high-dimensional.
Implements itk::ObjectToObjectMetricBaseTemplate< TParametersValueType >.
|
overridevirtual |
Initialize the Metric by making sure that all the components are present and plugged together correctly, and initializing internal variables as required. This is for one-time initialization, e.g. before starting an optimization process.
Implements itk::ObjectToObjectMetricBaseTemplate< TParametersValueType >.
Reimplemented in itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >, itk::ANTSNeighborhoodCorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::ObjectToObjectMultiMetricv4< TFixedDimension, TMovingDimension, TVirtualImage, TInternalComputationValueType >, itk::JensenHavrdaCharvatTsallisPointSetToPointSetMetricv4< TPointSet, TInternalComputationValueType >, itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::ExpectationBasedPointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, and itk::LabeledPointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >.
bool itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::IsInsideVirtualDomain | ( | const VirtualPointType & | point | ) | const |
Determine if a point is within the virtual domain.
bool itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::IsInsideVirtualDomain | ( | const VirtualIndexType & | index | ) | const |
Determine if a point is within the virtual domain.
|
private |
|
overrideprotectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::CostFunctionTemplate< TParametersValueType >.
Reimplemented in itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >.
|
virtual |
Connect the fixed transform.
|
virtual |
Connect the moving transform.
|
overridevirtual |
void itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::SetTransform | ( | MovingTransformType * | transform | ) |
Connect the moving transform using a backwards-compatible name. This assigns the input transform to the moving transform.
void itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::SetVirtualDomain | ( | const VirtualSpacingType & | spacing, |
const VirtualOriginType & | origin, | ||
const VirtualDirectionType & | direction, | ||
const VirtualRegionType & | region | ||
) |
Define the virtual reference space. This space defines the resolution at which the registration is performed as well as the physical coordinate system. Useful for unbiased registration. This method will allocate m_VirtualImage
with the passed information, with the pixel buffer left unallocated. Metric evaluation will be performed within the constraints of the virtual domain depending on implementation in derived classes. A default domain is created during initializaiton in derived classes according to their need.
spacing | spacing |
origin | origin |
direction | direction |
region | region is used to set all image regions. |
void itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TParametersValueType >::SetVirtualDomainFromImage | ( | const VirtualImageType * | virtualImage | ) |
Use a virtual domain image to define the virtual reference space.
|
pure virtual |
Returns a flag. True if arbitrary virtual domain points will always correspond to data points. False if not. For example, point-set metrics return false because only some virtual domain points will correspond to points within the point sets.
Implemented in itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >, and itk::ObjectToObjectMultiMetricv4< TFixedDimension, TMovingDimension, TVirtualImage, TInternalComputationValueType >.
|
protected |
|
protected |
|
overridevirtual |
Update the parameters of the metric's active transform. Typically this call is passed through directly to the transform. factor
is a scalar multiplier for each value in update, and defaults to 1.0 . derivative
must be the proper size, as retrieved from GetNumberOfParameters.
Implements itk::ObjectToObjectMetricBaseTemplate< TParametersValueType >.
|
protectedvirtual |
Verify that virtual domain and displacement field are the same size and in the same physical space.
|
protected |
Check that the number of valid points is above a default minimum (zero). If not, then return false, and assign to 'value' a value indicating insufficient valid points were found during evaluation, and set the derivative to zero. A warning is also output. This functionality is provided as a separate method so derived classes can use it without hardcoding the details.
|
static |
Object dimension accessors
Definition at line 128 of file itkObjectToObjectMetric.h.
|
protected |
Transforms
Definition at line 329 of file itkObjectToObjectMetric.h.
|
protected |
Definition at line 330 of file itkObjectToObjectMetric.h.
|
mutableprotected |
Store the number of points used during most recent value and derivative calculation.
Definition at line 341 of file itkObjectToObjectMetric.h.
|
protected |
Flag that is set when user provides a virtual domain, either via SetVirtualDomain() or SetVirtualDomainFromImage().
Definition at line 336 of file itkObjectToObjectMetric.h.
|
protected |
Definition at line 332 of file itkObjectToObjectMetric.h.
|
static |
Object dimension accessors
Definition at line 129 of file itkObjectToObjectMetric.h.
|
static |
Object dimension accessors
Definition at line 130 of file itkObjectToObjectMetric.h.