13 #ifndef mitkHotspotMaskGenerator_h
14 #define mitkHotspotMaskGenerator_h
16 #include <itkObject.h>
19 #include <itkTimeStamp.h>
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;
#define MITKIMAGESTATISTICS_EXPORT
vnl_vector< int > MinIndex
vnl_vector< int > MaxIndex
The HotspotMaskGenerator class is used when a hotspot has to be found in an image....
itk::SmartPointer< const Self > ConstPointer
Image::ConstPointer DoGetMask(unsigned int) override
DoGetMask must be overridden by derived classes.
unsigned int GetNumberOfMasks() const override
~HotspotMaskGenerator() override
HotspotMaskGenerator Self
itk::SmartPointer< Self > Pointer
A data structure describing a label.
Base Class for all Mask Generators. Mask generators are classes that provide functionality for the cr...
Find image slices visible on a given plane.