13 #ifndef mitkHotspotMaskGenerator_h
14 #define mitkHotspotMaskGenerator_h
16 #include <itkObject.h>
19 #include <itkTimeStamp.h>
52 unsigned int GetNumberOfMasks()
const override;
62 itkGetConstMacro(HotspotRadiusInMM,
double);
63 itkSetMacro(HotspotRadiusInMM,
double);
68 itkGetConstMacro(HotspotMustBeCompletelyInsideImage,
bool);
69 itkSetMacro(HotspotMustBeCompletelyInsideImage,
bool);
74 itkSetMacro(
Label,
unsigned short);
94 ,Max(
itk::NumericTraits<double>::min())
95 ,Min(
itk::NumericTraits<double>::max())
102 template <
unsigned int VImageDimension>
103 itk::Size<VImageDimension>
104 CalculateConvolutionKernelSize(
double spacing[VImageDimension],
double radiusInMM);
107 template <
unsigned int VImageDimension>
109 GenerateHotspotSearchConvolutionKernel(
double spacing[VImageDimension],
double radiusInMM);
112 template <
typename TPixel,
unsigned int VImageDimension>
114 GenerateConvolutionImage(
const itk::Image<TPixel, VImageDimension>* inputImage );
118 template <
typename TPixel,
unsigned int VImageDimension>
120 FillHotspotMaskPixels( itk::Image<TPixel, VImageDimension>* maskImage,
121 itk::Point<double, VImageDimension> sphereCenter,
122 double sphereRadiusInMM);
126 template <
typename TPixel,
unsigned int VImageDimension>
128 CalculateHotspotMask(
const itk::Image<TPixel, VImageDimension>* inputImage,
129 const itk::Image<unsigned short, VImageDimension>* maskImage,
133 template <
typename TPixel,
unsigned int VImageDimension >
134 ImageExtrema CalculateExtremaWorld(
const itk::Image<TPixel, VImageDimension>* inputImage,
135 const itk::Image<unsigned short, VImageDimension>* maskImage,
136 double necessaryDistanceToImageBorderInMM,
139 bool IsUpdateRequired()
const;
144 MaskGenerator::Pointer m_Mask;
146 itk::Image<unsigned short, 2>::ConstPointer m_internalMask2D;
147 itk::Image<unsigned short, 3>::ConstPointer m_internalMask3D;
148 double m_HotspotRadiusInMM;
149 bool m_HotspotMustBeCompletelyInsideImage;
150 unsigned short m_Label;
151 vnl_vector<int> m_ConvolutionImageMinIndex, m_ConvolutionImageMaxIndex;
152 unsigned long m_InternalMaskUpdateTime;