18 #ifndef __itkSumSquaredTissueVolumeDifferenceImageToImageMetric_h 19 #define __itkSumSquaredTissueVolumeDifferenceImageToImageMetric_h 60 template <
class TFixedImage,
class TMovingImage >
130 itkStaticConstMacro( MovingImageDimension,
unsigned int, MovingImageType::ImageDimension );
135 virtual MeasureType
GetValue(
const TransformParametersType & parameters )
const;
138 virtual void GetDerivative(
const TransformParametersType & parameters,
139 DerivativeType & derivative )
const;
143 MeasureType & Value, DerivativeType & Derivative )
const;
147 MeasureType & measure, DerivativeType & derivative)
const;
150 itkSetMacro( AirValue, RealType );
151 itkGetMacro( AirValue, RealType );
154 itkSetMacro( TissueValue, RealType );
155 itkGetMacro( TissueValue, RealType );
161 void PrintSelf( std::ostream & os, Indent indent )
const;
181 const TransformJacobianType & jacobian,
182 const MovingImageDerivativeType & movingImageDerivative,
183 DerivativeType & imageJacobian)
const;
188 const RealType fixedImageValue,
189 const RealType movingImageValue,
190 const DerivativeType & imageJacobian,
191 const NonZeroJacobianIndicesType & nzji,
192 const RealType spatialJacobianDeterminant,
193 const DerivativeType & jacobianOfSpatialJacobianDeterminant,
194 MeasureType & measure,
195 DerivativeType & deriv )
const;
204 const SpatialJacobianType & spatialJacobian,
205 const RealType spatialJacobianDeterminant,
206 SpatialJacobianType & inverseSpatialJacobian )
const;
214 const JacobianOfSpatialJacobianType & jacobianOfSpatialJacobian,
215 const SpatialJacobianType & inverseSpatialJacobian,
216 DerivativeType & jacobianOfSpatialJacobianDeterminant )
const;
229 MeasureType & measure, DerivativeType & derivative )
const;
245 #ifndef ITK_MANUAL_INSTANTIATION 246 #include "itkSumSquaredTissueVolumeDifferenceImageToImageMetric.hxx" 249 #endif // end #ifndef __itkSumSquaredTissueVolumeDifferenceImageToImageMetric_h Superclass::MeasureType MeasureType
SmartPointer< const Self > ConstPointer
AdvancedTransform< ScalarType, FixedImageDimension, MovingImageDimension > AdvancedTransformType
TransformType::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
void ThreadedGetValueAndDerivative(ThreadIdType threadId)
Compute sum of square tissue volume difference between two images.
Superclass::InputPointType InputPointType
Superclass::FixedImageLimiterType FixedImageLimiterType
TransformType::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
LimiterFunctionBase< RealType, FixedImageDimension > FixedImageLimiterType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::ImageSamplerType ImageSamplerType
Superclass::TransformParametersType TransformParametersType
SumSquaredTissueVolumeDifferenceImageToImageMetric Self
Superclass::GradientImageFilterType GradientImageFilterType
Superclass::MovingImageType MovingImageType
Superclass::FixedImageMaskPointer FixedImageMaskPointer
TransformType::InternalMatrixType InternalMatrixType
Superclass::OutputPointType OutputPointType
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics...
Superclass::ImageSampleContainerType ImageSampleContainerType
Superclass::MovingImageLimiterType MovingImageLimiterType
void ThreadedGetValue(ThreadIdType threadID)
Superclass::MovingImageType MovingImageType
Superclass::GradientPixelType GradientPixelType
virtual ~SumSquaredTissueVolumeDifferenceImageToImageMetric()
FixedImageLimiterType::OutputType FixedImageLimiterOutputType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::MovingImagePixelType MovingImagePixelType
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
Superclass::FixedImageRegionType FixedImageRegionType
Superclass::MovingImageIndexType MovingImageIndexType
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::MeasureType MeasureType
ImageSamplerType::OutputVectorContainerType ImageSampleContainerType
MovingImageType::IndexType MovingImageIndexType
Superclass::MovingImageConstPointer MovingImageConstPointer
InterpolatorType::ContinuousIndexType MovingImageContinuousIndexType
TransformType::InputPointType FixedImagePointType
bool EvaluateInverseSpatialJacobian(const SpatialJacobianType &spatialJacobian, const RealType spatialJacobianDeterminant, SpatialJacobianType &inverseSpatialJacobian) const
void GetValueAndDerivativeSingleThreaded(const TransformParametersType ¶meters, MeasureType &measure, DerivativeType &derivative) const
Superclass::MovingImageLimiterOutputType MovingImageLimiterOutputType
Superclass::ParametersType ParametersType
FixedArray< double, Self::MovingImageDimension > MovingImageDerivativeScalesType
BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > BSplineInterpolatorType
Superclass::ParametersType ParametersType
ImageSamplerBase< FixedImageType > ImageSamplerType
Superclass::AdvancedTransformType TransformType
AdvancedTransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
void AfterThreadedGetValueAndDerivative(MeasureType &measure, DerivativeType &derivative) const
Superclass::ImageSamplerPointer ImageSamplerPointer
Superclass::FixedImagePointType FixedImagePointType
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
Superclass::InterpolatorPointer InterpolatorPointer
FixedImageType::IndexType FixedImageIndexType
virtual MeasureType GetValueSingleThreaded(const TransformParametersType ¶meters) const
Superclass::BSplineInterpolatorType BSplineInterpolatorType
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::MovingImagePointType MovingImagePointType
void operator=(const Self &)
SmartPointer< Self > Pointer
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::InputPointType InputPointType
FixedImageIndexType::IndexValueType FixedImageIndexValueType
TransformType::OutputPointType MovingImagePointType
Superclass::FixedImageType FixedImageType
Superclass::FixedImageMaskPointer FixedImageMaskPointer
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::MovingImageMaskPointer MovingImageMaskPointer
LimiterFunctionBase< RealType, MovingImageDimension > MovingImageLimiterType
Superclass::GradientImageType GradientImageType
Superclass::DerivativeValueType DerivativeValueType
Superclass::TransformJacobianType TransformJacobianType
Superclass::GradientImageType GradientImageType
Superclass::MovingImageRegionType MovingImageRegionType
Superclass::FixedImagePixelType FixedImagePixelType
Superclass::GradientImagePointer GradientImagePointer
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Superclass::InterpolatorPointer InterpolatorPointer
virtual void GetDerivative(const TransformParametersType ¶meters, DerivativeType &derivative) const
Superclass::GradientImageFilterType GradientImageFilterType
ImageSamplerType::Pointer ImageSamplerPointer
MovingImageType::RegionType MovingImageRegionType
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
Superclass::FixedImageIndexType FixedImageIndexType
Superclass::OutputPointType OutputPointType
Superclass::InterpolatorType InterpolatorType
void PrintSelf(std::ostream &os, Indent indent) const
TransformType::SpatialJacobianType SpatialJacobianType
Superclass::TransformJacobianType TransformJacobianType
TransformType::SpatialHessianType SpatialHessianType
SumSquaredTissueVolumeDifferenceImageToImageMetric()
void EvaluateJacobianOfSpatialJacobianDeterminantInnerProduct(const JacobianOfSpatialJacobianType &jacobianOfSpatialJacobian, const SpatialJacobianType &inverseSpatialJacobian, DerivativeType &jacobianOfSpatialJacobianDeterminant) const
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::FixedImageRegionType FixedImageRegionType
Superclass::MovingImagePixelType MovingImagePixelType
GradientImageFilter< MovingImageType, RealType, RealType > CentralDifferenceGradientFilterType
void AfterThreadedGetValue(MeasureType &value) const
Superclass::RealType RealType
Superclass::FixedImageLimiterOutputType FixedImageLimiterOutputType
DerivativeType::ValueType DerivativeValueType
Superclass::MovingImageMaskPointer MovingImageMaskPointer
MovingImageLimiterType::OutputType MovingImageLimiterOutputType
virtual void GetValueAndDerivative(const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const
FixedImageType::PixelType FixedImagePixelType
Superclass::MovingImageDerivativeType MovingImageDerivativeType
ImageSamplerType::OutputVectorContainerPointer ImageSampleContainerPointer
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
Superclass::FixedImageIndexValueType FixedImageIndexValueType
Superclass::FixedImageType FixedImageType
void EvaluateTransformJacobianInnerProduct(const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const
Superclass::InterpolatorType InterpolatorType
Superclass::DerivativeType DerivativeType
virtual MeasureType GetValue(const TransformParametersType ¶meters) const
Superclass::TransformParametersType TransformParametersType
BSplineInterpolatorType::CovariantVectorType MovingImageDerivativeType
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::MovingImageConstPointer MovingImageConstPointer
Superclass::CentralDifferenceGradientFilterType CentralDifferenceGradientFilterType
Superclass::DerivativeType DerivativeType
Superclass::RealType RealType
Superclass::GradientPixelType GradientPixelType
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::GradientImagePointer GradientImagePointer