18 #ifndef itkMultiScaleHessianBasedMeasureImageFilter_h
19 #define itkMultiScaleHessianBasedMeasureImageFilter_h
23 #include "ITKImageFeatureExport.h"
46 extern ITKImageFeature_EXPORT std::ostream &
86 template <
typename TInputImage,
typename THessianImage,
typename TOutputImage = TInputImage>
111 static constexpr
unsigned int ImageDimension = InputImageType::ImageDimension;
135 itkSetMacro(SigmaMinimum,
double);
136 itkGetConstMacro(SigmaMinimum,
double);
140 itkSetMacro(SigmaMaximum,
double);
141 itkGetConstMacro(SigmaMaximum,
double);
145 itkSetMacro(NumberOfSigmaSteps,
unsigned int);
146 itkGetConstMacro(NumberOfSigmaSteps,
unsigned int);
162 itkSetMacro(NonNegativeHessianBasedMeasure,
bool);
163 itkGetConstMacro(NonNegativeHessianBasedMeasure,
bool);
164 itkBooleanMacro(NonNegativeHessianBasedMeasure);
168 #if !defined(ITK_LEGACY_REMOVE)
170 static constexpr
SigmaStepMethodEnum EquispacedSigmaSteps = SigmaStepMethodEnum::EquispacedSigmaSteps;
171 static constexpr
SigmaStepMethodEnum LogarithmicSigmaSteps = SigmaStepMethodEnum::LogarithmicSigmaSteps;
182 SetSigmaStepMethodToEquispaced();
186 SetSigmaStepMethodToLogarithmic();
191 GetHessianOutput()
const;
196 GetScalesOutput()
const;
200 itkSetMacro(GenerateScalesOutput,
bool);
201 itkGetConstMacro(GenerateScalesOutput,
bool);
202 itkBooleanMacro(GenerateScalesOutput);
207 itkSetMacro(GenerateHessianOutput,
bool);
208 itkGetConstMacro(GenerateHessianOutput,
bool);
209 itkBooleanMacro(GenerateHessianOutput);
219 PrintSelf(std::ostream & os,
Indent indent)
const override;
223 GenerateData()
override;
226 EnlargeOutputRequestedRegion(
DataObject *)
override;
228 using Superclass::MakeOutput;
234 UpdateMaximumResponse(
double sigma);
237 ComputeSigmaValue(
int scaleLevel);
240 AllocateUpdateBuffer();
261 #ifndef ITK_MANUAL_INSTANTIATION
262 # include "itkMultiScaleHessianBasedMeasureImageFilter.hxx"