18 #ifndef __itkKNNGraphAlphaMutualInformationImageToImageMetric_h 19 #define __itkKNNGraphAlphaMutualInformationImageToImageMetric_h 41 #include "itkArray2D.h" 73 template<
class TFixedImage,
class TMovingImage >
149 itkStaticConstMacro( MovingImageDimension,
unsigned int, MovingImageType::ImageDimension );
184 void SetANNkDTree(
unsigned int bucketSize, std::string splittingRule );
187 void SetANNkDTree(
unsigned int bucketSize, std::string splittingRuleFixed,
188 std::string splittingRuleMoving, std::string splittingRuleJoint );
191 void SetANNbdTree(
unsigned int bucketSize, std::string splittingRule,
192 std::string shrinkingRule );
195 void SetANNbdTree(
unsigned int bucketSize, std::string splittingRuleFixed,
196 std::string splittingRuleMoving, std::string splittingRuleJoint,
197 std::string shrinkingRuleFixed, std::string shrinkingRuleMoving,
198 std::string shrinkingRuleJoint );
214 double errorBound,
double squaredRadius );
225 virtual void Initialize(
void ) throw ( ExceptionObject );
228 void GetDerivative( const TransformParametersType & parameters,
229 DerivativeType & Derivative ) const;
232 MeasureType
GetValue( const TransformParametersType & parameters ) const;
236 MeasureType & Value, DerivativeType & Derivative ) const;
239 itkSetClampMacro( Alpha,
double, 0.0, 1.0 );
242 itkGetConstReferenceMacro( Alpha,
double );
245 itkSetClampMacro( AvoidDivisionBy,
double, 0.0, 1.0 );
248 itkGetConstReferenceMacro( AvoidDivisionBy,
double );
256 virtual ~KNNGraphAlphaMutualInformationImageToImageMetric() {}
259 virtual void PrintSelf( std::ostream & os, Indent indent )
const;
301 const ListSamplePointer & listSampleFixed,
302 const ListSamplePointer & listSampleMoving,
303 const ListSamplePointer & listSampleJoint,
304 const bool & doDerivative,
305 TransformJacobianContainerType & jacobians,
306 TransformJacobianIndicesContainerType & jacobiansIndices,
307 SpatialDerivativeContainerType & spatialDerivatives )
const;
314 const MovingImagePointType & mappedPoint,
315 SpatialDerivativeType & featureGradients )
const;
322 const SpatialDerivativeType & D1sparse,
323 const SpatialDerivativeType & D2sparse_M,
324 const SpatialDerivativeType & D2sparse_J,
328 const NonZeroJacobianIndicesType & D1indices,
329 const NonZeroJacobianIndicesType & D2indices_M,
330 const NonZeroJacobianIndicesType & D2indices_J,
331 const MeasurementVectorType & diff_M,
332 const MeasurementVectorType & diff_J,
333 const MeasureType & distance_M,
334 const MeasureType & distance_J,
335 DerivativeType & dGamma_M,
336 DerivativeType & dGamma_J )
const;
342 #ifndef ITK_MANUAL_INSTANTIATION 343 #include "itkKNNGraphAlphaMutualInformationImageToImageMetric.hxx" 346 #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
AdvancedTransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
LimiterFunctionBase< RealType, MovingImageDimension > MovingImageLimiterType
A ListSampleBase that internally uses a CArray, which can be accessed.
ImageSamplerType::Pointer ImageSamplerPointer
MovingImageType::RegionType MovingImageRegionType
MovingImageLimiterType::OutputType MovingImageLimiterOutputType
FixedImageType::PixelType FixedImagePixelType
ImageSamplerType::OutputVectorContainerPointer ImageSampleContainerPointer