ITK
4.6.0
Insight Segmentation and Registration Toolkit
|
#include <itkVectorConfidenceConnectedImageFilter.h>
Segment pixels with similar statistics using connectivity.
This filter extracts a connected set of pixels whose pixel intensities are consistent with the pixel statistics of a seed point. The mean and variance across a neighborhood (8-connected, 26-connected, etc.) are calculated for a seed point. Then pixels connected to this seed point whose values are within the confidence interval for the seed point are grouped. The width of the confidence interval is controlled by the "Multiplier" variable (the confidence interval is the mean plus or minus the "Multiplier" times the standard deviation). If the intensity variations across a segment were gaussian, a "Multiplier" setting of 2.5 would define a confidence interval wide enough to capture 99% of samples in the segment.
After this initial segmentation is calculated, the mean and variance are re-calculated. All the pixels in the previous segmentation are used to calculate the mean the standard deviation (as opposed to using the pixels in the neighborhood of the seed point). The segmentation is then recalculted using these refined estimates for the mean and variance of the pixel values. This process is repeated for the specified number of iterations. Setting the "NumberOfIterations" to zero stops the algorithm after the initial segmentation from the seed point.
NOTE: the lower and upper threshold are restricted to lie within the valid numeric limits of the input data pixel type. Also, the limits may be adjusted to contain the seed point's intensity.
Definition at line 59 of file itkVectorConfidenceConnectedImageFilter.h.
Public Member Functions | |
void | AddSeed (const IndexType &seed) |
void | ClearSeeds () |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
const CovarianceMatrixType & | GetCovariance () const |
const MeanVectorType & | GetMean () const |
virtual const char * | GetNameOfClass () const |
virtual const SeedsContainerType & | GetSeeds () const |
void | PrintSelf (std::ostream &os, Indent indent) const |
void | SetSeed (const IndexType &seed) |
typedef (Concept::EqualityComparable< OutputImagePixelType >) OutputEqualityComparableCheck | |
typedef (Concept::HasNumericTraits< typename InputImagePixelType::ValueType >) InputHasNumericTraitsCheck | |
typedef (Concept::OStreamWritable< OutputImagePixelType >) OutputOStreamWritableCheck | |
virtual void | SetMultiplier (double _arg) |
virtual double | GetMultiplier () const |
virtual void | SetNumberOfIterations (unsigned int _arg) |
virtual unsigned int | GetNumberOfIterations () const |
virtual void | SetReplaceValue (OutputImagePixelType _arg) |
virtual OutputImagePixelType | GetReplaceValue () const |
virtual void | SetInitialNeighborhoodRadius (unsigned int _arg) |
virtual const unsigned int & | GetInitialNeighborhoodRadius () const |
Public Member Functions inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
const InputImageType * | GetInput (void) const |
const InputImageType * | GetInput (unsigned int idx) const |
virtual void | PopBackInput () |
virtual void | PopFrontInput () |
virtual void | PushBackInput (const InputImageType *image) |
virtual void | PushFrontInput (const InputImageType *image) |
virtual void | SetInput (const InputImageType *image) |
virtual void | SetInput (unsigned int, const TInputImage *image) |
virtual void | SetCoordinateTolerance (double _arg) |
virtual double | GetCoordinateTolerance () const |
virtual void | SetDirectionTolerance (double _arg) |
virtual double | GetDirectionTolerance () const |
Public Member Functions inherited from itk::ImageSource< TOutputImage > | |
OutputImageType * | GetOutput (unsigned int idx) |
virtual void | GraftNthOutput (unsigned int idx, DataObject *output) |
virtual void | GraftOutput (DataObject *output) |
virtual void | GraftOutput (const DataObjectIdentifierType &key, DataObject *output) |
OutputImageType * | GetOutput (void) |
const OutputImageType * | GetOutput (void) const |
virtual ProcessObject::DataObjectPointer | MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx) ITK_OVERRIDE |
Public Member Functions inherited from itk::ProcessObject | |
virtual void | AbortGenerateDataOff () |
virtual void | AbortGenerateDataOn () |
virtual const bool & | GetAbortGenerateData () const |
NameArray | GetInputNames () const |
MultiThreader * | GetMultiThreader () const |
DataObjectPointerArraySizeType | GetNumberOfIndexedInputs () const |
DataObjectPointerArraySizeType | GetNumberOfInputs () const |
DataObjectPointerArraySizeType | GetNumberOfOutputs () const |
virtual DataObjectPointerArraySizeType | GetNumberOfValidRequiredInputs () const |
NameArray | GetOutputNames () const |
virtual const float & | GetProgress () const |
NameArray | GetRequiredInputNames () const |
bool | HasInput (const DataObjectIdentifierType &key) const |
bool | HasOutput (const DataObjectIdentifierType &key) const |
virtual DataObjectPointer | MakeOutput (const DataObjectIdentifierType &) |
virtual void | PrepareOutputs () |
virtual void | PropagateRequestedRegion (DataObject *output) |
virtual void | ResetPipeline () |
virtual void | SetAbortGenerateData (bool _arg) |
virtual void | Update () |
virtual void | UpdateLargestPossibleRegion () |
virtual void | UpdateOutputData (DataObject *output) |
virtual void | UpdateOutputInformation () |
void | UpdateProgress (float progress) |
DataObjectPointerArray | GetInputs () |
DataObjectPointerArray | GetOutputs () |
DataObjectPointerArray | GetIndexedInputs () |
DataObjectPointerArray | GetIndexedOutputs () |
DataObjectPointerArraySizeType | GetNumberOfIndexedOutputs () const |
void | SetProgress (float progress) |
virtual void | SetReleaseDataFlag (bool flag) |
virtual bool | GetReleaseDataFlag () const |
void | ReleaseDataFlagOn () |
void | ReleaseDataFlagOff () |
virtual void | SetReleaseDataBeforeUpdateFlag (bool _arg) |
virtual const bool & | GetReleaseDataBeforeUpdateFlag () const |
virtual void | ReleaseDataBeforeUpdateFlagOn () |
virtual void | ReleaseDataBeforeUpdateFlagOff () |
virtual void | SetNumberOfThreads (ThreadIdType _arg) |
virtual const ThreadIdType & | GetNumberOfThreads () const |
Public Member Functions inherited from itk::Object | |
unsigned long | AddObserver (const EventObject &event, Command *) |
unsigned long | AddObserver (const EventObject &event, Command *) const |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary (void) |
const MetaDataDictionary & | GetMetaDataDictionary (void) const |
virtual ModifiedTimeType | GetMTime () const |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
virtual void | Register () const ITK_OVERRIDE |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) |
void | SetDebug (bool debugFlag) const |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
virtual void | SetReferenceCount (int) ITK_OVERRIDE |
virtual void | UnRegister () const ITK_OVERRIDE |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
Public Member Functions inherited from itk::LightObject | |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
itkCloneMacro (Self) | |
void | Print (std::ostream &os, Indent indent=0) const |
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 () |
Private Member Functions | |
void | operator= (const Self &) |
VectorConfidenceConnectedImageFilter (const Self &) | |
Private Attributes | |
unsigned int | m_InitialNeighborhoodRadius |
double | m_Multiplier |
unsigned int | m_NumberOfIterations |
OutputImagePixelType | m_ReplaceValue |
SeedsContainerType | m_Seeds |
DistanceThresholdFunctionPointer | m_ThresholdFunction |
typedef SmartPointer< const Self > itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::ConstPointer |
Definition at line 67 of file itkVectorConfidenceConnectedImageFilter.h.
typedef DistanceThresholdFunctionType::CovarianceMatrixType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::CovarianceMatrixType |
Definition at line 94 of file itkVectorConfidenceConnectedImageFilter.h.
typedef DistanceThresholdFunctionType::Pointer itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::DistanceThresholdFunctionPointer |
Definition at line 97 of file itkVectorConfidenceConnectedImageFilter.h.
typedef MahalanobisDistanceThresholdImageFunction< InputImageType > itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::DistanceThresholdFunctionType |
Definition at line 92 of file itkVectorConfidenceConnectedImageFilter.h.
typedef InputImageType::IndexType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::IndexType |
Definition at line 80 of file itkVectorConfidenceConnectedImageFilter.h.
typedef InputImageType::PixelType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::InputImagePixelType |
Definition at line 79 of file itkVectorConfidenceConnectedImageFilter.h.
typedef InputImageType::Pointer itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::InputImagePointer |
Definition at line 77 of file itkVectorConfidenceConnectedImageFilter.h.
typedef InputImageType::RegionType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::InputImageRegionType |
Definition at line 78 of file itkVectorConfidenceConnectedImageFilter.h.
typedef TInputImage itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::InputImageType |
Definition at line 74 of file itkVectorConfidenceConnectedImageFilter.h.
typedef DistanceThresholdFunctionType::MeanVectorType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::MeanVectorType |
Definition at line 95 of file itkVectorConfidenceConnectedImageFilter.h.
typedef OutputImageType::PixelType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::OutputImagePixelType |
Definition at line 86 of file itkVectorConfidenceConnectedImageFilter.h.
typedef OutputImageType::Pointer itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::OutputImagePointer |
Definition at line 84 of file itkVectorConfidenceConnectedImageFilter.h.
typedef OutputImageType::RegionType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::OutputImageRegionType |
Definition at line 85 of file itkVectorConfidenceConnectedImageFilter.h.
typedef TOutputImage itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::OutputImageType |
Definition at line 83 of file itkVectorConfidenceConnectedImageFilter.h.
typedef SmartPointer< Self > itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::Pointer |
Definition at line 66 of file itkVectorConfidenceConnectedImageFilter.h.
typedef std::vector< IndexType > itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::SeedsContainerType |
Definition at line 88 of file itkVectorConfidenceConnectedImageFilter.h.
typedef VectorConfidenceConnectedImageFilter itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::Self |
Standard class typedefs.
Definition at line 64 of file itkVectorConfidenceConnectedImageFilter.h.
typedef InputImageType::SizeType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::SizeType |
Definition at line 81 of file itkVectorConfidenceConnectedImageFilter.h.
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::Superclass |
Definition at line 65 of file itkVectorConfidenceConnectedImageFilter.h.
|
protected |
|
private |
void itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::AddSeed | ( | const IndexType & | seed | ) |
Add seed point.
void itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::ClearSeeds | ( | ) |
Remove all seeds
|
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.
|
protectedvirtual |
Give the process object a chance to indictate that it will produce more output than it was requested to produce. For example, many imaging filters must compute the entire output at once or can only produce output in complete slices. Such filters cannot handle smaller requested regions. These filters must provide an implementation of this method, setting the output requested region to the size they will produce. By default, a process object does not modify the size of the output requested region.
Reimplemented from itk::ProcessObject.
|
protectedvirtual |
A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.
Reimplemented from itk::ImageSource< TOutputImage >.
|
protectedvirtual |
What is the input requested region that is required to produce the output requested region? The base assumption for image processing filters is that the input requested region can be set to match the output requested region. If a filter requires more input (for instance a filter that uses neighborhoods needs more input than output to avoid introducing artificial boundary conditions) or less input (for instance a magnify filter) will have to override this method. In doing so, it should call its superclass' implementation as its first step. Note that imaging filters operate differently than the classes to this point in the class hierarchy. Up till now, the base assumption has been that the largest possible region will be requested of the input.
This implementation of GenerateInputRequestedRegion() only processes the inputs that are a subclass of the ImageBase<InputImageDimension>. If an input is another type of DataObject (including an Image of a different dimension), they are skipped by this method. The subclasses of ImageToImageFilter are responsible for providing an implementation of GenerateInputRequestedRegion() when there are multiple inputs of different types.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
const CovarianceMatrixType& itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::GetCovariance | ( | ) | const |
Get the Covariance matrix computed during the segmentation
|
virtual |
Get/Set the radius of the neighborhood over which the statistics are evaluated
const MeanVectorType& itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::GetMean | ( | ) | const |
Get the Mean Vector computed during the segmentation
|
virtual |
Set/Get the multiplier to define the confidence interval. Multiplier can be anything greater than zero. A typical value is 2.5
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
virtual |
Set/Get the number of iterations
|
virtual |
Set/Get value to replace thresholded pixels
|
virtual |
Method to access seed container
|
static |
Method for creation through the object factory.
|
private |
|
virtual |
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 >.
|
virtual |
Get/Set the radius of the neighborhood over which the statistics are evaluated
|
virtual |
Set/Get the multiplier to define the confidence interval. Multiplier can be anything greater than zero. A typical value is 2.5
|
virtual |
Set/Get the number of iterations
|
virtual |
Set/Get value to replace thresholded pixels
void itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::SetSeed | ( | const IndexType & | seed | ) |
Set seed point. This method is deprecated, please use AddSeed()
itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::EqualityComparable< OutputImagePixelType > | ) |
This class requires OutputEqualityComparableCheck in the form of ( Concept::EqualityComparable< OutputImagePixelType > )
itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::HasNumericTraits< typename InputImagePixelType::ValueType > | ) |
This class requires InputHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< typename InputImagePixelType::ValueType > )
itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::OStreamWritable< OutputImagePixelType > | ) |
This class requires OutputOStreamWritableCheck in the form of ( Concept::OStreamWritable< OutputImagePixelType > )
|
private |
Definition at line 175 of file itkVectorConfidenceConnectedImageFilter.h.
|
private |
Definition at line 172 of file itkVectorConfidenceConnectedImageFilter.h.
|
private |
Definition at line 173 of file itkVectorConfidenceConnectedImageFilter.h.
|
private |
Definition at line 174 of file itkVectorConfidenceConnectedImageFilter.h.
|
private |
Definition at line 171 of file itkVectorConfidenceConnectedImageFilter.h.
|
private |
Definition at line 177 of file itkVectorConfidenceConnectedImageFilter.h.