Package org.itk.simple
Class DiscreteGaussianDerivativeImageFilter
java.lang.Object
org.itk.simple.ProcessObject
org.itk.simple.ImageFilter
org.itk.simple.DiscreteGaussianDerivativeImageFilter
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
-
Field Summary
Fields inherited from class org.itk.simple.ProcessObject
swigCMemOwn
-
Constructor Summary
ConstructorsModifierConstructorDescriptionitk::simple::DiscreteGaussianDerivativeImageFilter::DiscreteGaussianDerivativeImageFilter() Default Constructor that takes no arguments and initializes default parametersprotected
DiscreteGaussianDerivativeImageFilter
(long cPtr, boolean cMemoryOwn) -
Method Summary
Modifier and TypeMethodDescriptionvoid
delete()
virtual itk::simple::DiscreteGaussianDerivativeImageFilter::~DiscreteGaussianDerivativeImageFilter() DestructorImage itk::simple::DiscreteGaussianDerivativeImageFilter::Execute(const Image &image1) Execute the filter on the input imageprotected void
finalize()
protected static long
double
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.long
unsigned int itk::simple::DiscreteGaussianDerivativeImageFilter::GetMaximumKernelWidth() const Set the kernel to be no wider than MaximumKernelWidth pixels, even if MaximumError demands it.getName()
std::string itk::simple::DiscreteGaussianDerivativeImageFilter::GetName() const Name of this classboolean
bool itk::simple::DiscreteGaussianDerivativeImageFilter::GetNormalizeAcrossScale() const Set/Get the flag for calculating scale-space normalized derivatives.getOrder()
std::vector<unsigned int> itk::simple::DiscreteGaussianDerivativeImageFilter::GetOrder() const Order of derivatives in each dimension.boolean
bool itk::simple::DiscreteGaussianDerivativeImageFilter::GetUseImageSpacing() const Set/Get whether or not the filter will use the spacing of the input image in its calculations.std::vector<double> itk::simple::DiscreteGaussianDerivativeImageFilter::GetVariance() const The variance for the discrete Gaussian kernel.void
Self& itk::simple::DiscreteGaussianDerivativeImageFilter::NormalizeAcrossScaleOff()void
Self& itk::simple::DiscreteGaussianDerivativeImageFilter::NormalizeAcrossScaleOn() Set the value of NormalizeAcrossScale to true or false respectfully.void
setMaximumError
(double MaximumError) Self& itk::simple::DiscreteGaussianDerivativeImageFilter::SetMaximumError(double MaximumError) Convenience Set methods for setting all dimensional parameters to the same values.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.void
setNormalizeAcrossScale
(boolean NormalizeAcrossScale) Self& itk::simple::DiscreteGaussianDerivativeImageFilter::SetNormalizeAcrossScale(bool NormalizeAcrossScale) Set/Get the flag for calculating scale-space normalized derivatives.void
setOrder
(long value) Self& itk::simple::DiscreteGaussianDerivativeImageFilter::SetOrder(unsigned int value) Set the values of the Order vector all to valuevoid
setOrder
(VectorUInt32 Order) Self& itk::simple::DiscreteGaussianDerivativeImageFilter::SetOrder(unsigned int value) Set the values of the Order vector all to valuevoid
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.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.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.protected static long
toString()
std::string itk::simple::DiscreteGaussianDerivativeImageFilter::ToString() const Print ourselves outvoid
Self& itk::simple::DiscreteGaussianDerivativeImageFilter::UseImageSpacingOff()void
Self& itk::simple::DiscreteGaussianDerivativeImageFilter::UseImageSpacingOn() Set the value of UseImageSpacing to true or false respectfully.Methods 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
-
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
-
swigRelease
-
finalize
protected void finalize()- Overrides:
finalize
in classImageFilter
-
delete
public void delete()virtual itk::simple::DiscreteGaussianDerivativeImageFilter::~DiscreteGaussianDerivativeImageFilter() Destructor- Overrides:
delete
in classImageFilter
-
setVariance
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
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
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
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
std::string itk::simple::DiscreteGaussianDerivativeImageFilter::GetName() const Name of this class- Overrides:
getName
in classProcessObject
-
toString
std::string itk::simple::DiscreteGaussianDerivativeImageFilter::ToString() const Print ourselves out- Overrides:
toString
in classProcessObject
-
execute
Image itk::simple::DiscreteGaussianDerivativeImageFilter::Execute(const Image &image1) Execute the filter on the input image
-