18#ifndef itkCannyEdgeDetectionImageFilter_h
19#define itkCannyEdgeDetectionImageFilter_h
32template <
typename TValue>
87template <
typename TInputImage,
typename TOutputImage>
136 static constexpr unsigned int ImageDimension = TInputImage::ImageDimension;
137 static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
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);
199 return this->m_MultiplyImageFilter->GetOutput();
202#ifdef ITK_USE_CONCEPT_CHECKING
275 std::slice m_ComputeCannyEdgeSlice[ImageDimension]{};
287#ifndef ITK_MANUAL_INSTANTIATION
288# include "itkCannyEdgeDetectionImageFilter.hxx"
This filter is an implementation of a Canny edge detector for scalar-valued images.
void SetMaximumError(const typename ArrayType::ValueType v)
~CannyEdgeDetectionImageFilter() override=default
typename TInputImage::SizeValueType SizeValueType
void ThreadedCompute2ndDerivative(const OutputImageRegionType &outputRegionForThread)
void HysteresisThresholding()
OutputImagePixelType ComputeCannyEdge(const NeighborhoodType &it, void *globalData)
void SetVariance(const typename ArrayType::ValueType v)
typename ListType::Pointer ListPointerType
OutputImageType * GetNonMaximumSuppressionImage()
void ThreadedCompute2ndDerivativePos(const OutputImageRegionType &outputRegionForThread)
typename TInputImage::IndexType IndexType
CannyEdgeDetectionImageFilter()
void GenerateData() override
void FollowEdge(IndexType index, const OutputImageType *multiplyImageFilterOutput)
TOutputImage OutputImageType
void PrintSelf(std::ostream &os, Indent indent) const override
void AllocateUpdateBuffer()
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
Blurs an image by separable convolution with discrete gaussian kernels. This filter performs Gaussian...
Base class for all process objects that output image data.
typename OutputImageType::PixelType OutputImagePixelType
typename OutputImageType::RegionType OutputImageRegionType
Base class for filters that take an image as input and produce an image as output.
TInputImage InputImageType
typename InputImageType::PixelType InputImagePixelType
typename InputImageType::RegionType InputImageRegionType
Control indentation during Print() invocation.
Pixel-wise multiplication of two images.
A specialized memory management object for allocating and destroying contiguous blocks of objects.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
A very simple linked list that is used to manage nodes in a layer of a sparse field level-set solver.
A function object that determines a neighborhood of values at an image boundary according to a Neuman...
SmartPointer< Self > Pointer
#define itkConceptMacro(name, concept)
ImageBaseType::RegionType RegionType
ImageBaseType::IndexType IndexType
bool NotExactlyEquals(const TInput1 &x1, const TInput2 &x2)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType