Package org.itk.simple
Class ZeroCrossingBasedEdgeDetectionImageFilter
java.lang.Object
org.itk.simple.ProcessObject
org.itk.simple.ImageFilter
org.itk.simple.ZeroCrossingBasedEdgeDetectionImageFilter
This filter implements a zero-crossing based edge detector.
The zero-crossing based edge detector looks for pixels in the
Laplacian of an image where the value of the Laplacian passes through
zero points where the Laplacian changes sign. Such points often occur
at "edges" in images i.e. points where the intensity of the image
changes rapidly, but they also occur at places that are not as easy to
associate with edges. It is best to think of the zero crossing
detector as some sort of feature detector rather than as a specific
edge detector.
Zero crossings always lie on closed contours and so the output from
the zero crossing detector is usually a binary image with single pixel
thickness lines showing the positions of the zero crossing points.
In this implementation, the input image is first smoothed with a
Gaussian filter, then the LaplacianImageFilter is applied to smoothed image. Finally the zero-crossing of the
Laplacian of the smoothed image is detected. The output is a binary
image.
Inputs and Outputs
The input to the filter should be a scalar, itk::Image of arbitrary dimension. The output image is a binary, labeled image.
See itkZeroCrossingImageFilter for more information on requirements of
the data type of the output.
To use this filter, first set the parameters (variance and maximum
error) needed by the embedded DiscreteGaussianImageFilter , i.e. See DiscreteGaussianImageFilter for information about these parameters. Optionally, you may also set
foreground and background values for the zero-crossing filter. The
default label values are Zero for the background and One for the
foreground, as defined in NumericTraits for the data type of the output image.
See:
DiscreteGaussianImageFilter
LaplacianImageFilter
ZeroCrossingImageFilter
itk::simple::ZeroCrossingBasedEdgeDetection for the procedural interface
itk::ZeroCrossingBasedEdgeDetectionImageFilter for the Doxygen on the original ITK class.
C++ includes: sitkZeroCrossingBasedEdgeDetectionImageFilter.h
-
Field Summary
Fields inherited from class org.itk.simple.ProcessObject
swigCMemOwn
-
Constructor Summary
ConstructorsModifierConstructorDescriptionitk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::ZeroCrossingBasedEdgeDetectionImageFilter() Default Constructor that takes no arguments and initializes default parametersprotected
ZeroCrossingBasedEdgeDetectionImageFilter
(long cPtr, boolean cMemoryOwn) -
Method Summary
Modifier and TypeMethodDescriptionvoid
delete()
virtual itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::~ZeroCrossingBasedEdgeDetectionImageFilter() DestructorImage itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::Execute(const Image &image1) Execute the filter on the input imageprotected void
finalize()
short
uint8_t itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::GetBackgroundValue() const Get/Set the label values for the ZeroCrossingImageFilterprotected static long
short
uint8_t itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::GetForegroundValue() const Get/Set the label values for the ZeroCrossingImageFilterdouble
double itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::GetMaximumError() const Standard get/set macros for Gaussian filter parameters.getName()
std::string itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::GetName() const Name of this classdouble
double itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::GetVariance() const Standard get/set macros for Gaussian filter parameters.void
setBackgroundValue
(short BackgroundValue) Self& itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::SetBackgroundValue(uint8_t BackgroundValue) Get/Set the label values for the ZeroCrossingImageFiltervoid
setForegroundValue
(short ForegroundValue) Self& itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::SetForegroundValue(uint8_t ForegroundValue) Get/Set the label values for the ZeroCrossingImageFiltervoid
setMaximumError
(double MaximumError) Self& itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::SetMaximumError(double MaximumError) Set the MaximumError parameter needed by the embedded gaussian filter This value is used to set the desired maximum error of the gaussian approximation.void
setVariance
(double Variance) Self& itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::SetVariance(double Variance) Set the variance parameter needed by the embedded gaussian filterprotected static long
toString()
std::string itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::ToString() const Print ourselves outMethods inherited from class org.itk.simple.ImageFilter
getCPtr, swigRelease
Methods inherited from class org.itk.simple.ProcessObject
abort, addCommand, debugOff, debugOn, getCPtr, getDebug, getGlobalDefaultCoordinateTolerance, getGlobalDefaultDebug, getGlobalDefaultDirectionTolerance, getGlobalDefaultNumberOfThreads, getGlobalDefaultThreader, getGlobalWarningDisplay, getNumberOfThreads, getNumberOfWorkUnits, getProgress, globalDefaultDebugOff, globalDefaultDebugOn, globalWarningDisplayOff, globalWarningDisplayOn, hasCommand, removeAllCommands, setDebug, setGlobalDefaultCoordinateTolerance, setGlobalDefaultDebug, setGlobalDefaultDirectionTolerance, setGlobalDefaultNumberOfThreads, setGlobalDefaultThreader, setGlobalWarningDisplay, setNumberOfThreads, setNumberOfWorkUnits, swigRelease
-
Constructor Details
-
ZeroCrossingBasedEdgeDetectionImageFilter
protected ZeroCrossingBasedEdgeDetectionImageFilter(long cPtr, boolean cMemoryOwn) -
ZeroCrossingBasedEdgeDetectionImageFilter
public ZeroCrossingBasedEdgeDetectionImageFilter()itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::ZeroCrossingBasedEdgeDetectionImageFilter() Default Constructor that takes no arguments and initializes default parameters
-
-
Method Details
-
getCPtr
-
swigRelease
-
finalize
protected void finalize()- Overrides:
finalize
in classImageFilter
-
delete
public void delete()virtual itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::~ZeroCrossingBasedEdgeDetectionImageFilter() Destructor- Overrides:
delete
in classImageFilter
-
setVariance
public void setVariance(double Variance) Self& itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::SetVariance(double Variance) Set the variance parameter needed by the embedded gaussian filter -
getVariance
public double getVariance()double itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::GetVariance() const Standard get/set macros for Gaussian filter parameters. -
setForegroundValue
public void setForegroundValue(short ForegroundValue) Self& itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::SetForegroundValue(uint8_t ForegroundValue) Get/Set the label values for the ZeroCrossingImageFilter -
getForegroundValue
public short getForegroundValue()uint8_t itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::GetForegroundValue() const Get/Set the label values for the ZeroCrossingImageFilter -
setBackgroundValue
public void setBackgroundValue(short BackgroundValue) Self& itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::SetBackgroundValue(uint8_t BackgroundValue) Get/Set the label values for the ZeroCrossingImageFilter -
getBackgroundValue
public short getBackgroundValue()uint8_t itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::GetBackgroundValue() const Get/Set the label values for the ZeroCrossingImageFilter -
setMaximumError
public void setMaximumError(double MaximumError) Self& itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::SetMaximumError(double MaximumError) Set the MaximumError parameter needed by the embedded gaussian filter This value is used to set the desired maximum error of the gaussian approximation. Maximum error is the difference between the area under the discrete Gaussian curve and the area under the continuous Gaussian. Maximum error affects the Gaussian operator size. The value must be between 0.0 and 1.0. -
getMaximumError
public double getMaximumError()double itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::GetMaximumError() const Standard get/set macros for Gaussian filter parameters. -
getName
std::string itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::GetName() const Name of this class- Overrides:
getName
in classProcessObject
-
toString
std::string itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::ToString() const Print ourselves out- Overrides:
toString
in classProcessObject
-
execute
Image itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::Execute(const Image &image1) Execute the filter on the input image
-