Package org.itk.simple
Class LabelVotingImageFilter
java.lang.Object
org.itk.simple.ProcessObject
org.itk.simple.ImageFilter
org.itk.simple.LabelVotingImageFilter
This filter performs pixelwise voting among an arbitrary number of
input images, where each of them represents a segmentation of the same
scene (i.e., image).
Label voting is a simple method of classifier combination applied to image
segmentation. Typically, the accuracy of the combined segmentation
exceeds the accuracy of any of the input segmentations. Voting is
therefore commonly used as a way of boosting segmentation performance.
The use of label voting for combination of multiple segmentations is
described in
T. Rohlfing and C. R. Maurer, Jr., "Multi-classifier framework for
atlas-based image segmentation," Pattern Recognition Letters, 2005.
INPUTS
All input volumes to this filter must be segmentations of an image,
that is, they must have discrete pixel values where each value
represents a different segmented object.
Input volumes must all contain the same size RequestedRegions. Not all input images must contain all possible labels, but all label
values must have the same meaning in all images.
OUTPUTS
The voting filter produces a single output volume. Each output pixel
contains the label that occurred most often among the labels assigned
to this pixel in all the input volumes, that is, the label that
received the maximum number of "votes" from the input pixels.. If
the maximum number of votes is not unique, i.e., if more than one
label have a maximum number of votes, an "undecided" label is
assigned to that output pixel.
By default, the label used for undecided pixels is the maximum label
value used in the input images plus one. Since it is possible for an
image with 8 bit pixel values to use all 256 possible label values, it
is permissible to combine 8 bit (i.e., byte) images into a 16 bit
(i.e., short) output image.
PARAMETERS
The label used for "undecided" labels can be set using
SetLabelForUndecidedPixels. This functionality can be unset by calling
UnsetLabelForUndecidedPixels.
Torsten Rohlfing, SRI International, Neuroscience Program
See:
itk::simple::LabelVoting for the procedural interface
C++ includes: sitkLabelVotingImageFilter.h
-
Field Summary
Fields inherited from class org.itk.simple.ProcessObject
swigCMemOwn
-
Constructor Summary
ConstructorsModifierConstructorDescriptionitk::simple::LabelVotingImageFilter::LabelVotingImageFilter() Default Constructor that takes no arguments and initializes default parametersprotected
LabelVotingImageFilter
(long cPtr, boolean cMemoryOwn) -
Method Summary
Modifier and TypeMethodDescriptionvoid
delete()
virtual itk::simple::LabelVotingImageFilter::~LabelVotingImageFilter() DestructorImage itk::simple::LabelVotingImageFilter::Execute(const std::vector< Image > &images) Execute the filter on the input imagesImage itk::simple::LabelVotingImageFilter::Execute(const std::vector< Image > &images) Execute the filter on the input imagesImage itk::simple::LabelVotingImageFilter::Execute(const std::vector< Image > &images) Execute the filter on the input imagesImage itk::simple::LabelVotingImageFilter::Execute(const std::vector< Image > &images) Execute the filter on the input imagesImage itk::simple::LabelVotingImageFilter::Execute(const std::vector< Image > &images) Execute the filter on the input imagesexecute
(VectorOfImage images) Image itk::simple::LabelVotingImageFilter::Execute(const std::vector< Image > &images) Execute the filter on the input imagesprotected void
finalize()
protected static long
long
uint64_t itk::simple::LabelVotingImageFilter::GetLabelForUndecidedPixels() const Get label value used for undecided pixels.getName()
std::string itk::simple::LabelVotingImageFilter::GetName() const Name of this classvoid
setLabelForUndecidedPixels
(long LabelForUndecidedPixels) Self& itk::simple::LabelVotingImageFilter::SetLabelForUndecidedPixels(uint64_t LabelForUndecidedPixels) Set label value for undecided pixels.protected static long
toString()
std::string itk::simple::LabelVotingImageFilter::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
-
LabelVotingImageFilter
protected LabelVotingImageFilter(long cPtr, boolean cMemoryOwn) -
LabelVotingImageFilter
public LabelVotingImageFilter()itk::simple::LabelVotingImageFilter::LabelVotingImageFilter() 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::LabelVotingImageFilter::~LabelVotingImageFilter() Destructor- Overrides:
delete
in classImageFilter
-
setLabelForUndecidedPixels
public void setLabelForUndecidedPixels(long LabelForUndecidedPixels) Self& itk::simple::LabelVotingImageFilter::SetLabelForUndecidedPixels(uint64_t LabelForUndecidedPixels) Set label value for undecided pixels. -
getLabelForUndecidedPixels
public long getLabelForUndecidedPixels()uint64_t itk::simple::LabelVotingImageFilter::GetLabelForUndecidedPixels() const Get label value used for undecided pixels. After updating the filter, this function returns the actual label value used for undecided pixels in the current output. Note that this value is overwritten when SetLabelForUndecidedPixels is called and the new value only becomes effective upon the next filter update. -
getName
std::string itk::simple::LabelVotingImageFilter::GetName() const Name of this class- Overrides:
getName
in classProcessObject
-
toString
std::string itk::simple::LabelVotingImageFilter::ToString() const Print ourselves out- Overrides:
toString
in classProcessObject
-
execute
Image itk::simple::LabelVotingImageFilter::Execute(const std::vector< Image > &images) Execute the filter on the input images -
execute
Image itk::simple::LabelVotingImageFilter::Execute(const std::vector< Image > &images) Execute the filter on the input images -
execute
Image itk::simple::LabelVotingImageFilter::Execute(const std::vector< Image > &images) Execute the filter on the input images -
execute
Image itk::simple::LabelVotingImageFilter::Execute(const std::vector< Image > &images) Execute the filter on the input images -
execute
Image itk::simple::LabelVotingImageFilter::Execute(const std::vector< Image > &images) Execute the filter on the input images -
execute
Image itk::simple::LabelVotingImageFilter::Execute(const std::vector< Image > &images) Execute the filter on the input images
-