ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <itkImageToImageMetricv4.h>
Computes similarity between regions of two images, using two user-supplied transforms, a 'fixed' transform and a 'moving' transform.
Templated over the fixed and moving image types, as well as an optional VirtualImage type to define the virtual domain. The VirtualImage type defaults to TFixedImage.
If the user does not set the virtual domain explicitly, then it is created during the call to Initialize
from the fixed image by copying its information. See ObjectToObjectMetric for more discussion on the virtual domain.
At a minimum, the user must: 1) Set images using SetFixedImage and SetMovingImage. 2) Call Initialize.
Image gradient calculations
Image gradients can be calculated in one of two ways: 1) Using a gradient image filter, by setting Use
[Fixed|Moving]ImageGradientFilter to true. By default this is set as an itkGradientRecursiveGaussianImageFilter, a smoothed gradient filter. A filter uses more memory, because it calculates all gradients at once and stores them in an image. The advantage of pre-calculation is for the fixed image gradients, since they only need be calculated once, and for metrics that need to access image gradients more than once for a particular point. The fixed image gradients are only calculated once when this option is set, during Initialize
. 2) Otherwise, an image gradient calculator based on ImageFunction is used. By default the CentralDifferenceImageFunction is used. This calculation is not smoothed and gives different results than GradientRecursiveGaussianImageFilter. The advantage is that less memory is used. However for the fixed image, it means needlessly computing the image gradients at each iteration of a registration instead of just computing once at the beginning. The user can supply a different function by calling SetFixedImageGradientCalculator and/or SetMovingImageGradientCalculator.
Both image gradient calculation methods are threaded. Generally it is not recommended to use different image gradient methods for the fixed and moving images because the methods return different results.
Image Masks
Image masks are supported using SetMovingImageMask or SetFixedImageMask. If the image mask is sparse, see the comments for use of sparse point sets.
Sparse Sampling
Sparse sampling is performed by supplying an arbitrary point list over which to evaluate the metric. It's presumed that the user will be working in terms of the fixed image domain, and thus the point list is expected to be in the fixed domain. Internally, the points are transformed into the virtual domain as needed.
Vector Images
To support vector images, the class must be declared using the VectorImageToImageMetricTraitsv4 class in the template declaration, as described above. Derived classes must provide special handling for vector pixel types. MeanSquaresImageToImageMetricv4 can be used as an example.
Threading
This class is threaded. Threading is handled by friend classes ImageToImageMetricv4GetValueAndDerivativeThreaderBase and ImageToImageMetricv4GetValueAndDerivativeThreader. Dense and sparse evaluation are handled by template specialization of the ImageToImageMetricv4GetValueAndDerivativeThreader::ThreadedExecution method, in order to iterate over either all points in the virtual space in the case of dense evaluation, or a list of points in the sparse case.
Methods and members of ImageToImageMetricv4 are accessed by the threading class using its m_Associate member, which points to the containing instance of ImageToImageMetricv4.
Pre- and post-processing for threaded operation is handled in ImageToImageMetricv4GetValueAndDerivativeThreaderBase::BeforeThreadedExecution, and ImageToImageMetricv4GetValueAndDerivativeThreaderBase::AfterThreadedExecution, respectively.
Derived classes:
The GetValue method may be overridden to provide better-optimized or otherwise different behavior as needed. Otherwise, the m_ComputeDerivative member should be checked to avoid computing derivatives when the caller has called GetValue(). See GetComputeDerivative() in this class and in this metric's threader class.
Derived classes must derive a threader class from ImageToImageMetricv4GetValueAndDerivativeThreader, from which a DenseGetValueAndDerivativeThreader and SparseGetValueAndDerivativeThreader must be defined. Then,
must be called in the constructor.
The ProcessPoint method of the derived threader must be overriden to provide the metric-specific evaluation.
To access methods and members within the derived metric class from the derived threader class, the user must cast m_Associate to the type of the derived metric class.
See ImageToImageMetricv4Test
for a clear example of what a derived class must implement and do.
Definition at line 172 of file itkImageToImageMetricv4.h.
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | CoordinateRepresentationType = typename Superclass::CoordinateRepresentationType |
using | DefaultFixedImageGradientCalculator = typename MetricTraits::DefaultFixedImageGradientCalculator |
using | DefaultFixedImageGradientFilter = typename MetricTraits::DefaultFixedImageGradientFilter |
using | DefaultMovingImageGradientCalculator = typename MetricTraits::DefaultMovingImageGradientCalculator |
using | DefaultMovingImageGradientFilter = typename MetricTraits::DefaultMovingImageGradientFilter |
using | DerivativeType = typename Superclass::DerivativeType |
using | DerivativeValueType = typename DerivativeType::ValueType |
using | DimensionType = typename Superclass::DimensionType |
using | FixedGradientPixelType = typename MetricTraits::FixedGradientPixelType |
using | FixedImageComponentGradientType = CovariantVector< typename FixedImageGradientType::ValueType, FixedImageDimension > |
using | FixedImageConstPointer = typename FixedImageType::ConstPointer |
using | FixedImageGradientCalculatorPointer = typename FixedImageGradientCalculatorType::Pointer |
using | FixedImageGradientCalculatorType = typename MetricTraits::FixedImageGradientCalculatorType |
using | FixedImageGradientFilterPointer = typename FixedImageGradientFilterType::Pointer |
using | FixedImageGradientFilterType = typename MetricTraits::FixedImageGradientFilterType |
using | FixedImageGradientImagePointer = typename FixedImageGradientImageType::Pointer |
using | FixedImageGradientImageType = typename MetricTraits::FixedImageGradientImageType |
using | FixedImageGradientType = typename MetricTraits::FixedImageGradientType |
using | FixedImageIndexType = typename FixedImageType::IndexType |
using | FixedImageMaskConstPointer = typename FixedImageMaskType::ConstPointer |
using | FixedImageMaskPointer = typename FixedImageMaskType::Pointer |
using | FixedImageMaskType = SpatialObject< Self::FixedImageDimension > |
using | FixedImagePixelType = typename FixedImageType::PixelType |
using | FixedImagePointer = typename FixedImageType::Pointer |
using | FixedImagePointType = typename FixedImageType::PointType |
using | FixedImageType = TFixedImage |
using | FixedInputPointType = typename Superclass::FixedInputPointType |
using | FixedInterpolatorPointer = typename FixedInterpolatorType::Pointer |
using | FixedInterpolatorType = InterpolateImageFunction< FixedImageType, CoordinateRepresentationType > |
using | FixedOutputPointType = typename Superclass::FixedOutputPointType |
using | FixedPixelType = FixedImagePixelType |
using | FixedRealType = typename MetricTraits::FixedRealType |
using | FixedSampledPointSetConstPointer = typename FixedSampledPointSetType::ConstPointer |
using | FixedSampledPointSetPointer = typename FixedSampledPointSetType::Pointer |
using | FixedSampledPointSetType = PointSet< typename FixedImageType::PixelType, Self::FixedImageDimension > |
using | FixedScalarRealType = typename NumericTraits< FixedRealType >::ScalarRealType |
using | FixedTransformJacobianType = typename Superclass::FixedTransformJacobianType |
using | FixedTransformParametersType = typename Superclass::FixedTransformParametersType |
using | FixedTransformPointer = typename Superclass::FixedTransformPointer |
using | FixedTransformType = typename Superclass::FixedTransformType |
using | GradientSourceType = typename Superclass::GradientSourceType |
using | ImageDimensionType = typename Superclass::DimensionType |
using | InternalComputationValueType = TInternalComputationValueType |
using | JacobianType = typename Superclass::JacobianType |
using | MeasureType = typename Superclass::MeasureType |
using | MetricCategoryType = typename Superclass::MetricCategoryType |
using | MetricTraits = TMetricTraits |
using | MovingGradientPixelType = typename MetricTraits::MovingGradientPixelType |
using | MovingImageComponentGradientType = CovariantVector< typename MovingImageGradientType::ValueType, MovingImageDimension > |
using | MovingImageConstPointer = typename MovingImageType::ConstPointer |
using | MovingImageGradientCalculatorPointer = typename MovingImageGradientCalculatorType::Pointer |
using | MovingImageGradientCalculatorType = typename MetricTraits::MovingImageGradientCalculatorType |
using | MovingImageGradientFilterPointer = typename MovingImageGradientFilterType::Pointer |
using | MovingImageGradientFilterType = typename MetricTraits::MovingImageGradientFilterType |
using | MovingImageGradientImagePointer = typename MovingImageGradientImageType::Pointer |
using | MovingImageGradientImageType = typename MetricTraits::MovingImageGradientImageType |
using | MovingImageGradientType = typename MetricTraits::MovingImageGradientType |
using | MovingImageIndexType = typename MovingImageType::IndexType |
using | MovingImageMaskConstPointer = typename MovingImageMaskType::ConstPointer |
using | MovingImageMaskPointer = typename MovingImageMaskType::Pointer |
using | MovingImageMaskType = SpatialObject< Self::MovingImageDimension > |
using | MovingImagePixelType = typename MovingImageType::PixelType |
using | MovingImagePointer = typename MovingImageType::Pointer |
using | MovingImagePointType = typename MovingImageType::PointType |
using | MovingImageRegionType = typename MovingImageType::RegionType |
using | MovingImageType = TMovingImage |
using | MovingInputPointType = typename Superclass::MovingInputPointType |
using | MovingInterpolatorPointer = typename MovingInterpolatorType::Pointer |
using | MovingInterpolatorType = InterpolateImageFunction< MovingImageType, CoordinateRepresentationType > |
using | MovingOutputPointType = typename Superclass::MovingOutputPointType |
using | MovingPixelType = MovingImagePixelType |
using | MovingRealType = typename MetricTraits::MovingRealType |
using | MovingScalarRealType = typename NumericTraits< MovingRealType >::ScalarRealType |
using | MovingTransformJacobianType = typename Superclass::MovingTransformJacobianType |
using | MovingTransformParametersType = typename Superclass::MovingTransformParametersType |
using | MovingTransformPointer = typename Superclass::MovingTransformPointer |
using | MovingTransformType = typename Superclass::MovingTransformType |
using | NumberOfParametersType = typename Superclass::NumberOfParametersType |
using | ObjectType = typename Superclass::ObjectType |
using | ParametersType = typename Superclass::ParametersType |
using | ParametersValueType = typename Superclass::ParametersValueType |
using | Pointer = SmartPointer< Self > |
using | Self = ImageToImageMetricv4 |
using | Superclass = ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType > |
using | VirtualDirectionType = typename Superclass::VirtualDirectionType |
using | VirtualImageComponentGradientType = CovariantVector< typename VirtualImageGradientType::ValueType, VirtualImageDimension > |
using | VirtualImageGradientType = typename MetricTraits::VirtualImageGradientType |
using | VirtualImagePointer = typename Superclass::VirtualImagePointer |
using | VirtualImageType = typename Superclass::VirtualImageType |
using | VirtualIndexType = typename Superclass::VirtualIndexType |
using | VirtualOriginType = typename Superclass::VirtualPointType |
using | VirtualPixelType = typename Superclass::VirtualPixelType |
using | VirtualPointSetPointer = typename Superclass::VirtualPointSetPointer |
using | VirtualPointSetType = typename Superclass::VirtualPointSetType |
using | VirtualPointType = typename Superclass::VirtualPointType |
using | VirtualRadiusType = typename Superclass::VirtualSizeType |
using | VirtualRegionType = typename Superclass::VirtualRegionType |
using | VirtualSizeType = typename Superclass::VirtualSizeType |
using | VirtualSpacingType = typename Superclass::VirtualSpacingType |
Public Types inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType > | |
using | ConstPointer = SmartPointer< const Self > |
using | CoordinateRepresentationType = TInternalComputationValueType |
using | DerivativeType = typename Superclass::DerivativeType |
using | DerivativeValueType = typename Superclass::DerivativeValueType |
using | DimensionType = SizeValueType |
using | FixedInputPointType = typename FixedTransformType::InputPointType |
using | FixedOutputPointType = typename FixedTransformType::OutputPointType |
using | FixedTransformJacobianType = typename FixedTransformType::JacobianType |
using | FixedTransformParametersType = typename FixedTransformType::ParametersType |
using | FixedTransformPointer = typename FixedTransformType::Pointer |
using | FixedTransformType = Transform< TInternalComputationValueType, TVirtualImage::ImageDimension, TFixedDimension > |
using | GradientSourceType = typename Superclass::GradientSourceType |
using | InternalComputationValueType = TInternalComputationValueType |
using | JacobianType = typename FixedTransformType::JacobianType |
using | MeasureType = typename Superclass::MeasureType |
using | MetricCategoryType = typename Superclass::MetricCategoryType |
using | MovingDisplacementFieldTransformType = DisplacementFieldTransform< CoordinateRepresentationType, Self::MovingDimension > |
using | MovingInputPointType = typename MovingTransformType::InputPointType |
using | MovingOutputPointType = typename MovingTransformType::OutputPointType |
using | MovingTransformJacobianType = typename MovingTransformType::JacobianType |
using | MovingTransformParametersType = typename MovingTransformType::ParametersType |
using | MovingTransformPointer = typename MovingTransformType::Pointer |
using | MovingTransformType = Transform< TInternalComputationValueType, TVirtualImage::ImageDimension, TMovingDimension > |
using | NumberOfParametersType = typename Superclass::NumberOfParametersType |
using | ObjectType = typename Superclass::Object |
using | ParametersType = typename Superclass::ParametersType |
using | Pointer = SmartPointer< Self > |
using | Self = ObjectToObjectMetric |
using | Superclass = ObjectToObjectMetricBaseTemplate< TInternalComputationValueType > |
using | VirtualDirectionType = typename VirtualImageType::DirectionType |
using | VirtualImageConstPointer = typename VirtualImageType::ConstPointer |
using | VirtualImagePointer = typename VirtualImageType::Pointer |
using | VirtualImageType = TVirtualImage |
using | VirtualIndexType = typename VirtualImageType::IndexType |
using | VirtualOriginType = typename VirtualImageType::PointType |
using | VirtualPixelType = typename VirtualImageType::PixelType |
using | VirtualPointSetPointer = typename VirtualPointSetType::Pointer |
using | VirtualPointSetType = PointSet< VirtualPixelType, Self::VirtualDimension > |
using | VirtualPointType = typename VirtualImageType::PointType |
using | VirtualRadiusType = typename VirtualImageType::SizeType |
using | VirtualRegionType = typename VirtualImageType::RegionType |
using | VirtualSizeType = typename VirtualRegionType::SizeType |
using | VirtualSpacingType = typename VirtualImageType::SpacingType |
Public Types inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType > | |
using | ConstPointer = SmartPointer< const Self > |
using | CoordinateRepresentationType = TInternalComputationValueType |
using | DerivativeType = typename Superclass::DerivativeType |
using | DerivativeValueType = typename DerivativeType::ValueType |
enum | GradientSourceType { GRADIENT_SOURCE_FIXED =0, GRADIENT_SOURCE_MOVING, GRADIENT_SOURCE_BOTH } |
using | MeasureType = typename Superclass::MeasureType |
enum | MetricCategoryType { UNKNOWN_METRIC = 0, OBJECT_METRIC = 1, IMAGE_METRIC = 2, POINT_SET_METRIC = 3, MULTI_METRIC = 4 } |
using | NumberOfParametersType = unsigned int |
using | ObjectConstPointer = typename ObjectType::ConstPointer |
using | ObjectType = Object |
using | ParametersType = typename Superclass::ParametersType |
using | ParametersValueType = TInternalComputationValueType |
using | Pointer = SmartPointer< Self > |
using | Self = ObjectToObjectMetricBaseTemplate |
using | Superclass = SingleValuedCostFunctionv4Template< TInternalComputationValueType > |
Public Types inherited from itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType > | |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeType = Array< TInternalComputationValueType > |
using | MeasureType = TInternalComputationValueType |
using | ParametersType = typename Superclass::ParametersType |
using | Pointer = SmartPointer< Self > |
using | Self = SingleValuedCostFunctionv4Template |
using | Superclass = CostFunctionTemplate< TInternalComputationValueType > |
Public Types inherited from itk::CostFunctionTemplate< TInternalComputationValueType > | |
using | ConstPointer = SmartPointer< const Self > |
using | ParametersType = OptimizerParameters< TInternalComputationValueType > |
using | ParametersValueType = TInternalComputationValueType |
using | Pointer = SmartPointer< Self > |
using | Self = CostFunctionTemplate |
using | Superclass = Object |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
Static Public Attributes | |
static constexpr DimensionType | FixedImageDimension = Superclass::FixedDimension |
static constexpr DimensionType | MovingImageDimension = Superclass::MovingDimension |
static constexpr DimensionType | VirtualImageDimension = Superclass::VirtualDimension |
Static Public Attributes inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType > | |
static constexpr DimensionType | FixedDimension |
static constexpr DimensionType | MovingDimension |
static constexpr DimensionType | VirtualDimension |
Private Member Functions | |
void | MapFixedSampledPointSetToVirtual () |
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 () |
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ConstPointer = SmartPointer<const Self> |
Definition at line 182 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::CoordinateRepresentationType = typename Superclass::CoordinateRepresentationType |
Type used for representing parameter values
Definition at line 193 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DefaultFixedImageGradientCalculator = typename MetricTraits::DefaultFixedImageGradientCalculator |
Default image gradient calculator types
Definition at line 343 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DefaultFixedImageGradientFilter = typename MetricTraits::DefaultFixedImageGradientFilter |
Default image gradient filter types
Definition at line 331 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DefaultMovingImageGradientCalculator = typename MetricTraits::DefaultMovingImageGradientCalculator |
Definition at line 344 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DefaultMovingImageGradientFilter = typename MetricTraits::DefaultMovingImageGradientFilter |
Definition at line 332 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DerivativeType = typename Superclass::DerivativeType |
Type of the metric derivative.
Definition at line 350 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DerivativeValueType = typename DerivativeType::ValueType |
Definition at line 351 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DimensionType = typename Superclass::DimensionType |
Dimension type
Definition at line 203 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedGradientPixelType = typename MetricTraits::FixedGradientPixelType |
Definition at line 314 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageComponentGradientType = CovariantVector<typename FixedImageGradientType::ValueType, FixedImageDimension> |
Definition at line 297 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageConstPointer = typename FixedImageType::ConstPointer |
Definition at line 230 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientCalculatorPointer = typename FixedImageGradientCalculatorType::Pointer |
Definition at line 339 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientCalculatorType = typename MetricTraits::FixedImageGradientCalculatorType |
Image gradient calculator types. The TOutput template parameter is chosen to match that of CentralDiffererenceImageFunction.
Definition at line 336 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientFilterPointer = typename FixedImageGradientFilterType::Pointer |
Definition at line 326 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientFilterType = typename MetricTraits::FixedImageGradientFilterType |
Definition at line 323 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientImagePointer = typename FixedImageGradientImageType::Pointer |
Definition at line 320 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientImageType = typename MetricTraits::FixedImageGradientImageType |
Definition at line 317 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 620 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientType = typename MetricTraits::FixedImageGradientType |
Image derivatives types
Definition at line 292 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageIndexType = typename FixedImageType::IndexType |
Definition at line 232 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageMaskConstPointer = typename FixedImageMaskType::ConstPointer |
Definition at line 269 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageMaskPointer = typename FixedImageMaskType::Pointer |
Definition at line 268 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageMaskType = SpatialObject< Self::FixedImageDimension > |
Type for the mask of the fixed image. Only pixels that are "inside" this mask will be considered for the computation of the metric
Definition at line 267 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImagePixelType = typename FixedImageType::PixelType |
Definition at line 227 of file itkImageToImageMetricv4.h.
|
private |
Only floating-point images are currently supported. To support integer images, several small changes must be made
Definition at line 830 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImagePointer = typename FixedImageType::Pointer |
Definition at line 229 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImagePointType = typename FixedImageType::PointType |
Definition at line 231 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageType = TFixedImage |
Image-accessor type alias
Definition at line 226 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedInputPointType = typename Superclass::FixedInputPointType |
Definition at line 209 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedInterpolatorPointer = typename FixedInterpolatorType::Pointer |
Definition at line 288 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedInterpolatorType = InterpolateImageFunction< FixedImageType, CoordinateRepresentationType > |
Type of the Interpolator Base class
Definition at line 285 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedOutputPointType = typename Superclass::FixedOutputPointType |
Definition at line 210 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedPixelType = FixedImagePixelType |
Definition at line 228 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedRealType = typename MetricTraits::FixedRealType |
Type of the filter used to calculate the gradients. Note that RealType is always double (or long double for long double pixel-type).
Definition at line 308 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedSampledPointSetConstPointer = typename FixedSampledPointSetType::ConstPointer |
Definition at line 281 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedSampledPointSetPointer = typename FixedSampledPointSetType::Pointer |
Definition at line 280 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedSampledPointSetType = PointSet<typename FixedImageType::PixelType, Self::FixedImageDimension> |
Type of the point set used for sparse sampling.
Definition at line 279 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedScalarRealType = typename NumericTraits<FixedRealType>::ScalarRealType |
Definition at line 311 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedTransformJacobianType = typename Superclass::FixedTransformJacobianType |
Definition at line 220 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedTransformParametersType = typename Superclass::FixedTransformParametersType |
Definition at line 211 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedTransformPointer = typename Superclass::FixedTransformPointer |
Definition at line 208 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedTransformType = typename Superclass::FixedTransformType |
Transform types from Superclass
Definition at line 207 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GradientSourceType = typename Superclass::GradientSourceType |
Gradient source type
Definition at line 200 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ImageDimensionType = typename Superclass::DimensionType |
Definition at line 204 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::InternalComputationValueType = TInternalComputationValueType |
Type used internally for computations It should be possible to derive the internal computation type from the class object.
Definition at line 190 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JacobianType = typename Superclass::JacobianType |
Definition at line 219 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MeasureType = typename Superclass::MeasureType |
Type of the measure.
Definition at line 347 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MetricCategoryType = typename Superclass::MetricCategoryType |
Definition at line 609 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MetricTraits = TMetricTraits |
Typedef for traits class
Definition at line 258 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingGradientPixelType = typename MetricTraits::MovingGradientPixelType |
Definition at line 315 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageComponentGradientType = CovariantVector<typename MovingImageGradientType::ValueType, MovingImageDimension> |
Definition at line 300 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageConstPointer = typename MovingImageType::ConstPointer |
Definition at line 237 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientCalculatorPointer = typename MovingImageGradientCalculatorType::Pointer |
Definition at line 340 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientCalculatorType = typename MetricTraits::MovingImageGradientCalculatorType |
Definition at line 337 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientFilterPointer = typename MovingImageGradientFilterType::Pointer |
Definition at line 327 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientFilterType = typename MetricTraits::MovingImageGradientFilterType |
Definition at line 324 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientImagePointer = typename MovingImageGradientImageType::Pointer |
Definition at line 321 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientImageType = typename MetricTraits::MovingImageGradientImageType |
Definition at line 318 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 622 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientType = typename MetricTraits::MovingImageGradientType |
Definition at line 293 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageIndexType = typename MovingImageType::IndexType |
Definition at line 240 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageMaskConstPointer = typename MovingImageMaskType::ConstPointer |
Definition at line 275 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageMaskPointer = typename MovingImageMaskType::Pointer |
Definition at line 274 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageMaskType = SpatialObject< Self::MovingImageDimension > |
Type for the mask of the moving image. Only pixels that are "inside" this mask will be considered for the computation of the metric
Definition at line 273 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImagePixelType = typename MovingImageType::PixelType |
Definition at line 234 of file itkImageToImageMetricv4.h.
|
private |
Only floating-point images are currently supported. To support integer images, several small changes must be made
Definition at line 831 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImagePointer = typename MovingImageType::Pointer |
Definition at line 236 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImagePointType = typename MovingImageType::PointType |
Definition at line 238 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageRegionType = typename MovingImageType::RegionType |
Definition at line 239 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageType = TMovingImage |
Definition at line 233 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingInputPointType = typename Superclass::MovingInputPointType |
Definition at line 215 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingInterpolatorPointer = typename MovingInterpolatorType::Pointer |
Definition at line 289 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingInterpolatorType = InterpolateImageFunction< MovingImageType, CoordinateRepresentationType > |
Definition at line 287 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingOutputPointType = typename Superclass::MovingOutputPointType |
Definition at line 216 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingPixelType = MovingImagePixelType |
Definition at line 235 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingRealType = typename MetricTraits::MovingRealType |
Definition at line 309 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingScalarRealType = typename NumericTraits<MovingRealType>::ScalarRealType |
Definition at line 312 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingTransformJacobianType = typename Superclass::MovingTransformJacobianType |
Definition at line 221 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingTransformParametersType = typename Superclass::MovingTransformParametersType |
Definition at line 217 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingTransformPointer = typename Superclass::MovingTransformPointer |
Definition at line 214 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingTransformType = typename Superclass::MovingTransformType |
Definition at line 213 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::NumberOfParametersType = typename Superclass::NumberOfParametersType |
Type to represent the number of parameters that are being optimized at any given iteration of the optimizer.
Definition at line 355 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ObjectType = typename Superclass::ObjectType |
Definition at line 223 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ParametersType = typename Superclass::ParametersType |
Type of the parameters.
Definition at line 196 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ParametersValueType = typename Superclass::ParametersValueType |
Definition at line 197 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::Pointer = SmartPointer<Self> |
Definition at line 181 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::Self = ImageToImageMetricv4 |
Standard class type aliases.
Definition at line 179 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::Superclass = ObjectToObjectMetric<TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType> |
Definition at line 180 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualDirectionType = typename Superclass::VirtualDirectionType |
Definition at line 251 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualImageComponentGradientType = CovariantVector<typename VirtualImageGradientType::ValueType, VirtualImageDimension> |
Definition at line 303 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualImageGradientType = typename MetricTraits::VirtualImageGradientType |
Definition at line 294 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualImagePointer = typename Superclass::VirtualImagePointer |
Definition at line 244 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualImageType = typename Superclass::VirtualImageType |
Types for the virtual domain
Definition at line 243 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualIndexType = typename Superclass::VirtualIndexType |
Definition at line 253 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualOriginType = typename Superclass::VirtualPointType |
Definition at line 249 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualPixelType = typename Superclass::VirtualPixelType |
Definition at line 245 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualPointSetPointer = typename Superclass::VirtualPointSetPointer |
Definition at line 255 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualPointSetType = typename Superclass::VirtualPointSetType |
Definition at line 254 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualPointType = typename Superclass::VirtualPointType |
Definition at line 250 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualRadiusType = typename Superclass::VirtualSizeType |
Definition at line 252 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualRegionType = typename Superclass::VirtualRegionType |
Definition at line 246 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualSizeType = typename Superclass::VirtualSizeType |
Definition at line 247 of file itkImageToImageMetricv4.h.
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualSpacingType = typename Superclass::VirtualSpacingType |
Definition at line 248 of file itkImageToImageMetricv4.h.
|
protected |
|
overrideprotecteddefault |
|
protectedvirtual |
Compute image derivatives for a Fixed point.
|
protectedvirtual |
Computes the gradients of the fixed image, using the GradientFilter, assigning the output to to m_FixedImageGradientImage.
|
protectedvirtual |
Compute image derivatives for a moving point.
|
protectedvirtual |
Computes the gradients of the moving image, using the GradientFilter, assigning the output to to m_MovingImageGradientImage.
|
inlinevirtual |
Finalize the per-thread components for computing metric. Some threads can accumulate their data as the thread finishes rather than waiting for all threads to finish before the accumulation occurs.
Reimplemented in itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.
Definition at line 532 of file itkImageToImageMetricv4.h.
|
protectedvirtual |
Get accessor for flag to calculate derivative.
|
overridevirtual |
This method returns the derivative based on the current transformation(s).
Implements itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.
|
virtual |
|
virtual |
Set/Get gradient calculators
|
virtual |
Set/Get the gradient filter
|
virtual |
|
virtual |
Set/Get the fixed image mask.
|
virtual |
|
virtual |
Set/Get the fixed image domain sampling point set See main documentation regarding using fixed vs virtual domain for the point set.
|
virtual |
Set/Get the floating point resolution used optionally by the derivatives. If this is set, for example to 1e5, then the derivative will have precision up to 5 points beyond the decimal point. And precision beyond that will be truncated.
|
virtual |
Set number of work units to use. This the maximum number of work units to use when multithreaded. The actual number of work units used (may be less than this value) can be obtained with GetNumberOfWorkUnitsUsed
.
|
inlineoverridevirtual |
Get metric category
Reimplemented from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.
Definition at line 612 of file itkImageToImageMetricv4.h.
|
virtual |
Set/Get gradient calculators
|
virtual |
Set/Get the gradient filter
|
virtual |
Get Fixed Gradient Image.
|
virtual |
Get a pointer to the fixed interpolator.
|
virtual |
Set/Get gradient calculators
|
virtual |
Set/Get the gradient filter
|
virtual |
Get Moving Gradient Image.
|
virtual |
Get a pointer to the Moving interpolator.
|
virtual |
Get/Set the Moving Image.
|
virtual |
Set/Get gradient calculators
|
virtual |
Set/Get the gradient filter
|
virtual |
|
virtual |
Set/Get the moving image mask.
|
virtual |
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >.
Reimplemented in itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::ANTSNeighborhoodCorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, and itk::MeanSquaresImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.
SizeValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetNumberOfDomainPoints | ( | ) | const |
Get the number of points in the domain used to evaluate the metric. This will differ depending on whether a sampled point set or dense sampling is used, and will be greater than or equal to GetNumberOfValidPoints().
|
virtual |
Get the number of sampled fixed sampled points that are deemed invalid during conversion to virtual domain in Initialize(). For informational purposes.
|
inlineoverridevirtual |
Get number of valid points from most recent update
Reimplemented from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >.
Definition at line 541 of file itkImageToImageMetricv4.h.
|
virtual |
Get number of work units to used in the the most recent evaluation. Only valid after GetValueAndDerivative() or GetValue() has been called.
|
virtual |
Set/Get gradient computation via an image filter, for fixed image.
|
virtual |
Set/Get the option for applying floating point resolution truncation to derivative calculations in global support cases. False by default. It is only applied in global support cases (i.e. with global-support transforms) because in these cases, the per-point derivative values are added cumulatively, which can lead to loss of precision when the sum becomes much larger than the values being added. The goal is more consistent results across the number of threads used for an evaluation. The resolution can be changed using SetFloatingPointCorrectionResolution().
|
virtual |
Set/Get gradient computation via an image filter.
|
virtual |
Set/Get flag to use a domain sampling point set
|
virtual |
Set/Get flag to indicate of the VirtualSampledPointSet is set over the FixedSampledPointSet
|
overridevirtual |
Calculate and return the value for the metric based on the current transformation(s). The result is both returned, and stored in the m_Value member variable.
Implements itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.
Reimplemented in itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.
|
overridevirtual |
Calculate and return both the value for the metric and its derivative. This calls the SparseGetValueAndDerivativeThreader if UsedFixedSampledPointSet
is true, and DenseGetValueAndDerivativeThreader otherwise. The threaders in turn call ProcessPoint
on each point in the domain to be examined.
Implements itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.
|
protectedvirtual |
Perform the actual threaded processing, using the appropriate GetValueAndDerivativeThreader. Results get written to member vars. This is available as a separate method so it can be used by dervied classes that implement their own GetValueAndDerivative, and/or need to run the processing loop more than once.
|
virtual |
Set/Get the virtual image domain sampling point set
|
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< TInternalComputationValueType >.
Reimplemented in itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, and itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.
|
protectedvirtual |
Initialize the default image gradient filters. This must only be called once the fixed and moving images have been set.
|
protectedvirtual |
Initialize the default image gradient filters. This must only be called once the fixed and moving images have been set.
|
protectedvirtual |
Perform any initialization required before each evaluation of GetValueAndDerivative
. This is distinct from Initialize, which is called only once before a number of iterations, e.g. before a registration loop.
Reimplemented in itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, and itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.
|
inlineprivate |
Transform a point. Avoid cast if possible
Definition at line 768 of file itkImageToImageMetricv4.h.
|
inlineprivate |
Only floating-point images are currently supported. To support integer images, several small changes must be made
Definition at line 775 of file itkImageToImageMetricv4.h.
|
inlineprivate |
Only floating-point images are currently supported. To support integer images, several small changes must be made
Definition at line 787 of file itkImageToImageMetricv4.h.
|
inlineprivate |
Only floating-point images are currently supported. To support integer images, several small changes must be made
Definition at line 797 of file itkImageToImageMetricv4.h.
|
private |
Map the fixed point set samples to the virtual domain
|
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::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.
Reimplemented in itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, and itk::MeanSquaresImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.
|
virtual |
|
virtual |
Set/Get gradient calculators
|
virtual |
Set/Get the gradient filter
|
virtual |
Set/Get the fixed image mask.
|
virtual |
Set/Get the fixed image mask.
|
virtual |
Connect the fixed interpolator.
|
inlineoverridevirtual |
Set fixed image
Reimplemented from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.
Definition at line 358 of file itkImageToImageMetricv4.h.
|
virtual |
Set/Get the fixed image domain sampling point set See main documentation regarding using fixed vs virtual domain for the point set.
|
virtual |
Set/Get the fixed image domain sampling point set See main documentation regarding using fixed vs virtual domain for the point set.
|
virtual |
Set/Get the floating point resolution used optionally by the derivatives. If this is set, for example to 1e5, then the derivative will have precision up to 5 points beyond the decimal point. And precision beyond that will be truncated.
|
virtual |
Set number of work units to use. This the maximum number of work units to use when multithreaded. The actual number of work units used (may be less than this value) can be obtained with GetNumberOfWorkUnitsUsed
.
|
virtual |
Get/Set the Moving Image.
|
virtual |
Set/Get gradient calculators
|
virtual |
Set/Get the gradient filter
|
virtual |
Set/Get the moving image mask.
|
virtual |
Set/Get the moving image mask.
|
virtual |
Connect the Moving interpolator.
|
inlineoverridevirtual |
Set moving image
Reimplemented from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.
Definition at line 373 of file itkImageToImageMetricv4.h.
|
virtual |
Set/Get gradient computation via an image filter, for fixed image.
|
virtual |
Set/Get the option for applying floating point resolution truncation to derivative calculations in global support cases. False by default. It is only applied in global support cases (i.e. with global-support transforms) because in these cases, the per-point derivative values are added cumulatively, which can lead to loss of precision when the sum becomes much larger than the values being added. The goal is more consistent results across the number of threads used for an evaluation. The resolution can be changed using SetFloatingPointCorrectionResolution().
|
virtual |
Set/Get gradient computation via an image filter.
|
virtual |
Set/Get flag to use a domain sampling point set
|
virtual |
Set/Get flag to indicate of the VirtualSampledPointSet is set over the FixedSampledPointSet
|
virtual |
Set/Get the virtual image domain sampling point set
|
inlineoverridevirtual |
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.
Definition at line 604 of file itkImageToImageMetricv4.h.
|
protected |
Transform a point from VirtualImage domain to FixedImage domain and evaluate. This function also checks if mapped point is within the mask if one is set, and that is within the fixed image buffer, in which case the return value will be true. Parameters mappedFixedPoint
and mappedFixedPixelValue
are returned.
|
protected |
Transform and evaluate a point from VirtualImage domain to MovingImage domain.
|
virtual |
Set/Get gradient computation via an image filter, for fixed image.
|
virtual |
Set/Get gradient computation via an image filter, for fixed image.
|
virtual |
Set/Get the option for applying floating point resolution truncation to derivative calculations in global support cases. False by default. It is only applied in global support cases (i.e. with global-support transforms) because in these cases, the per-point derivative values are added cumulatively, which can lead to loss of precision when the sum becomes much larger than the values being added. The goal is more consistent results across the number of threads used for an evaluation. The resolution can be changed using SetFloatingPointCorrectionResolution().
|
virtual |
Set/Get the option for applying floating point resolution truncation to derivative calculations in global support cases. False by default. It is only applied in global support cases (i.e. with global-support transforms) because in these cases, the per-point derivative values are added cumulatively, which can lead to loss of precision when the sum becomes much larger than the values being added. The goal is more consistent results across the number of threads used for an evaluation. The resolution can be changed using SetFloatingPointCorrectionResolution().
|
virtual |
Set/Get gradient computation via an image filter.
|
virtual |
Set/Get gradient computation via an image filter.
|
virtual |
Set/Get flag to use a domain sampling point set
|
virtual |
Set/Get flag to use a domain sampling point set
|
virtual |
Set/Get flag to indicate of the VirtualSampledPointSet is set over the FixedSampledPointSet
|
virtual |
Set/Get flag to indicate of the VirtualSampledPointSet is set over the FixedSampledPointSet
|
friend |
Definition at line 626 of file itkImageToImageMetricv4.h.
|
friend |
Definition at line 627 of file itkImageToImageMetricv4.h.
|
friend |
Definition at line 624 of file itkImageToImageMetricv4.h.
|
friend |
Definition at line 625 of file itkImageToImageMetricv4.h.
|
static |
Definition at line 261 of file itkImageToImageMetricv4.h.
|
mutableprivate |
Flag to know if derivative should be calculated
Definition at line 825 of file itkImageToImageMetricv4.h.
|
protected |
Pointer to default gradient calculators. Used for easier initialization of the default filter.
Definition at line 723 of file itkImageToImageMetricv4.h.
|
protected |
Pointer to default gradient filter. Used for easier initialization of the default filter.
Definition at line 716 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 725 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 718 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 632 of file itkImageToImageMetricv4.h.
|
mutableprotected |
Derivative results holder. User a raw pointer so we can point it to a user-provided object. This is used in internal methods so the user-provided variable does not have to be passed around. It also enables safely sharing a derivative object between metrics during multi-variate analsys, for memory efficiency. Will be nullptr if not set.
Definition at line 741 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 693 of file itkImageToImageMetricv4.h.
|
protected |
Image gradient calculators
Definition at line 732 of file itkImageToImageMetricv4.h.
|
protected |
Gradient filters
Definition at line 710 of file itkImageToImageMetricv4.h.
|
mutableprotected |
Gradient images to store gradient filter output.
Definition at line 728 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 701 of file itkImageToImageMetricv4.h.
|
protected |
Masks
Definition at line 744 of file itkImageToImageMetricv4.h.
|
protected |
Pointers to interpolators
Definition at line 699 of file itkImageToImageMetricv4.h.
|
protected |
Sampled point sets
Definition at line 748 of file itkImageToImageMetricv4.h.
|
private |
Only floating-point images are currently supported. To support integer images, several small changes must be made
Definition at line 820 of file itkImageToImageMetricv4.h.
|
mutableprivate |
Flag for warning about use of GetValue. Will be removed when GetValue implementation is improved.
Definition at line 812 of file itkImageToImageMetricv4.h.
|
private |
Only floating-point images are currently supported. To support integer images, several small changes must be made
Definition at line 822 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 696 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 733 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 711 of file itkImageToImageMetricv4.h.
|
mutableprotected |
Definition at line 729 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 702 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 745 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 700 of file itkImageToImageMetricv4.h.
|
private |
Keep track of the number of sampled fixed points that are deemed invalid during conversion to virtual domain. For informational purposes.
Definition at line 817 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 636 of file itkImageToImageMetricv4.h.
|
protected |
Flag to control use of precomputed gradient filter image or gradient calculator for image gradient calculations.
Definition at line 706 of file itkImageToImageMetricv4.h.
|
private |
Only floating-point images are currently supported. To support integer images, several small changes must be made
Definition at line 819 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 707 of file itkImageToImageMetricv4.h.
|
protected |
Flag to use a SampledPointSet, i.e. Sparse sampling.
Definition at line 752 of file itkImageToImageMetricv4.h.
|
protected |
Flag to indicate the user set VirtualSampledPointSet over FixedSampledPointSet
Definition at line 756 of file itkImageToImageMetricv4.h.
|
protected |
Definition at line 749 of file itkImageToImageMetricv4.h.
|
static |
Definition at line 262 of file itkImageToImageMetricv4.h.
|
static |
Definition at line 263 of file itkImageToImageMetricv4.h.