14 #ifndef __itkCombinationImageToImageMetric_h
15 #define __itkCombinationImageToImageMetric_h
54 template<
class TFixedImage,
class TMovingImage >
75 TMovingImage::ImageDimension );
77 TFixedImage::ImageDimension );
137 typedef FixedArray<
double,
142 TFixedImage::ImageDimension,
143 DefaultStaticMeshTraits<
145 TFixedImage::ImageDimension,
146 TFixedImage::ImageDimension,
150 TMovingImage::ImageDimension,
151 DefaultStaticMeshTraits<
153 TMovingImage::ImageDimension,
154 TMovingImage::ImageDimension,
172 itkGetConstMacro( NumberOfMetrics,
unsigned int );
196 itkSetMacro( UseRelativeWeights,
bool );
197 itkGetMacro( UseRelativeWeights,
bool );
200 itkSetMacro( UseMultiThread,
bool );
207 void SetUseMetric(
const bool use,
const unsigned int pos );
372 virtual void Initialize(
void ) throw ( ExceptionObject );
400 virtual
unsigned long GetMTime() const;
414 virtual ~CombinationImageToImageMetric() {}
415 void PrintSelf( std::ostream & os, Indent indent )
const;
419 std::vector< SingleValuedCostFunctionPointer >
m_Metrics;
472 #ifndef ITK_MANUAL_INSTANTIATION
473 #include "itkCombinationImageToImageMetric.hxx"
476 #endif // end #ifndef __itkCombinationImageToImageMetric_h
ImageToImageMetric< TFixedImage, TMovingImage > Superclass
Superclass::MeasureType MeasureType
Superclass::TransformParametersType TransformParametersType
SingleValuedCostFunctionType::Pointer SingleValuedCostFunctionPointer
AdvancedTransform< ScalarType, FixedImageDimension, MovingImageDimension > AdvancedTransformType
Superclass::AdvancedTransformType TransformType
Superclass::DerivativeType DerivativeType
DerivativeType::ValueType HessianValueType
virtual void SetInterpolator(InterpolatorType *_arg)
const DerivativeType & GetMetricDerivative(unsigned int pos) const
static ITK_THREAD_RETURN_TYPE CombineDerivativesThreaderCallback(void *arg)
Superclass::FixedImageType FixedImageType
void SetUseAllMetrics(void)
Superclass::InputPointType InputPointType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
virtual void Initialize(void)
Superclass::TransformParametersType TransformParametersType
Superclass::MovingImagePixelType MovingImagePixelType
Superclass::MovingImageType MovingImageType
std::vector< bool > m_UseMetric
bool GetUseMetric(const unsigned int pos) const
Superclass::FixedImageMaskPointer FixedImageMaskPointer
Superclass::OutputPointType OutputPointType
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics...
Superclass::GradientImageFilterType GradientImageFilterType
static ITK_THREAD_RETURN_TYPE GetValueAndDerivativeComboThreaderCallback(void *arg)
virtual void GetSelfHessian(const TransformParametersType ¶meters, HessianType &H) const
virtual void SetFixedImage(const FixedImageType *_arg)
Superclass::GradientImagePointer GradientImagePointer
TransformType::Pointer TransformPointer
Superclass::GradientPixelType GradientPixelType
Superclass::HessianType HessianType
Superclass::TransformType TransformType
Superclass::FixedImageMaskPointer FixedImageMaskPointer
virtual void SetTransform(TransformType *_arg)
CombinationImageToImageMetric()
Superclass::OutputPointType OutputPointType
Superclass::FixedImageRegionType FixedImageRegionType
DerivativeType m_NullDerivative
std::vector< MeasureType > m_MetricValues
DerivativeValueType * st_Derivative
SmartPointer< Self > Pointer
void SetMetricRelativeWeight(double weight, unsigned int pos)
FixedImageRegionType m_NullFixedImageRegion
itk::MultiThreader ThreaderType
bool m_UseRelativeWeights
unsigned int m_NumberOfMetrics
SingleValuedCostFunctionType * GetMetric(unsigned int count) const
virtual unsigned long GetMTime() const
std::vector< DerivativeType >::iterator st_MetricDerivativesIterator
std::vector< double > st_DerivativesSumOfSquares
virtual void SetMovingImage(const MovingImageType *_arg)
virtual const FixedImageRegionType & GetFixedImageRegion(void) const
Superclass::ParametersType ParametersType
Superclass::GradientPixelType GradientPixelType
virtual const MovingImageType * GetMovingImage(void) const
virtual void SetFixedImageMask(FixedImageMaskType *_arg)
double GetMetricDerivativeMagnitude(unsigned int pos) const
void SetMetric(SingleValuedCostFunctionType *metric, unsigned int pos)
std::vector< SingleValuedCostFunctionPointer > st_MetricsIterator
Superclass::MeasureType MeasureType
virtual void GetValueAndDerivative(const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const
Superclass::InterpolatorPointer InterpolatorPointer
double GetFinalMetricWeight(unsigned int pos) const
Superclass::MovingImageMaskType MovingImageMaskType
ImageMetricType::Pointer ImageMetricPointer
void SetUseMetric(const bool use, const unsigned int pos)
Superclass::InputPointType InputPointType
FixedImageType::PixelType FixedImagePixelType
std::vcl_size_t GetMetricComputationTime(unsigned int pos) const
Superclass::GradientImageFilterPointer GradientImageFilterPointer
PointSet< CoordinateRepresentationType, TFixedImage::ImageDimension, DefaultStaticMeshTraits< CoordinateRepresentationType, TFixedImage::ImageDimension, TFixedImage::ImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > FixedPointSetType
MovingImageType::RegionType MovingImageRegionType
Superclass::FixedImageType FixedImageType
Superclass::MovingImageMaskType MovingImageMaskType
SmartPointer< const Self > ConstPointer
Superclass::DerivativeValueType DerivativeValueType
Superclass::GradientImageType GradientImageType
Superclass::ThreadInfoType ThreadInfoType
Superclass::InterpolatorType InterpolatorType
std::vector< std::vcl_size_t > st_MetricComputationTime
ParametersType * st_Parameters
FixedArray< double, itkGetStaticConstMacro(MovingImageDimension) > MovingImageDerivativeScalesType
Combines multiple metrics.
void operator=(const Self &)
virtual void SetMovingImageMask(MovingImageMaskType *_arg)
itkStaticConstMacro(MovingImageDimension, unsigned int, TMovingImage::ImageDimension)
Superclass::GradientImageFilterType GradientImageFilterType
std::vector< SingleValuedCostFunctionPointer > m_Metrics
virtual void GetDerivative(const ParametersType ¶meters, DerivativeType &derivative) const
Superclass::GradientImageType GradientImageType
Superclass::RealType RealType
Superclass::InterpolatorType InterpolatorType
Superclass::ThreaderType ThreaderType
Superclass::TransformJacobianType TransformJacobianType
Computes similarity between two point sets.
Superclass::ParametersType ParametersType
std::vector< std::vcl_size_t > m_MetricComputationTime
SingleValuedCostFunction SingleValuedCostFunctionType
std::vector< double > m_MetricDerivativesMagnitude
virtual const TransformType * GetTransform(void) const
virtual MeasureType GetValue(const ParametersType ¶meters) const
std::vector< DerivativeType > m_MetricDerivatives
Superclass::MovingImagePixelType MovingImagePixelType
Superclass::RealType RealType
static ITK_THREAD_RETURN_TYPE ComputeDerivativesMagnitudeThreaderCallback(void *arg)
std::vector< double > m_MetricRelativeWeights
DerivativeType::ValueType DerivativeValueType
Superclass::MovingImageMaskPointer MovingImageMaskPointer
virtual const SizeValueType & GetNumberOfPixelsCounted(void) const
Superclass::MovingImageMaskPointer MovingImageMaskPointer
PointSet< CoordinateRepresentationType, TMovingImage::ImageDimension, DefaultStaticMeshTraits< CoordinateRepresentationType, TMovingImage::ImageDimension, TMovingImage::ImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > MovingPointSetType
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
SingleValuedPointSetToPointSetMetric< FixedPointSetType, MovingPointSetType > PointSetMetricType
ThreaderType::ThreadInfoStruct ThreadInfoType
virtual const FixedImageType * GetFixedImage(void) const
std::vector< MeasureType >::iterator st_MetricValuesIterator
Superclass::TransformJacobianType TransformJacobianType
void SetNumberOfMetrics(unsigned int count)
void SetMetricWeight(double weight, unsigned int pos)
Superclass::HessianValueType HessianValueType
Superclass::FixedImageRegionType FixedImageRegionType
Superclass::MovingImageType MovingImageType
Superclass::MovingImageConstPointer MovingImageConstPointer
Superclass::FixedImageMaskType FixedImageMaskType
double GetMetricRelativeWeight(unsigned int pos) const
Superclass::InterpolatorPointer InterpolatorPointer
Superclass ImageMetricType
virtual void InitializeThreadingParameters(void) const
Superclass::FixedImageConstPointer FixedImageConstPointer
void PrintSelf(std::ostream &os, Indent indent) const
Superclass::FixedImageConstPointer FixedImageConstPointer
virtual const FixedImageMaskType * GetFixedImageMask(void) const
Superclass::MovingImageConstPointer MovingImageConstPointer
MeasureType GetMetricValue(unsigned int pos) const
CombinationImageToImageMetric Self
Superclass::DerivativeType DerivativeType
virtual void SetFixedImageRegion(const FixedImageRegionType _arg)
std::vector< double > m_MetricWeights
Self * st_ThisComboMetric
Superclass::CoordinateRepresentationType CoordinateRepresentationType
virtual const InterpolatorType * GetInterpolator(void) const
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::GradientImageFilterPointer GradientImageFilterPointer
double GetMetricWeight(unsigned int pos) const
virtual const MovingImageMaskType * GetMovingImageMask(void) const
vnl_sparse_matrix< HessianValueType > HessianType
Superclass::GradientImagePointer GradientImagePointer