ITK
4.13.0
Insight Segmentation and Registration Toolkit
|
#include <itkScalarImageKmeansImageFilter.h>
Classifies the intensity values of a scalar image using the K-Means algorithm.
Given an input image with scalar values, it uses the K-Means statistical classifier in order to define labels for every pixel in the image. The filter is templated over the type of the input image. The output image is predefined as having the same dimension of the input image and pixel type unsigned char, under the assumption that the classifier will generate less than 256 classes.
You may want to look also at the RelabelImageFilter that may be used as a postprocessing stage, in particular if you are interested in ordering the labels by their relative size in number of pixels.
Definition at line 64 of file itkScalarImageKmeansImageFilter.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = TInputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Private Types | |
typedef std::vector < RealPixelType > | MeansContainer |
Private Attributes | |
ParametersType | m_FinalMeans |
ImageRegionType | m_ImageRegion |
bool | m_ImageRegionDefined |
MeansContainer | m_InitialMeans |
bool | m_UseNonContiguousLabels |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension) > | InputToOutputRegionCopierType |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | OutputToInputRegionCopierType |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
typedef itk::Statistics::ImageToListSampleAdaptor< InputImageType > itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::AdaptorType |
Create a List from the scalar image.
Definition at line 96 of file itkScalarImageKmeansImageFilter.h.
typedef itk::Statistics::SampleClassifierFilter< AdaptorType > itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::ClassifierType |
Definition at line 102 of file itkScalarImageKmeansImageFilter.h.
typedef ClassifierType::ClassLabelVectorType itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::ClassLabelVectorType |
Definition at line 105 of file itkScalarImageKmeansImageFilter.h.
typedef SmartPointer< const Self > itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::ConstPointer |
Definition at line 80 of file itkScalarImageKmeansImageFilter.h.
typedef itk::Statistics::MinimumDecisionRule itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::DecisionRuleType |
Definition at line 103 of file itkScalarImageKmeansImageFilter.h.
typedef itk::Statistics::KdTreeBasedKmeansEstimator< TreeType > itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::EstimatorType |
Definition at line 115 of file itkScalarImageKmeansImageFilter.h.
typedef InputImageType::RegionType itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::ImageRegionType |
Definition at line 119 of file itkScalarImageKmeansImageFilter.h.
typedef TInputImage itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::InputImageType |
Convenient typedefs for simplifying declarations.
Definition at line 73 of file itkScalarImageKmeansImageFilter.h.
typedef InputImageType::PixelType itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::InputPixelType |
Image typedef support.
Definition at line 86 of file itkScalarImageKmeansImageFilter.h.
|
private |
Definition at line 171 of file itkScalarImageKmeansImageFilter.h.
typedef AdaptorType::MeasurementVectorType itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::MeasurementVectorType |
Define the Measurement vector type from the AdaptorType.
Definition at line 99 of file itkScalarImageKmeansImageFilter.h.
typedef MembershipFunctionType::CentroidType itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::MembershipFunctionOriginType |
Definition at line 108 of file itkScalarImageKmeansImageFilter.h.
typedef MembershipFunctionType::Pointer itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::MembershipFunctionPointer |
Definition at line 110 of file itkScalarImageKmeansImageFilter.h.
typedef itk::Statistics::DistanceToCentroidMembershipFunction< MeasurementVectorType > itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::MembershipFunctionType |
Definition at line 101 of file itkScalarImageKmeansImageFilter.h.
typedef ClassifierType::MembershipFunctionVectorType itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::MembershipFunctionVectorType |
Definition at line 107 of file itkScalarImageKmeansImageFilter.h.
typedef TOutputImage itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::OutputImageType |
Definition at line 74 of file itkScalarImageKmeansImageFilter.h.
typedef OutputImageType::PixelType itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::OutputPixelType |
Definition at line 90 of file itkScalarImageKmeansImageFilter.h.
typedef EstimatorType::ParametersType itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::ParametersType |
Definition at line 117 of file itkScalarImageKmeansImageFilter.h.
typedef SmartPointer< Self > itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::Pointer |
Definition at line 79 of file itkScalarImageKmeansImageFilter.h.
typedef NumericTraits< InputPixelType >::RealType itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::RealPixelType |
Type used for representing the Mean values.
Definition at line 93 of file itkScalarImageKmeansImageFilter.h.
typedef RegionOfInterestImageFilter< InputImageType, InputImageType > itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::RegionOfInterestFilterType |
Definition at line 123 of file itkScalarImageKmeansImageFilter.h.
typedef ScalarImageKmeansImageFilter itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::Self |
Standard class typedefs.
Definition at line 77 of file itkScalarImageKmeansImageFilter.h.
typedef ImageToImageFilter< InputImageType, OutputImageType > itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::Superclass |
Definition at line 78 of file itkScalarImageKmeansImageFilter.h.
typedef itk::Statistics::WeightedCentroidKdTreeGenerator< AdaptorType > itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::TreeGeneratorType |
Create the K-d tree structure.
Definition at line 113 of file itkScalarImageKmeansImageFilter.h.
typedef TreeGeneratorType::KdTreeType itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::TreeType |
Definition at line 114 of file itkScalarImageKmeansImageFilter.h.
|
protected |
|
inlineoverrideprotectedvirtual |
Definition at line 156 of file itkScalarImageKmeansImageFilter.h.
void itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::AddClassWithInitialMean | ( | RealPixelType | mean | ) |
Add a new class to the classification by specifying its initial mean.
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
|
overrideprotectedvirtual |
This method runs the statistical methods that identify the means of the classes and the use the distances to those means in order to label the image pixels.
Reimplemented from itk::ImageSource< TOutputImage >.
|
virtual |
Return the array of Means found after the classification.
|
virtual |
Get the region over which the statistics will be computed
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
virtual |
Set/Get the UseNonContiguousLabels flag. When this is set to false the labels are numbered contiguously, like in {0,1,3..N}. When the flag is set to true, the labels are selected in order to span the dynamic range of the output image. This last option is useful when the output image is intended only for display. The default value is false.
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
void itk::ScalarImageKmeansImageFilter< TInputImage, TOutputImage >::SetImageRegion | ( | const ImageRegionType & | region | ) |
Set Region method to constrain classfication to a certain region
|
virtual |
Set/Get the UseNonContiguousLabels flag. When this is set to false the labels are numbered contiguously, like in {0,1,3..N}. When the flag is set to true, the labels are selected in order to span the dynamic range of the output image. This last option is useful when the output image is intended only for display. The default value is false.
|
virtual |
Set/Get the UseNonContiguousLabels flag. When this is set to false the labels are numbered contiguously, like in {0,1,3..N}. When the flag is set to true, the labels are selected in order to span the dynamic range of the output image. This last option is useful when the output image is intended only for display. The default value is false.
|
virtual |
Set/Get the UseNonContiguousLabels flag. When this is set to false the labels are numbered contiguously, like in {0,1,3..N}. When the flag is set to true, the labels are selected in order to span the dynamic range of the output image. This last option is useful when the output image is intended only for display. The default value is false.
|
overrideprotectedvirtual |
Verifies that the process object has been configured correctly, that all required inputs are set, and needed parameters are set appropriately. If not valid an exceptions will be thrown.
This method is called before UpdateOutputInformation is propagated to the inputs.
The ProcessObject's implementation verifies that the NumberOfRequiredInputs are set and not null.
Reimplemented from itk::ProcessObject.
|
static |
Extract dimension from input and output image.
Definition at line 70 of file itkScalarImageKmeansImageFilter.h.
|
private |
Definition at line 177 of file itkScalarImageKmeansImageFilter.h.
|
private |
Definition at line 181 of file itkScalarImageKmeansImageFilter.h.
|
private |
Definition at line 183 of file itkScalarImageKmeansImageFilter.h.
|
private |
Definition at line 175 of file itkScalarImageKmeansImageFilter.h.
|
private |
Definition at line 179 of file itkScalarImageKmeansImageFilter.h.