14 #ifndef __itkKNNGraphAlphaMutualInformationImageToImageMetric_h
15 #define __itkKNNGraphAlphaMutualInformationImageToImageMetric_h
37 #include "itkArray2D.h"
69 template<
class TFixedImage,
class TMovingImage >
145 itkStaticConstMacro( MovingImageDimension,
unsigned int, MovingImageType::ImageDimension );
180 void SetANNkDTree(
unsigned int bucketSize, std::string splittingRule );
183 void SetANNkDTree(
unsigned int bucketSize, std::string splittingRuleFixed,
184 std::string splittingRuleMoving, std::string splittingRuleJoint );
187 void SetANNbdTree(
unsigned int bucketSize, std::string splittingRule,
188 std::string shrinkingRule );
191 void SetANNbdTree(
unsigned int bucketSize, std::string splittingRuleFixed,
192 std::string splittingRuleMoving, std::string splittingRuleJoint,
193 std::string shrinkingRuleFixed, std::string shrinkingRuleMoving,
194 std::string shrinkingRuleJoint );
210 double errorBound,
double squaredRadius );
221 virtual void Initialize(
void ) throw ( ExceptionObject );
224 void GetDerivative( const TransformParametersType & parameters,
225 DerivativeType & Derivative ) const;
228 MeasureType
GetValue( const TransformParametersType & parameters ) const;
232 MeasureType & Value, DerivativeType & Derivative ) const;
235 itkSetClampMacro( Alpha,
double, 0.0, 1.0 );
238 itkGetConstReferenceMacro( Alpha,
double );
241 itkSetClampMacro( AvoidDivisionBy,
double, 0.0, 1.0 );
244 itkGetConstReferenceMacro( AvoidDivisionBy,
double );
252 virtual ~KNNGraphAlphaMutualInformationImageToImageMetric() {}
255 virtual void PrintSelf( std::ostream & os, Indent indent )
const;
297 const ListSamplePointer & listSampleFixed,
298 const ListSamplePointer & listSampleMoving,
299 const ListSamplePointer & listSampleJoint,
300 const bool & doDerivative,
301 TransformJacobianContainerType & jacobians,
302 TransformJacobianIndicesContainerType & jacobiansIndices,
303 SpatialDerivativeContainerType & spatialDerivatives )
const;
310 const MovingImagePointType & mappedPoint,
311 SpatialDerivativeType & featureGradients )
const;
318 const SpatialDerivativeType & D1sparse,
319 const SpatialDerivativeType & D2sparse_M,
320 const SpatialDerivativeType & D2sparse_J,
324 const NonZeroJacobianIndicesType & D1indices,
325 const NonZeroJacobianIndicesType & D2indices_M,
326 const NonZeroJacobianIndicesType & D2indices_J,
327 const MeasurementVectorType & diff_M,
328 const MeasurementVectorType & diff_J,
329 const MeasureType & distance_M,
330 const MeasureType & distance_J,
331 DerivativeType & dGamma_M,
332 DerivativeType & dGamma_J )
const;
338 #ifndef ITK_MANUAL_INSTANTIATION
339 #include "itkKNNGraphAlphaMutualInformationImageToImageMetric.hxx"
342 #endif // end #ifndef __itkKNNGraphAlphaMutualInformationImageToImageMetric_h
Array< int > IndexArrayType
LimiterFunctionBase< RealType, FixedImageDimension > FixedImageLimiterType
FixedImageLimiterType::OutputType FixedImageLimiterOutputType
ImageSamplerType::OutputVectorContainerType ImageSampleContainerType
Array< double > DistanceArrayType
TransformType::InputPointType FixedImagePointType
ImageSamplerBase< FixedImageType > ImageSamplerType
SmartPointer< Self > Pointer
AdvancedTransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
LimiterFunctionBase< RealType, MovingImageDimension > MovingImageLimiterType
A ListSampleBase that internally uses a CArray, which can be accessed.
ImageSamplerType::Pointer ImageSamplerPointer
MovingImageType::RegionType MovingImageRegionType
SmartPointer< Self > Pointer
SmartPointer< Self > Pointer
MovingImageLimiterType::OutputType MovingImageLimiterOutputType
FixedImageType::PixelType FixedImagePixelType
ImageSamplerType::OutputVectorContainerPointer ImageSampleContainerPointer