18 #ifndef itkCannyEdgeDetectionImageFilter_h
19 #define itkCannyEdgeDetectionImageFilter_h
32 template <
typename TValue>
87 template <
typename TInputImage,
typename TOutputImage>
136 static constexpr
unsigned int ImageDimension = TInputImage::ImageDimension;
137 static constexpr
unsigned int OutputImageDimension = TOutputImage::ImageDimension;
144 itkGetConstMacro(Variance,
const ArrayType);
150 itkGetConstMacro(MaximumError,
const ArrayType);
157 for (
unsigned int i = 0; i < TInputImage::ImageDimension; ++i)
174 for (
unsigned int i = 0; i < TInputImage::ImageDimension; ++i)
178 m_MaximumError.Fill(v);
188 itkSetMacro(UpperThreshold, OutputImagePixelType);
189 itkGetConstMacro(UpperThreshold, OutputImagePixelType);
193 itkSetMacro(LowerThreshold, OutputImagePixelType);
194 itkGetConstMacro(LowerThreshold, OutputImagePixelType);
199 return this->m_MultiplyImageFilter->GetOutput();
202 #ifdef ITK_USE_CONCEPT_CHECKING
215 PrintSelf(std::ostream & os,
Indent indent)
const override;
218 GenerateData()
override;
228 AllocateUpdateBuffer();
232 HysteresisThresholding();
275 std::slice m_ComputeCannyEdgeSlice[ImageDimension]{};
287 #ifndef ITK_MANUAL_INSTANTIATION
288 # include "itkCannyEdgeDetectionImageFilter.hxx"