18 #ifndef itkCannyEdgeDetectionImageFilter_h
19 #define itkCannyEdgeDetectionImageFilter_h
31 template<
typename TValue >
85 template<
typename TInputImage,
typename TOutputImage >
136 TInputImage::ImageDimension);
138 TOutputImage::ImageDimension);
146 itkGetConstMacro(Variance,
const ArrayType);
148 itkGetConstMacro(MaximumError,
const ArrayType);
155 for (
unsigned int i = 0; i < TInputImage::ImageDimension; i++ )
171 for (
unsigned int i = 0; i < TInputImage::ImageDimension; i++ )
213 #ifdef ITK_USE_CONCEPT_CHECKING
241 void operator=(const Self &);
359 #ifndef ITK_MANUAL_INSTANTIATION
360 #include "itkCannyEdgeDetectionImageFilter.hxx"
FixedArray< double, itkGetStaticConstMacro(ImageDimension) > ArrayType
A function object that determines a neighborhood of values at an image boundary according to a Neuman...
TInputImage::RegionType InputImageRegionType
Light weight base class for most itk classes.
SparseFieldLayer< ListNodeType > ListType
void Compute2ndDerivativePos()
SizeValueType m_Stride[ImageDimension]
TInputImage::IndexType IndexType
static ITK_THREAD_RETURN_TYPE Compute2ndDerivativeThreaderCallback(void *arg)
void Compute2ndDerivative()
TInputImage::SizeValueType SizeValueType
ObjectStore< ListNodeType > ListNodeStorageType
static const unsigned int OutputImageDimension
CannyEdgeDetectionImageFilter * Filter
ConstNeighborhoodIterator< OutputImageType, DefaultBoundaryConditionType > NeighborhoodType
void SetVariance(const typename ArrayType::ValueType v)
void HysteresisThresholding()
DerivativeOperator< OutputImagePixelType, itkGetStaticConstMacro(ImageDimension) > m_ComputeCannyEdge1stDerivativeOper
OutputImagePixelType m_LowerThreshold
void PrintSelf(std::ostream &os, Indent indent) const override
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
unsigned long SizeValueType
#define ITK_THREAD_RETURN_TYPE
void Fill(const ValueType &)
ImageToImageFilter< TInputImage, TOutputImage > Superclass
ListNodeStorageType::Pointer m_NodeStore
typedef(Concept::HasNumericTraits< InputImagePixelType >) InputHasNumericTraitsCheck
GaussianImageFilterType::Pointer m_GaussianFilter
virtual void GenerateInputRequestedRegion() override
static ITK_THREAD_RETURN_TYPE Compute2ndDerivativePosThreaderCallback(void *arg)
OutputImagePixelType m_UpperThreshold
TOutputImage OutputImageType
SmartPointer< Self > Pointer
MultiplyImageFilterType::Pointer m_MultiplyImageFilter
ListType::Pointer ListPointerType
void GenerateData() override
DerivativeOperator< OutputImagePixelType, itkGetStaticConstMacro(ImageDimension) > m_ComputeCannyEdge2ndDerivativeOper
OutputImageType * GetNonMaximumSuppressionImage()
std::slice m_ComputeCannyEdgeSlice[ImageDimension]
void FollowEdge(IndexType index, const OutputImageType *multiplyImageFilterOutput)
void ThreadedCompute2ndDerivative(const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId)
ZeroFluxNeumannBoundaryCondition< OutputImageType > DefaultBoundaryConditionType
SmartPointer< const Self > ConstPointer
OutputImageType::PixelType OutputImagePixelType
TInputImage::PixelType InputImagePixelType
virtual void Modified() const
unsigned int ThreadIdType
TOutputImage::RegionType OutputImageRegionType
OutputImageType::Pointer m_UpdateBuffer1
void AllocateUpdateBuffer()
OutputImagePixelType ComputeCannyEdge(const NeighborhoodType &it, void *globalData)
void ThreadedCompute2ndDerivativePos(const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId)
CannyEdgeDetectionImageFilter Self
Base class for filters that take an image as input and produce an image as output.
OutputImageType::RegionType OutputImageRegionType
Control indentation during Print() invocation.
Pixel-wise multiplication of two images.
ListNode< IndexType > ListNodeType
A very simple linked list that is used to manage nodes in a layer of a sparse field level-set solver...
#define itkConceptMacro(name, concept)
A specialized memory management object for allocating and destroying contiguous blocks of objects...
TInputImage InputImageType
CannyEdgeDetectionImageFilter()
void SetMaximumError(const typename ArrayType::ValueType v)
Blurs an image by separable convolution with discrete gaussian kernels. This filter performs Gaussian...
TOutputImage::PixelType OutputImagePixelType
OutputImageType * m_OutputImage
static const unsigned int ImageDimension
This filter is an implementation of a Canny edge detector for scalar-valued images.
ListPointerType m_NodeList