template<class TFixedImage, class TMovingImage>
class itk::CombinationImageToImageMetric< TFixedImage, TMovingImage >
Combines multiple metrics.
This metric is meant to be used in the MultiMetricMultiResolutionImageRegistrationMethod.
NB: while it may seem not logical that the SetInterpolator(arg) sets the interpolator in all submetrics whereas the GetInterpolator(void) returns GetInterpolator(0) it is logical. If you set the interpolator the same in all metrics, you will receive the correct interpolator with GetInterpolator(0). If you set the interpolator differently in all metrics, the most logical action is to return GetInterpolator(0) when GetInterpolator() is invoked.
Note: If you use Set{Transform,Interpolator etc}(0) or Set{Transform,Interpolator}(), the member variables of the superclass m_{Transform,Interpolator} are set as well. So, it is not strictly necessary to reimplement the functions Get{Transform,Interpolator}(), which return Get{Transform,Interpolator}(0), which would result in the same as returning m_{Transform,Interpolator} anyway. However, if Metric[0] is changed externally the m_{Transform, Interpolator} are not up to date anymore. That's why we chose to reimplement the Get{Transform,Interpolator}() methods.
Definition at line 59 of file itkCombinationImageToImageMetric.h.
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef Superclass::CoordinateRepresentationType | CoordinateRepresentationType |
|
typedef Superclass::DerivativeType | DerivativeType |
|
typedef Superclass::DerivativeValueType | DerivativeValueType |
|
typedef Superclass::FixedImageConstPointer | FixedImageConstPointer |
|
typedef Superclass::FixedImageMaskPointer | FixedImageMaskPointer |
|
typedef Superclass::FixedImageMaskType | FixedImageMaskType |
|
typedef FixedImageType::PixelType | FixedImagePixelType |
|
typedef Superclass::FixedImageRegionType | FixedImageRegionType |
|
typedef Superclass::FixedImageType | FixedImageType |
|
typedef PointSet< CoordinateRepresentationType, TFixedImage::ImageDimension, DefaultStaticMeshTraits< CoordinateRepresentationType, TFixedImage::ImageDimension, TFixedImage::ImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > | FixedPointSetType |
|
typedef Superclass::GradientImageFilterPointer | GradientImageFilterPointer |
|
typedef Superclass::GradientImageFilterType | GradientImageFilterType |
|
typedef Superclass::GradientImagePointer | GradientImagePointer |
|
typedef Superclass::GradientImageType | GradientImageType |
|
typedef Superclass::GradientPixelType | GradientPixelType |
|
typedef Superclass::HessianType | HessianType |
|
typedef Superclass::HessianValueType | HessianValueType |
|
typedef ImageMetricType::Pointer | ImageMetricPointer |
|
typedef Superclass | ImageMetricType |
|
typedef Superclass::InputPointType | InputPointType |
|
typedef Superclass::InterpolatorPointer | InterpolatorPointer |
|
typedef Superclass::InterpolatorType | InterpolatorType |
|
typedef Superclass::MeasureType | MeasureType |
|
typedef Superclass::MovingImageConstPointer | MovingImageConstPointer |
|
typedef FixedArray< double, itkGetStaticConstMacro(MovingImageDimension) > | MovingImageDerivativeScalesType |
|
typedef Superclass::MovingImageMaskPointer | MovingImageMaskPointer |
|
typedef Superclass::MovingImageMaskType | MovingImageMaskType |
|
typedef Superclass::MovingImagePixelType | MovingImagePixelType |
|
typedef MovingImageType::RegionType | MovingImageRegionType |
|
typedef Superclass::MovingImageType | MovingImageType |
|
typedef PointSet< CoordinateRepresentationType, TMovingImage::ImageDimension, DefaultStaticMeshTraits< CoordinateRepresentationType, TMovingImage::ImageDimension, TMovingImage::ImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > | MovingPointSetType |
|
typedef Superclass::OutputPointType | OutputPointType |
|
typedef Superclass::ParametersType | ParametersType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef SingleValuedPointSetToPointSetMetric< FixedPointSetType, MovingPointSetType > | PointSetMetricType |
|
typedef Superclass::RealType | RealType |
|
typedef CombinationImageToImageMetric | Self |
|
typedef SingleValuedCostFunctionType::Pointer | SingleValuedCostFunctionPointer |
|
typedef SingleValuedCostFunction | SingleValuedCostFunctionType |
|
typedef AdvancedImageToImageMetric< TFixedImage, TMovingImage > | Superclass |
|
typedef Superclass::ThreaderType | ThreaderType |
|
typedef Superclass::ThreadInfoType | ThreadInfoType |
|
typedef Superclass::TransformJacobianType | TransformJacobianType |
|
typedef Superclass::TransformParametersType | TransformParametersType |
|
typedef TransformType::Pointer | TransformPointer |
|
typedef Superclass::AdvancedTransformType | TransformType |
|
typedef AdvancedTransform< ScalarType, FixedImageDimension, MovingImageDimension > | AdvancedTransformType |
|
typedef BSplineOrder1TransformType::Pointer | BSplineOrder1TransformPointer |
|
typedef AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 1 > | BSplineOrder1TransformType |
|
typedef BSplineOrder2TransformType::Pointer | BSplineOrder2TransformPointer |
|
typedef AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 2 > | BSplineOrder2TransformType |
|
typedef BSplineOrder3TransformType::Pointer | BSplineOrder3TransformPointer |
|
typedef AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 3 > | BSplineOrder3TransformType |
|
typedef AdvancedCombinationTransform< ScalarType, FixedImageDimension > | CombinationTransformType |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef Superclass::CoordinateRepresentationType | CoordinateRepresentationType |
|
typedef Superclass::DerivativeType | DerivativeType |
|
typedef DerivativeType::ValueType | DerivativeValueType |
|
typedef Superclass::FixedImageConstPointer | FixedImageConstPointer |
|
typedef FixedImageLimiterType::OutputType | FixedImageLimiterOutputType |
|
typedef FixedImageLimiterType::Pointer | FixedImageLimiterPointer |
|
typedef LimiterFunctionBase< RealType, FixedImageDimension > | FixedImageLimiterType |
|
typedef Superclass::FixedImageMaskPointer | FixedImageMaskPointer |
|
typedef ImageMaskSpatialObject< itkGetStaticConstMacro(FixedImageDimension) > | FixedImageMaskSpatialObject2Type |
|
typedef Superclass::FixedImageMaskType | FixedImageMaskType |
|
typedef FixedImageType::PixelType | FixedImagePixelType |
|
typedef FixedImageType::Pointer | FixedImagePointer |
|
typedef Superclass::FixedImageRegionType | FixedImageRegionType |
|
typedef Superclass::FixedImageType | FixedImageType |
|
typedef Superclass::GradientImageFilterPointer | GradientImageFilterPointer |
|
typedef Superclass::GradientImageFilterType | GradientImageFilterType |
|
typedef Superclass::GradientImagePointer | GradientImagePointer |
|
typedef Superclass::GradientImageType | GradientImageType |
|
typedef Superclass::GradientPixelType | GradientPixelType |
|
typedef vnl_sparse_matrix< HessianValueType > | HessianType |
|
typedef DerivativeType::ValueType | HessianValueType |
|
typedef ImageSamplerType::OutputVectorContainerPointer | ImageSampleContainerPointer |
|
typedef ImageSamplerType::OutputVectorContainerType | ImageSampleContainerType |
|
typedef ImageSamplerType::Pointer | ImageSamplerPointer |
|
typedef ImageSamplerBase< FixedImageType > | ImageSamplerType |
|
typedef Superclass::InputPointType | InputPointType |
|
typedef Superclass::InterpolatorPointer | InterpolatorPointer |
|
typedef Superclass::InterpolatorType | InterpolatorType |
|
typedef Superclass::MeasureType | MeasureType |
|
typedef Superclass::MovingImageConstPointer | MovingImageConstPointer |
|
typedef FixedArray< double, Self::MovingImageDimension > | MovingImageDerivativeScalesType |
|
typedef MovingImageLimiterType::OutputType | MovingImageLimiterOutputType |
|
typedef MovingImageLimiterType::Pointer | MovingImageLimiterPointer |
|
typedef LimiterFunctionBase< RealType, MovingImageDimension > | MovingImageLimiterType |
|
typedef Superclass::MovingImageMaskPointer | MovingImageMaskPointer |
|
typedef ImageMaskSpatialObject< itkGetStaticConstMacro(MovingImageDimension) > | MovingImageMaskSpatialObject2Type |
|
typedef Superclass::MovingImageMaskType | MovingImageMaskType |
|
typedef Superclass::MovingImagePixelType | MovingImagePixelType |
|
typedef MovingImageType::Pointer | MovingImagePointer |
|
typedef MovingImageType::RegionType | MovingImageRegionType |
|
typedef Superclass::MovingImageType | MovingImageType |
|
typedef AdvancedTransformType::NumberOfParametersType | NumberOfParametersType |
|
typedef Superclass::OutputPointType | OutputPointType |
|
typedef Superclass::ParametersType | ParametersType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef Superclass::RealType | RealType |
|
typedef TransformType::ScalarType | ScalarType |
|
typedef AdvancedImageToImageMetric | Self |
|
typedef ImageToImageMetric< TFixedImage, TMovingImage > | Superclass |
|
typedef itk::PlatformMultiThreader | ThreaderType |
|
typedef ThreaderType::WorkUnitInfo | ThreadInfoType |
|
typedef Superclass::TransformJacobianType | TransformJacobianType |
|
typedef Superclass::TransformParametersType | TransformParametersType |
|
typedef Superclass::TransformPointer | TransformPointer |
|
typedef Superclass::TransformType | TransformType |
|
|
virtual const char * | GetClassName () const |
|
void | GetDerivative (const ParametersType ¶meters, DerivativeType &derivative) const override |
|
virtual const FixedImageType * | GetFixedImage (unsigned int pos) const |
|
const FixedImageType * | GetFixedImage (void) const override |
|
virtual const FixedImageMaskType * | GetFixedImageMask (unsigned int pos) const |
|
const FixedImageMaskType * | GetFixedImageMask (void) const override |
|
virtual const FixedImageRegionType & | GetFixedImageRegion (unsigned int pos) const |
|
const FixedImageRegionType & | GetFixedImageRegion (void) const override |
|
virtual const InterpolatorType * | GetInterpolator (unsigned int pos) const |
|
const InterpolatorType * | GetInterpolator (void) const override |
|
SingleValuedCostFunctionType * | GetMetric (unsigned int count) const |
|
double | GetMetricComputationTime (unsigned int pos) const |
|
const DerivativeType & | GetMetricDerivative (unsigned int pos) const |
|
double | GetMetricDerivativeMagnitude (unsigned int pos) const |
|
double | GetMetricRelativeWeight (unsigned int pos) const |
|
MeasureType | GetMetricValue (unsigned int pos) const |
|
double | GetMetricWeight (unsigned int pos) const |
|
virtual const MovingImageType * | GetMovingImage (unsigned int pos) const |
|
const MovingImageType * | GetMovingImage (void) const override |
|
virtual const MovingImageMaskType * | GetMovingImageMask (unsigned int pos) const |
|
const MovingImageMaskType * | GetMovingImageMask (void) const override |
|
ModifiedTimeType | GetMTime () const override |
|
virtual unsigned int | GetNumberOfMetrics () const |
|
const SizeValueType & | GetNumberOfPixelsCounted (void) const override |
|
void | GetSelfHessian (const TransformParametersType ¶meters, HessianType &H) const override |
|
virtual const TransformType * | GetTransform (unsigned int pos) const |
|
const TransformType * | GetTransform (void) const override |
|
bool | GetUseMetric (const unsigned int pos) const |
|
virtual bool | GetUseRelativeWeights () |
|
MeasureType | GetValue (const ParametersType ¶meters) const override |
|
void | GetValueAndDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const override |
|
void | Initialize (void) override |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension) |
|
| itkStaticConstMacro (MovingImageDimension, unsigned int, TMovingImage::ImageDimension) |
|
void | SetFixedImage (const FixedImageType *_arg) override |
|
virtual void | SetFixedImage (const FixedImageType *_arg, unsigned int pos) |
|
void | SetFixedImageMask (FixedImageMaskType *_arg) override |
|
virtual void | SetFixedImageMask (FixedImageMaskType *_arg, unsigned int pos) |
|
void | SetFixedImageRegion (const FixedImageRegionType _arg) override |
|
virtual void | SetFixedImageRegion (const FixedImageRegionType _arg, unsigned int pos) |
|
void | SetInterpolator (InterpolatorType *_arg) override |
|
virtual void | SetInterpolator (InterpolatorType *_arg, unsigned int pos) |
|
void | SetMetric (SingleValuedCostFunctionType *metric, unsigned int pos) |
|
void | SetMetricRelativeWeight (double weight, unsigned int pos) |
|
void | SetMetricWeight (double weight, unsigned int pos) |
|
void | SetMovingImage (const MovingImageType *_arg) override |
|
virtual void | SetMovingImage (const MovingImageType *_arg, unsigned int pos) |
|
void | SetMovingImageMask (MovingImageMaskType *_arg) override |
|
virtual void | SetMovingImageMask (MovingImageMaskType *_arg, unsigned int pos) |
|
void | SetNumberOfMetrics (unsigned int count) |
|
void | SetTransform (TransformType *_arg) override |
|
virtual void | SetTransform (TransformType *_arg, unsigned int pos) |
|
void | SetUseAllMetrics (void) |
|
void | SetUseMetric (const bool use, const unsigned int pos) |
|
virtual void | SetUseRelativeWeights (bool _arg) |
|
virtual void | BeforeThreadedGetValueAndDerivative (const TransformParametersType ¶meters) const |
|
virtual const char * | GetClassName () const |
|
virtual const FixedImageLimiterType * | GetFixedImageLimiter () |
|
virtual double | GetFixedLimitRangeRatio () const |
|
virtual ImageSamplerType * | GetImageSampler (void) const |
|
virtual const MovingImageDerivativeScalesType & | GetMovingImageDerivativeScales () |
|
virtual const MovingImageLimiterType * | GetMovingImageLimiter () |
|
virtual double | GetMovingLimitRangeRatio () const |
|
virtual double | GetRequiredRatioOfValidSamples () const |
|
virtual bool | GetScaleGradientWithRespectToMovingImageOrientation () const |
|
virtual void | GetSelfHessian (const TransformParametersType ¶meters, HessianType &H) const |
|
const AdvancedTransformType * | GetTransform (void) const override |
|
virtual bool | GetUseFixedImageLimiter () const |
|
virtual bool | GetUseImageSampler () const |
|
virtual const bool & | GetUseMetricSingleThreaded () |
|
virtual bool | GetUseMovingImageDerivativeScales () const |
|
virtual bool | GetUseMovingImageLimiter () const |
|
virtual const bool & | GetUseMultiThread () |
|
void | Initialize (void) override |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension) |
|
| itkStaticConstMacro (MovingImageDimension, unsigned int, TMovingImage::ImageDimension) |
|
virtual void | SetFixedImageLimiter (FixedImageLimiterType *_arg) |
|
virtual void | SetFixedLimitRangeRatio (double _arg) |
|
virtual void | SetImageSampler (ImageSamplerType *_arg) |
|
virtual void | SetMovingImageDerivativeScales (MovingImageDerivativeScalesType _arg) |
|
virtual void | SetMovingImageLimiter (MovingImageLimiterType *_arg) |
|
virtual void | SetMovingLimitRangeRatio (double _arg) |
|
virtual void | SetNumberOfWorkUnits (ThreadIdType numberOfThreads) |
|
virtual void | SetRequiredRatioOfValidSamples (double _arg) |
|
virtual void | SetScaleGradientWithRespectToMovingImageOrientation (bool _arg) |
|
virtual void | SetTransform (AdvancedTransformType *arg) |
|
virtual void | SetUseMetricSingleThreaded (bool _arg) |
|
virtual void | SetUseMovingImageDerivativeScales (bool _arg) |
|
virtual void | SetUseMultiThread (bool _arg) |
|
virtual void | UseMetricSingleThreadedOff () |
|
virtual void | UseMetricSingleThreadedOn () |
|
virtual void | UseMultiThreadOff () |
|
virtual void | UseMultiThreadOn () |
|
|
| CombinationImageToImageMetric () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| ~CombinationImageToImageMetric () override |
|
| AdvancedImageToImageMetric () |
|
virtual void | AfterThreadedGetValue (MeasureType &value) const |
|
virtual void | AfterThreadedGetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const |
|
virtual void | CheckForAdvancedTransform (void) |
|
virtual void | CheckForBSplineInterpolator (void) |
|
virtual void | CheckForBSplineTransform (void) const |
|
virtual void | CheckNumberOfSamples (unsigned long wanted, unsigned long found) const |
|
virtual bool | EvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient) const |
|
virtual bool | EvaluateTransformJacobian (const FixedImagePointType &fixedImagePoint, TransformJacobianType &jacobian, NonZeroJacobianIndicesType &nzji) const |
|
virtual void | EvaluateTransformJacobianInnerProduct (const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const |
|
virtual void | InitializeImageSampler (void) |
|
virtual void | InitializeLimiters (void) |
|
virtual void | InitializeThreadingParameters (void) const |
|
virtual bool | IsInsideMovingMask (const MovingImagePointType &point) const |
|
| itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct) |
|
| itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValuePerThreadStruct, AlignedGetValuePerThreadStruct) |
|
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct) |
|
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValuePerThreadStruct, PaddedGetValuePerThreadStruct) |
|
void | LaunchGetValueAndDerivativeThreaderCallback (void) const |
|
void | LaunchGetValueThreaderCallback (void) const |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
virtual void | SetUseFixedImageLimiter (bool _arg) |
|
virtual void | SetUseImageSampler (bool _arg) |
|
virtual void | SetUseMovingImageLimiter (bool _arg) |
|
virtual void | ThreadedGetValue (ThreadIdType threadID) |
|
virtual void | ThreadedGetValueAndDerivative (ThreadIdType threadID) |
|
virtual bool | TransformPoint (const FixedImagePointType &fixedImagePoint, MovingImagePointType &mappedPoint) const |
|
| ~AdvancedImageToImageMetric () override |
|