template<class TElastix>
class elastix::SumSquaredTissueVolumeDifferenceMetric< TElastix >
A metric based on the itk::SumSquaredTissueVolumeDifferenceImageToImageMetric.
- Warning
- : This metric has only been evaluated on CT, where image intensity is monotonically related to tissue density, and therefore mass. Performance in other modalities such as MRI has not been explored.
The parameters used in this class are:
- Parameters
Metric: Select this metric as follows:
(Metric "SumSquaredTissueVolumeDifference")
AirValue: Intensity value of air.
example: (AirValue -1000.0)
Default is -1000.0.
TissueValue: Intensity value of tissue.
example: (TissueValue 55.0)
Default is 55.0.
- See also
- SumSquaredTissueVolumeDifferenceImageToImageMetric
Definition at line 50 of file elxSumSquaredTissueVolumeDifferenceMetric.h.
|
using | ConstPointer = itk::SmartPointer<const Self> |
|
using | ITKBaseType = typename Superclass2::ITKBaseType |
|
using | Pointer = itk::SmartPointer<Self> |
|
using | Self = SumSquaredTissueVolumeDifferenceMetric |
|
using | Superclass1 |
|
using | Superclass2 = MetricBase<TElastix> |
|
using | TransformType |
|
using | ConstPointer = SmartPointer<const Self> |
|
using | DerivativeValueType |
|
using | FixedImageLimiterOutputType |
|
using | FixedImageLimiterType |
|
using | FixedImageMaskPointer |
|
using | FixedImageMaskType |
|
using | FixedImagePixelType |
|
using | ImageSampleContainerPointer |
|
using | ImageSampleContainerType |
|
using | ImageSamplerPointer |
|
using | ImageSamplerType |
|
using | InternalMatrixType = typename TransformType::InternalMatrixType |
|
using | JacobianOfSpatialHessianType = typename TransformType::JacobianOfSpatialHessianType |
|
using | JacobianOfSpatialJacobianType = typename TransformType::JacobianOfSpatialJacobianType |
|
using | MovingImageDerivativeScalesType |
|
using | MovingImageLimiterOutputType |
|
using | MovingImageLimiterType |
|
using | MovingImageMaskPointer |
|
using | MovingImageMaskType |
|
using | MovingImageRegionType |
|
using | Pointer = SmartPointer<Self> |
|
using | Self = SumSquaredTissueVolumeDifferenceImageToImageMetric |
|
using | SpatialHessianType = typename TransformType::SpatialHessianType |
|
using | SpatialJacobianType = typename TransformType::SpatialJacobianType |
|
using | Superclass = AdvancedImageToImageMetric<TFixedImage, TMovingImage> |
|
using | TransformType = typename Superclass::AdvancedTransformType |
|
using | AdvancedTransformType = AdvancedTransform<ScalarType, FixedImageDimension, MovingImageDimension> |
|
using | BSplineOrder1TransformPointer = typename BSplineOrder1TransformType::Pointer |
|
using | BSplineOrder1TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 1> |
|
using | BSplineOrder2TransformPointer = typename BSplineOrder2TransformType::Pointer |
|
using | BSplineOrder2TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 2> |
|
using | BSplineOrder3TransformPointer = typename BSplineOrder3TransformType::Pointer |
|
using | BSplineOrder3TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 3> |
|
using | CombinationTransformType = AdvancedCombinationTransform<ScalarType, FixedImageDimension> |
|
using | ConstPointer = SmartPointer<const Self> |
|
using | DerivativeValueType = typename DerivativeType::ValueType |
|
using | FixedImageLimiterOutputType = typename FixedImageLimiterType::OutputType |
|
using | FixedImageLimiterPointer = typename FixedImageLimiterType::Pointer |
|
using | FixedImageLimiterType = LimiterFunctionBase<RealType, FixedImageDimension> |
|
using | FixedImageMaskConstPointer = SmartPointer<const FixedImageMaskType> |
|
using | FixedImageMaskPointer = SmartPointer<FixedImageMaskType> |
|
using | FixedImageMaskType = ImageMaskSpatialObject<Self::FixedImageDimension> |
|
using | FixedImagePixelType = typename FixedImageType::PixelType |
|
using | FixedImagePointer = typename FixedImageType::Pointer |
|
using | ImageSampleContainerPointer = typename ImageSamplerType::OutputVectorContainerPointer |
|
using | ImageSampleContainerType = typename ImageSamplerType::OutputVectorContainerType |
|
using | ImageSamplerPointer = typename ImageSamplerType::Pointer |
|
using | ImageSamplerType = ImageSamplerBase<FixedImageType> |
|
using | MovingImageDerivativeScalesType = FixedArray<double, Self::MovingImageDimension> |
|
using | MovingImageLimiterOutputType = typename MovingImageLimiterType::OutputType |
|
using | MovingImageLimiterPointer = typename MovingImageLimiterType::Pointer |
|
using | MovingImageLimiterType = LimiterFunctionBase<RealType, MovingImageDimension> |
|
using | MovingImageMaskConstPointer = SmartPointer<const MovingImageMaskType> |
|
using | MovingImageMaskPointer = SmartPointer<MovingImageMaskType> |
|
using | MovingImageMaskType = ImageMaskSpatialObject<Self::MovingImageDimension> |
|
using | MovingImagePointer = typename MovingImageType::Pointer |
|
using | MovingImageRegionType = typename MovingImageType::RegionType |
|
using | NumberOfParametersType = typename AdvancedTransformType::NumberOfParametersType |
|
using | Pointer = SmartPointer<Self> |
|
using | ScalarType = typename TransformType::ScalarType |
|
using | Self = AdvancedImageToImageMetric |
|
using | Superclass = ImageToImageMetric<TFixedImage, TMovingImage> |
|
using | ThreadInfoType = MultiThreaderBase::WorkUnitInfo |
|
using | AdvancedMetricType = itk::AdvancedImageToImageMetric<FixedImageType, MovingImageType> |
|
using | CoordinateRepresentationType = typename ITKBaseType::ParametersValueType |
|
using | ElastixType |
|
using | FixedImageType = typename ElastixType::FixedImageType |
|
using | FixedPointSetType |
|
using | FixedPointType = typename FixedImageType::PointType |
|
using | FixedPointValueType = typename FixedPointType::ValueType |
|
using | ImageSamplerBaseType = typename AdvancedMetricType::ImageSamplerType |
|
using | ITKBaseType = itk::SingleValuedCostFunction |
|
using | MeasureType = typename ITKBaseType::MeasureType |
|
using | MovingImageDerivativeScalesType = typename AdvancedMetricType::MovingImageDerivativeScalesType |
|
using | MovingImageType = typename ElastixType::MovingImageType |
|
using | MovingPointSetType |
|
using | MovingPointType = typename MovingImageType::PointType |
|
using | MovingPointValueType = typename MovingPointType::ValueType |
|
using | RegistrationType |
|
using | Self = MetricBase |
|
using | Superclass = BaseComponentSE<TElastix> |
|
using | ElastixType = TElastix |
|
using | RegistrationType = typename ElastixType::RegistrationBaseType |
|
using | Self = BaseComponentSE |
|
using | Superclass = BaseComponent |
|
|
void | BeforeEachResolution () override |
|
| elxClassNameMacro ("SumSquaredTissueVolumeDifference") |
|
virtual const char * | GetClassName () const |
|
void | Initialize () override |
|
| ITK_DISALLOW_COPY_AND_MOVE (SumSquaredTissueVolumeDifferenceMetric) |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
|
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
|
virtual RealType | GetAirValue () const |
|
void | GetDerivative (const TransformParametersType ¶meters, DerivativeType &derivative) const override |
|
virtual RealType | GetTissueValue () const |
|
MeasureType | GetValue (const TransformParametersType ¶meters) const override |
|
void | GetValueAndDerivative (const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const override |
|
void | GetValueAndDerivativeSingleThreaded (const TransformParametersType ¶meters, MeasureType &measure, DerivativeType &derivative) const |
|
virtual MeasureType | GetValueSingleThreaded (const TransformParametersType ¶meters) const |
|
| ITK_DISALLOW_COPY_AND_MOVE (SumSquaredTissueVolumeDifferenceImageToImageMetric) |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
|
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
|
virtual void | SetAirValue (RealType _arg) |
|
virtual void | SetTissueValue (RealType _arg) |
|
virtual void | BeforeThreadedGetValueAndDerivative (const TransformParametersType ¶meters) const |
|
virtual const FixedImageLimiterType * | GetFixedImageLimiter () |
|
const FixedImageMaskType * | GetFixedImageMask () const override |
|
virtual double | GetFixedLimitRangeRatio () const |
|
ImageSamplerType * | GetImageSampler () const |
|
virtual const MovingImageDerivativeScalesType & | GetMovingImageDerivativeScales () |
|
virtual const MovingImageLimiterType * | GetMovingImageLimiter () |
|
const MovingImageMaskType * | GetMovingImageMask () const override |
|
virtual double | GetMovingLimitRangeRatio () const |
|
virtual double | GetRequiredRatioOfValidSamples () const |
|
virtual bool | GetScaleGradientWithRespectToMovingImageOrientation () const |
|
const AdvancedTransformType * | GetTransform () const override |
|
AdvancedTransformType * | GetTransform () 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 () override |
|
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedImageToImageMetric) |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension) |
|
| itkStaticConstMacro (MovingImageDimension, unsigned int, TMovingImage::ImageDimension) |
|
virtual void | SetFixedImageLimiter (FixedImageLimiterType *_arg) |
|
virtual void | SetFixedImageMask (const FixedImageMaskType *const arg) |
|
virtual void | SetFixedLimitRangeRatio (double _arg) |
|
virtual void | SetImageSampler (ImageSamplerType *_arg) |
|
virtual void | SetMovingImageDerivativeScales (MovingImageDerivativeScalesType _arg) |
|
virtual void | SetMovingImageLimiter (MovingImageLimiterType *_arg) |
|
virtual void | SetMovingImageMask (const MovingImageMaskType *const arg) |
|
virtual void | SetMovingLimitRangeRatio (double _arg) |
|
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 () |
|
void | AfterEachIterationBase () override |
|
void | BeforeEachResolutionBase () override |
|
virtual ImageSamplerBaseType * | GetAdvancedMetricImageSampler () const |
|
virtual bool | GetAdvancedMetricUseImageSampler () const |
|
ITKBaseType * | GetAsITKBaseType () |
|
const ITKBaseType * | GetAsITKBaseType () const |
|
virtual MeasureType | GetCurrentExactMetricValue () const |
|
virtual bool | GetShowExactMetricValue () const |
|
| ITK_DISALLOW_COPY_AND_MOVE (MetricBase) |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
|
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
|
virtual void | SelectNewSamples () |
|
virtual void | SetAdvancedMetricImageSampler (ImageSamplerBaseType *sampler) |
|
void | AddTargetCellToIterationInfo (const char *const name) |
|
const Configuration * | GetConfiguration () const |
|
ElastixType * | GetElastix () const |
|
auto & | GetIterationInfoAt (const char *const name) |
|
RegistrationType * | GetRegistration () const |
|
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE) |
|
void | RemoveTargetCellFromIterationInfo (const char *const name) |
|
void | SetConfiguration (const Configuration *_arg) |
|
void | SetElastix (ElastixType *_arg) |
|
virtual void | AfterEachIteration () |
|
virtual void | AfterEachResolution () |
|
virtual void | AfterEachResolutionBase () |
|
virtual void | AfterRegistration () |
|
virtual void | AfterRegistrationBase () |
|
virtual int | BeforeAll () |
|
virtual int | BeforeAllBase () |
|
virtual void | BeforeRegistration () |
|
virtual void | BeforeRegistrationBase () |
|
virtual const char * | elxGetClassName () const |
|
const char * | GetComponentLabel () const |
|
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponent) |
|
| itkTypeMacroNoParent (BaseComponent) |
|
void | SetComponentLabel (const char *label, unsigned int idx) |
|
|
| SumSquaredTissueVolumeDifferenceMetric ()=default |
|
| ~SumSquaredTissueVolumeDifferenceMetric () override=default |
|
void | AfterThreadedGetValue (MeasureType &value) const override |
|
void | AfterThreadedGetValueAndDerivative (MeasureType &measure, DerivativeType &derivative) const override |
|
void | EvaluateJacobianOfSpatialJacobianDeterminantInnerProduct (const JacobianOfSpatialJacobianType &jacobianOfSpatialJacobian, const SpatialJacobianType &inverseSpatialJacobian, DerivativeType &jacobianOfSpatialJacobianDeterminant) const |
|
void | EvaluateTransformJacobianInnerProduct (const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const override |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| SumSquaredTissueVolumeDifferenceImageToImageMetric () |
|
void | ThreadedGetValue (ThreadIdType threadID) const override |
|
void | ThreadedGetValueAndDerivative (ThreadIdType threadId) const override |
|
void | UpdateValueAndDerivativeTerms (const RealType fixedImageValue, const RealType movingImageValue, const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji, const RealType spatialJacobianDeterminant, const DerivativeType &jacobianOfSpatialJacobianDeterminant, MeasureType &measure, DerivativeType &deriv) const |
|
| ~SumSquaredTissueVolumeDifferenceImageToImageMetric () override=default |
|
| AdvancedImageToImageMetric () |
|
void | CheckForAdvancedTransform () |
|
void | CheckForBSplineInterpolator () |
|
void | CheckForBSplineTransform () const |
|
void | CheckNumberOfSamples (unsigned long wanted, unsigned long found) const |
|
virtual bool | EvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient) const |
|
bool | EvaluateTransformJacobian (const FixedImagePointType &fixedImagePoint, TransformJacobianType &jacobian, NonZeroJacobianIndicesType &nzji) const |
|
bool | FastEvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient, const ThreadIdType threadId) const |
|
virtual void | InitializeImageSampler () |
|
void | InitializeLimiters () |
|
virtual void | InitializeThreadingParameters () const |
|
virtual bool | IsInsideMovingMask (const MovingImagePointType &point) const |
|
| itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct) |
|
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct) |
|
void | LaunchGetValueAndDerivativeThreaderCallback () const |
|
void | LaunchGetValueThreaderCallback () const |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
void | SetFixedImageMask (const typename Superclass::FixedImageMaskType *) final |
|
void | SetFixedImageMask (typename Superclass::FixedImageMaskType *) final |
|
void | SetMovingImageMask (const typename Superclass::MovingImageMaskType *) final |
|
void | SetMovingImageMask (typename Superclass::MovingImageMaskType *) final |
|
virtual void | SetUseFixedImageLimiter (bool _arg) |
|
virtual void | SetUseImageSampler (bool _arg) |
|
virtual void | SetUseMovingImageLimiter (bool _arg) |
|
MovingImagePointType | TransformPoint (const FixedImagePointType &fixedImagePoint) const |
|
| ~AdvancedImageToImageMetric () override=default |
|
virtual MeasureType | GetExactValue (const ParametersType ¶meters) |
|
| MetricBase ()=default |
|
| ~MetricBase () override=default |
|
| BaseComponentSE ()=default |
|
| ~BaseComponentSE () override=default |
|
| BaseComponent ()=default |
|
virtual | ~BaseComponent ()=default |
|