ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <itkDemonsImageToImageMetricv4.h>
Class implementing demons metric.
The implementation is taken from itkDemonsRegistrationFunction.
The metric derivative can be calculated using image derivatives either from the fixed or moving images. The default is to use fixed-image gradients. See ObjectToObjectMetric::SetGradientSource to change this behavior.
An intensity threshold is used, below which image pixels are considered equal for the purpose of derivative calculation. The threshold can be changed by calling SetIntensityDifferenceThreshold.
See DemonsImageToImageMetricv4GetValueAndDerivativeThreader::ProcessPoint for algorithm implementation.
Definition at line 58 of file itkDemonsImageToImageMetricv4.h.
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeType = typename Superclass::DerivativeType |
using | FixedImageGradientType = typename Superclass::FixedImageGradientType |
using | FixedImagePixelType = typename Superclass::FixedImagePixelType |
using | FixedImagePointType = typename Superclass::FixedImagePointType |
using | ImageDimensionType = typename Superclass::ImageDimensionType |
using | InternalComputationValueType = TInternalComputationValueType |
using | JacobianType = typename Superclass::JacobianType |
using | MeasureType = typename Superclass::MeasureType |
using | MovingImageGradientType = typename Superclass::MovingImageGradientType |
using | MovingImagePixelType = typename Superclass::MovingImagePixelType |
using | MovingImagePointType = typename Superclass::MovingImagePointType |
using | MovingTransformType = typename Superclass::MovingTransformType |
using | NumberOfParametersType = typename Superclass::NumberOfParametersType |
using | Pointer = SmartPointer< Self > |
using | Self = DemonsImageToImageMetricv4 |
using | Superclass = ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits > |
using | VirtualImageType = typename Superclass::VirtualImageType |
using | VirtualIndexType = typename Superclass::VirtualIndexType |
using | VirtualPointType = typename Superclass::VirtualPointType |
using | VirtualSPointSetType = typename Superclass::VirtualPointSetType |
Public Types inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits > | |
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 Member Functions | |
static Pointer | New () |
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 () |
Private Attributes | |
TInternalComputationValueType | m_DenominatorThreshold |
TInternalComputationValueType | m_IntensityDifferenceThreshold |
TInternalComputationValueType | m_Normalizer |
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ConstPointer = SmartPointer<const Self> |
Definition at line 69 of file itkDemonsImageToImageMetricv4.h.
|
protected |
Definition at line 127 of file itkDemonsImageToImageMetricv4.h.
|
protected |
Definition at line 129 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DerivativeType = typename Superclass::DerivativeType |
Definition at line 79 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientType = typename Superclass::FixedImageGradientType |
Definition at line 83 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImagePixelType = typename Superclass::FixedImagePixelType |
Definition at line 82 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImagePointType = typename Superclass::FixedImagePointType |
Definition at line 81 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ImageDimensionType = typename Superclass::ImageDimensionType |
Definition at line 100 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::InternalComputationValueType = TInternalComputationValueType |
It should be possible to derive the internal computation type from the class object.
Definition at line 98 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::JacobianType = typename Superclass::JacobianType |
Definition at line 90 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MeasureType = typename Superclass::MeasureType |
Superclass types
Definition at line 78 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientType = typename Superclass::MovingImageGradientType |
Definition at line 87 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImagePixelType = typename Superclass::MovingImagePixelType |
Definition at line 86 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImagePointType = typename Superclass::MovingImagePointType |
Definition at line 85 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingTransformType = typename Superclass::MovingTransformType |
Definition at line 89 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::NumberOfParametersType = typename Superclass::NumberOfParametersType |
Definition at line 95 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::Pointer = SmartPointer<Self> |
Definition at line 68 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::Self = DemonsImageToImageMetricv4 |
Standard class type aliases.
Definition at line 65 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::Superclass = ImageToImageMetricv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType,TMetricTraits> |
Definition at line 67 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualImageType = typename Superclass::VirtualImageType |
Definition at line 91 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualIndexType = typename Superclass::VirtualIndexType |
Definition at line 92 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualPointType = typename Superclass::VirtualPointType |
Definition at line 93 of file itkDemonsImageToImageMetricv4.h.
using itk::DemonsImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualSPointSetType = typename Superclass::VirtualPointSetType |
Definition at line 94 of file itkDemonsImageToImageMetricv4.h.
|
protected |
|
overrideprotecteddefault |
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
|
virtual |
Get the denominator threshold used in derivative calculation.
|
virtual |
Accessors for the image intensity difference threshold use in derivative calculation
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.
|
protectedvirtual |
|
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 >.
|
static |
Method for creation through the object factory.
|
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 >.
|
virtual |
Accessors for the image intensity difference threshold use in derivative calculation
|
friend |
Definition at line 124 of file itkDemonsImageToImageMetricv4.h.
|
friend |
Definition at line 125 of file itkDemonsImageToImageMetricv4.h.
|
static |
Definition at line 104 of file itkDemonsImageToImageMetricv4.h.
|
private |
Threshold below which the denominator term is considered zero. Fixed programatically in constructor.
Definition at line 137 of file itkDemonsImageToImageMetricv4.h.
|
private |
Threshold below which two intensity value are assumed to match.
Definition at line 140 of file itkDemonsImageToImageMetricv4.h.
|
private |
Definition at line 143 of file itkDemonsImageToImageMetricv4.h.
|
static |
Definition at line 105 of file itkDemonsImageToImageMetricv4.h.
|
static |
Definition at line 103 of file itkDemonsImageToImageMetricv4.h.