Package org.itk.simple
Class RankImageFilter
java.lang.Object
org.itk.simple.ProcessObject
org.itk.simple.ImageFilter
org.itk.simple.RankImageFilter
Rank filter of a greyscale image.
Nonlinear filter in which each output pixel is a user defined rank of
input pixels in a user defined neighborhood. The default rank is 0.5
(median). The boundary conditions are different to the standard
itkMedianImageFilter. In this filter the neighborhood is cropped at
the boundary, and is therefore smaller.
This filter uses a recursive implementation - essentially the one by
Huang 1979, I believe, to compute the rank, and is therefore usually a
lot faster than the direct implementation. The extensions to Huang are
support for arbitrary pixel types (using c++ maps) and arbitrary
neighborhoods. I presume that these are not new ideas.
This filter is based on the sliding window code from the
consolidatedMorphology package on InsightJournal.
The structuring element is assumed to be composed of binary values
(zero or one). Only elements of the structuring element having values
> 0 are candidates for affecting the center pixel.
This code was contributed in the Insight Journal paper: "Efficient
implementation of kernel filtering" by Beare R., Lehmann G https://www.insight-journal.org/browse/publication/160
See:
MedianImageFilter
Richard Beare
See:
itk::simple::Rank for the procedural interface
itk::RankImageFilter for the Doxygen on the original ITK class.
C++ includes: sitkRankImageFilter.h
-
Field Summary
Fields inherited from class org.itk.simple.ProcessObject
swigCMemOwn
-
Constructor Summary
ConstructorsModifierConstructorDescriptionitk::simple::RankImageFilter::RankImageFilter() Default Constructor that takes no arguments and initializes default parametersprotected
RankImageFilter
(long cPtr, boolean cMemoryOwn) -
Method Summary
Modifier and TypeMethodDescriptionvoid
delete()
virtual itk::simple::RankImageFilter::~RankImageFilter() DestructorImage itk::simple::RankImageFilter::Execute(const Image &image1) Execute the filter on the input imageprotected void
finalize()
protected static long
getCPtr
(RankImageFilter obj) KernelEnum itk::simple::RankImageFilter::GetKernelType() const Get the kernel or structuring element .getName()
std::string itk::simple::RankImageFilter::GetName() const Name of this classstd::vector<unsigned int> itk::simple::RankImageFilter::GetRadius() constdouble
getRank()
double itk::simple::RankImageFilter::GetRank() constvoid
setKernelType
(KernelEnum KernelType) Self& itk::simple::RankImageFilter::SetKernelType(KernelEnum KernelType) Set the kernel or structuring element.void
setRadius
(VectorUInt32 Radius) Self& itk::simple::RankImageFilter::SetRadius(std::vector< unsigned int > Radius)void
setRank
(double Rank) Self& itk::simple::RankImageFilter::SetRank(double Rank)protected static long
toString()
std::string itk::simple::RankImageFilter::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
-
RankImageFilter
protected RankImageFilter(long cPtr, boolean cMemoryOwn) -
RankImageFilter
public RankImageFilter()itk::simple::RankImageFilter::RankImageFilter() 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::RankImageFilter::~RankImageFilter() Destructor- Overrides:
delete
in classImageFilter
-
setRank
public void setRank(double Rank) Self& itk::simple::RankImageFilter::SetRank(double Rank) -
getRank
public double getRank()double itk::simple::RankImageFilter::GetRank() const -
setRadius
Self& itk::simple::RankImageFilter::SetRadius(std::vector< unsigned int > Radius) -
getRadius
std::vector<unsigned int> itk::simple::RankImageFilter::GetRadius() const -
setKernelType
Self& itk::simple::RankImageFilter::SetKernelType(KernelEnum KernelType) Set the kernel or structuring element. -
getKernelType
KernelEnum itk::simple::RankImageFilter::GetKernelType() const Get the kernel or structuring element . -
getName
std::string itk::simple::RankImageFilter::GetName() const Name of this class- Overrides:
getName
in classProcessObject
-
toString
std::string itk::simple::RankImageFilter::ToString() const Print ourselves out- Overrides:
toString
in classProcessObject
-
execute
Image itk::simple::RankImageFilter::Execute(const Image &image1) Execute the filter on the input image
-