go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkAdvancedKappaStatisticImageToImageMetric.h
Go to the documentation of this file.
1 /*======================================================================
2 
3  This file is part of the elastix software.
4 
5  Copyright (c) University Medical Center Utrecht. All rights reserved.
6  See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7  details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notices for more information.
12 
13 ======================================================================*/
14 
15 
16 #ifndef __itkAdvancedKappaStatisticImageToImageMetric_h
17 #define __itkAdvancedKappaStatisticImageToImageMetric_h
18 
20 
21 namespace itk
22 {
23 
53 template < class TFixedImage, class TMovingImage >
55  public AdvancedImageToImageMetric< TFixedImage, TMovingImage>
56 {
57 public:
58 
62  TFixedImage, TMovingImage > Superclass;
63  typedef SmartPointer<Self> Pointer;
64  typedef SmartPointer<const Self> ConstPointer;
65 
67  itkNewMacro( Self );
68 
71 
73  typedef typename
89  typedef typename Superclass::RealType RealType;
108  typedef typename
112  typedef typename
114  typedef typename
116  typedef typename
118 
120  itkStaticConstMacro( FixedImageDimension, unsigned int,
121  FixedImageType::ImageDimension );
122 
124  itkStaticConstMacro( MovingImageDimension, unsigned int,
125  MovingImageType::ImageDimension );
126 
128  virtual MeasureType GetValue( const TransformParametersType & parameters ) const;
129 
131  virtual void GetDerivative( const TransformParametersType & parameters,
132  DerivativeType & derivative ) const;
133 
135  virtual void GetValueAndDerivative( const TransformParametersType & parameters,
136  MeasureType& Value, DerivativeType& Derivative ) const;
137 
139  virtual void ComputeGradient( void );
140 
142  itkSetMacro( ForegroundValue, RealType );
143  itkGetConstReferenceMacro( ForegroundValue, RealType );
144 
149  itkSetMacro( UseForegroundValue, bool );
150 
156  itkSetMacro( Complement, bool );
157  itkGetConstReferenceMacro( Complement, bool );
158  itkBooleanMacro( Complement );
159 
161  itkSetMacro( Epsilon, RealType );
162  itkGetConstReferenceMacro( Epsilon, RealType );
163 
164 protected:
167 
169  void PrintSelf( std::ostream & os, Indent indent ) const;
170 
184 
190  const TransformJacobianType & jacobian,
191  const MovingImageDerivativeType & movingImageDerivative,
192  DerivativeType & innerProduct ) const;
193 
198  const RealType & fixedImageValue,
199  const RealType & movingImageValue,
200  std::size_t & fixedForegroundArea,
201  std::size_t & movingForegroundArea,
202  std::size_t & intersection,
203  const DerivativeType & imageJacobian,
204  const NonZeroJacobianIndicesType & nzji,
205  DerivativeType & sum1,
206  DerivativeType & sum2 ) const;
207 
208 private:
209  AdvancedKappaStatisticImageToImageMetric(const Self&); //purposely not implemented
210  void operator=(const Self&); //purposely not implemented
211 
216 
217 }; // end class AdvancedKappaStatisticImageToImageMetric
218 
219 } // end namespace itk
220 
221 #ifndef ITK_MANUAL_INSTANTIATION
222 #include "itkAdvancedKappaStatisticImageToImageMetric.hxx"
223 #endif
224 
225 #endif // end #ifndef __itkAdvancedKappaStatisticImageToImageMetric_h
226 
void PrintSelf(std::ostream &os, Indent indent) const
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::TransformParametersType TransformParametersType
Superclass::MovingImageType MovingImageType
Superclass::FixedImageMaskPointer FixedImageMaskPointer
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics...
BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > BSplineInterpolatorType
Superclass::GradientPixelType GradientPixelType
FixedImageLimiterType::OutputType FixedImageLimiterOutputType
Superclass::FixedImageRegionType FixedImageRegionType
ImageSamplerType::OutputVectorContainerType ImageSampleContainerType
MovingImageType::IndexType MovingImageIndexType
Superclass::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
InterpolatorType::ContinuousIndexType MovingImageContinuousIndexType
void EvaluateMovingImageAndTransformJacobianInnerProduct(const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &innerProduct) const
TransformType::InputPointType FixedImagePointType
ImageSamplerBase< FixedImageType > ImageSamplerType
AdvancedTransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::InterpolatorPointer InterpolatorPointer
FixedArray< double, itkGetStaticConstMacro(MovingImageDimension) > MovingImageDerivativeScalesType
FixedImageIndexType::IndexValueType FixedImageIndexValueType
TransformType::OutputPointType MovingImagePointType
LimiterFunctionBase< RealType, FixedImageDimension > FixedImageLimiterType
Superclass::MovingImageMaskType MovingImageMaskType
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
Superclass::GradientImageType GradientImageType
Superclass::TransformPointer TransformPointer
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
virtual void GetValueAndDerivative(const TransformParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const
Superclass::GradientImageFilterType GradientImageFilterType
MovingImageType::RegionType MovingImageRegionType
Superclass::InterpolatorType InterpolatorType
Superclass::TransformJacobianType TransformJacobianType
virtual MeasureType GetValue(const TransformParametersType &parameters) const
GradientImageFilter< MovingImageType, RealType, RealType > CentralDifferenceGradientFilterType
Computes similarity between two objects to be registered.
virtual void GetDerivative(const TransformParametersType &parameters, DerivativeType &derivative) const
Superclass::MovingImagePixelType MovingImagePixelType
Superclass::MovingImageMaskPointer MovingImageMaskPointer
MovingImageLimiterType::OutputType MovingImageLimiterOutputType
LimiterFunctionBase< RealType, MovingImageDimension > MovingImageLimiterType
ImageSamplerType::OutputVectorContainerPointer ImageSampleContainerPointer
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::CentralDifferenceGradientFilterType CentralDifferenceGradientFilterType
BSplineInterpolatorType::CovariantVectorType MovingImageDerivativeType
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::MovingImageConstPointer MovingImageConstPointer
void UpdateValueAndDerivativeTerms(const RealType &fixedImageValue, const RealType &movingImageValue, std::vcl_size_t &fixedForegroundArea, std::vcl_size_t &movingForegroundArea, std::vcl_size_t &intersection, const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji, DerivativeType &sum1, DerivativeType &sum2) const
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::GradientImagePointer GradientImagePointer


Generated on 05-01-2014 for elastix by doxygen 1.8.5 elastix logo