17 #ifndef itkCannyEdgeDetectionRecursiveGaussianImageFilter_h
18 #define itkCannyEdgeDetectionRecursiveGaussianImageFilter_h
37 template <
class TValueType>
91 template<
class TInputImage,
class TOutputImage>
144 itkStaticConstMacro(ImageDimension,
unsigned int,
145 TInputImage::ImageDimension);
146 itkStaticConstMacro(OutputImageDimension,
unsigned int,
147 TOutputImage::ImageDimension);
163 this->m_Threshold = th;
164 this->m_UpperThreshold = m_Threshold;
165 this->m_LowerThreshold = m_Threshold/2.0;
166 itkLegacyReplaceBodyMacro(SetThreshold, 2.2, SetUpperThreshold);
171 itkLegacyReplaceBodyMacro(GetThreshold, 2.2, GetUpperThreshold);
172 return this->m_Threshold;
176 itkSetMacro(UpperThreshold, OutputImagePixelType );
177 itkGetMacro(UpperThreshold, OutputImagePixelType);
179 itkSetMacro(LowerThreshold, OutputImagePixelType );
180 itkGetMacro(LowerThreshold, OutputImagePixelType);
183 itkSetMacro(OutsideValue, OutputImagePixelType);
184 itkGetMacro(OutsideValue, OutputImagePixelType);
188 return this->m_MultiplyImageFilter->GetOutput();
200 #ifdef ITK_USE_CONCEPT_CHECKING
219 void PrintSelf(std::ostream& os,
Indent indent)
const;
236 void AllocateUpdateBuffer();
239 void HysteresisThresholding();
251 void Compute2ndDerivative();
270 outputRegionForThread,
int threadId);
276 Compute2ndDerivativeThreaderCallback(
void * arg );
288 void Compute2ndDerivativePos();
296 outputRegionForThread,
int threadId);
302 Compute2ndDerivativePosThreaderCallback(
void *arg );
341 std::slice m_ComputeCannyEdgeSlice[ImageDimension];
343 unsigned long m_Stride[ImageDimension];
353 #ifndef ITK_MANUAL_INSTANTIATION
354 #include "itkCannyEdgeDetectionRecursiveGaussianImageFilter.hxx"
OutputImagePixelType m_LowerThreshold
ListNode< IndexType > ListNodeType
A function object that determines a neighborhood of values at an image boundary according to a Neuman...
void SetThreshold(const OutputImagePixelType th)
OutputImagePixelType m_Threshold
MultiplyImageFilter< OutputImageType, OutputImageType, OutputImageType > MultiplyImageFilterType
TOutputImage::RegionType OutputImageRegionType
TOutputImage OutputImageType
DerivativeOperator< OutputImagePixelType, itkGetStaticConstMacro(ImageDimension)> m_ComputeCannyEdge1stDerivativeOper
CannyEdgeDetectionRecursiveGaussianImageFilter * Filter
GaussianImageFilterType::ScalarRealType ScalarRealType
SmoothingRecursiveGaussianImageFilter< InputImageType, OutputImageType > GaussianImageFilterType
ImageToImageFilter< TInputImage, TOutputImage > Superclass
ListPointerType m_NodeList
OutputImagePixelType m_UpperThreshold
SparseFieldLayer< ListNodeType > ListType
TOutputImage::PixelType OutputImagePixelType
TInputImage::IndexType IndexType
FixedArray< double, itkGetStaticConstMacro(ImageDimension)> ArrayType
Base class for all process objects that output image data.
TInputImage::PixelType InputImagePixelType
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
#define ITK_THREAD_RETURN_TYPE
SmartPointer< Self > Pointer
ListType::Pointer ListPointerType
OutputImageType * GetNonMaximumSuppressionImage() const
ConstNeighborhoodIterator< OutputImageType, DefaultBoundaryConditionType > NeighborhoodType
ListNodeStorageType::Pointer m_NodeStore
GaussianImageFilterType::SigmaArrayType SigmaArrayType
DerivativeOperator< OutputImagePixelType, itkGetStaticConstMacro(ImageDimension)> m_ComputeCannyEdge2ndDerivativeOper
OutputImageType::Pointer m_UpdateBuffer1
MultiplyImageFilterType::Pointer m_MultiplyImageFilter
SmartPointer< const Self > ConstPointer
GaussianImageFilterType::Pointer m_GaussianFilter
TInputImage InputImageType
Computes the smoothing of an image by convolution with the Gaussian kernels implemented as IIR filter...
NumericTraits< PixelType >::ScalarRealType ScalarRealType
virtual ~CannyEdgeDetectionRecursiveGaussianImageFilter()
OutputImageType::PixelType OutputImagePixelType
CannyEdgeDetectionRecursiveGaussianImageFilter Self
OutputImagePixelType GetThreshold(OutputImagePixelType)
TInputImage InputImageType
ObjectStore< ListNodeType > ListNodeStorageType
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.
OutputImagePixelType m_OutsideValue
TOutputImage OutputImageType
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...
CannyEdgeDetectionRecursiveGaussianImageFilter(const Self &)
ZeroFluxNeumannBoundaryCondition< OutputImageType > DefaultBoundaryConditionType