Class ZeroCrossingBasedEdgeDetectionImageFilter

java.lang.Object
org.itk.simple.ProcessObject
org.itk.simple.ImageFilter
org.itk.simple.ZeroCrossingBasedEdgeDetectionImageFilter

public class ZeroCrossingBasedEdgeDetectionImageFilter extends ImageFilter
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
  • 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

      protected static long getCPtr(ZeroCrossingBasedEdgeDetectionImageFilter obj)
    • swigRelease

      protected static long swigRelease(ZeroCrossingBasedEdgeDetectionImageFilter obj)
    • finalize

      protected void finalize()
      Overrides:
      finalize in class ImageFilter
    • delete

      public void delete()
      virtual itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::~ZeroCrossingBasedEdgeDetectionImageFilter() Destructor
      Overrides:
      delete in class ImageFilter
    • 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

      public String getName()
      std::string itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::GetName() const Name of this class
      Overrides:
      getName in class ProcessObject
    • toString

      public String toString()
      std::string itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::ToString() const Print ourselves out
      Overrides:
      toString in class ProcessObject
    • execute

      public Image execute(Image image1)
      Image itk::simple::ZeroCrossingBasedEdgeDetectionImageFilter::Execute(const Image &image1) Execute the filter on the input image