Class DiscreteGaussianDerivativeImageFilter

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

public class DiscreteGaussianDerivativeImageFilter extends ImageFilter
Calculates image derivatives using discrete derivative gaussian kernels. This filter calculates Gaussian derivative by separable convolution of an image and a discrete Gaussian derivative operator (kernel). The Gaussian operators used here were described by Tony Lindeberg (Discrete Scale-Space Theory and the Scale-Space Primal Sketch. Dissertation. Royal Institute of Technology, Stockholm, Sweden. May 1991.) The variance or standard deviation (sigma) will be evaluated as pixel units if SetUseImageSpacing is off (false) or as physical units if SetUseImageSpacing is on (true, default). The variance can be set independently in each dimension. When the Gaussian kernel is small, this filter tends to run faster than itk::RecursiveGaussianImageFilter . Ivan Macia, Vicomtech, Spain, https://www.vicomtech.org/en This implementation was taken from the Insight Journal paper: https://www.insight-journal.org/browse/publication/179 See: GaussianDerivativeOperator Image Neighborhood NeighborhoodOperator itk::simple::DiscreteGaussianDerivative for the procedural interface itk::DiscreteGaussianDerivativeImageFilter for the Doxygen on the original ITK class. C++ includes: sitkDiscreteGaussianDerivativeImageFilter.h
  • Constructor Details

    • DiscreteGaussianDerivativeImageFilter

      protected DiscreteGaussianDerivativeImageFilter(long cPtr, boolean cMemoryOwn)
    • DiscreteGaussianDerivativeImageFilter

      public DiscreteGaussianDerivativeImageFilter()
      itk::simple::DiscreteGaussianDerivativeImageFilter::DiscreteGaussianDerivativeImageFilter() Default Constructor that takes no arguments and initializes default parameters
  • Method Details

    • getCPtr

      protected static long getCPtr(DiscreteGaussianDerivativeImageFilter obj)
    • swigRelease

      protected static long swigRelease(DiscreteGaussianDerivativeImageFilter obj)
    • finalize

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

      public void delete()
      virtual itk::simple::DiscreteGaussianDerivativeImageFilter::~DiscreteGaussianDerivativeImageFilter() Destructor
      Overrides:
      delete in class ImageFilter
    • setVariance

      public void setVariance(VectorDouble Variance)
      Self& itk::simple::DiscreteGaussianDerivativeImageFilter::SetVariance(std::vector< double > Variance) Convenience Set methods for setting all dimensional parameters to the same values.
    • setVariance

      public void setVariance(double value)
      Self& itk::simple::DiscreteGaussianDerivativeImageFilter::SetVariance(std::vector< double > Variance) Convenience Set methods for setting all dimensional parameters to the same values.
    • getVariance

      public VectorDouble getVariance()
      std::vector<double> itk::simple::DiscreteGaussianDerivativeImageFilter::GetVariance() const The variance for the discrete Gaussian kernel. Sets the variance independently for each dimension, but see also SetVariance(const double v) . The default is 0.0 in each dimension. If UseImageSpacing is true, the units are the physical units of your image. If UseImageSpacing is false then the units are pixels.
    • setOrder

      public void setOrder(VectorUInt32 Order)
      Self& itk::simple::DiscreteGaussianDerivativeImageFilter::SetOrder(unsigned int value) Set the values of the Order vector all to value
    • setOrder

      public void setOrder(long value)
      Self& itk::simple::DiscreteGaussianDerivativeImageFilter::SetOrder(unsigned int value) Set the values of the Order vector all to value
    • getOrder

      public VectorUInt32 getOrder()
      std::vector<unsigned int> itk::simple::DiscreteGaussianDerivativeImageFilter::GetOrder() const Order of derivatives in each dimension. Sets the derivative order independently for each dimension, but see also SetOrder(const unsigned int v) . The default is 1 in each dimension.
    • setMaximumKernelWidth

      public void setMaximumKernelWidth(long MaximumKernelWidth)
      Self& itk::simple::DiscreteGaussianDerivativeImageFilter::SetMaximumKernelWidth(unsigned int MaximumKernelWidth) Set the kernel to be no wider than MaximumKernelWidth pixels, even if MaximumError demands it. The default is 32 pixels.
    • getMaximumKernelWidth

      public long getMaximumKernelWidth()
      unsigned int itk::simple::DiscreteGaussianDerivativeImageFilter::GetMaximumKernelWidth() const Set the kernel to be no wider than MaximumKernelWidth pixels, even if MaximumError demands it. The default is 32 pixels.
    • setMaximumError

      public void setMaximumError(double MaximumError)
      Self& itk::simple::DiscreteGaussianDerivativeImageFilter::SetMaximumError(double MaximumError) Convenience Set methods for setting all dimensional parameters to the same values.
    • getMaximumError

      public double getMaximumError()
      double itk::simple::DiscreteGaussianDerivativeImageFilter::GetMaximumError() const The algorithm will size the discrete kernel so that the error resulting from truncation of the kernel is no greater than MaximumError. The default is 0.01 in each dimension.
    • setUseImageSpacing

      public void setUseImageSpacing(boolean UseImageSpacing)
      Self& itk::simple::DiscreteGaussianDerivativeImageFilter::SetUseImageSpacing(bool UseImageSpacing) Set/Get whether or not the filter will use the spacing of the input image in its calculations. Default is ImageSpacingOn.
    • useImageSpacingOn

      public void useImageSpacingOn()
      Self& itk::simple::DiscreteGaussianDerivativeImageFilter::UseImageSpacingOn() Set the value of UseImageSpacing to true or false respectfully.
    • useImageSpacingOff

      public void useImageSpacingOff()
      Self& itk::simple::DiscreteGaussianDerivativeImageFilter::UseImageSpacingOff()
    • getUseImageSpacing

      public boolean getUseImageSpacing()
      bool itk::simple::DiscreteGaussianDerivativeImageFilter::GetUseImageSpacing() const Set/Get whether or not the filter will use the spacing of the input image in its calculations. Default is ImageSpacingOn.
    • setNormalizeAcrossScale

      public void setNormalizeAcrossScale(boolean NormalizeAcrossScale)
      Self& itk::simple::DiscreteGaussianDerivativeImageFilter::SetNormalizeAcrossScale(bool NormalizeAcrossScale) Set/Get the flag for calculating scale-space normalized derivatives. Normalized derivatives are obtained multiplying by the scale parameter t.
    • normalizeAcrossScaleOn

      public void normalizeAcrossScaleOn()
      Self& itk::simple::DiscreteGaussianDerivativeImageFilter::NormalizeAcrossScaleOn() Set the value of NormalizeAcrossScale to true or false respectfully.
    • normalizeAcrossScaleOff

      public void normalizeAcrossScaleOff()
      Self& itk::simple::DiscreteGaussianDerivativeImageFilter::NormalizeAcrossScaleOff()
    • getNormalizeAcrossScale

      public boolean getNormalizeAcrossScale()
      bool itk::simple::DiscreteGaussianDerivativeImageFilter::GetNormalizeAcrossScale() const Set/Get the flag for calculating scale-space normalized derivatives. Normalized derivatives are obtained multiplying by the scale parameter t.
    • getName

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

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

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