ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage > Class Template Reference

#include <itkVectorConfidenceConnectedImageFilter.h>

+ Inheritance diagram for itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >:
+ Collaboration diagram for itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
DistanceThresholdFunctionType::CovarianceMatrixType 
CovarianceMatrixType
typedef
DistanceThresholdFunctionType::Pointer 
DistanceThresholdFunctionPointer
typedef
MahalanobisDistanceThresholdImageFunction
< InputImageType
DistanceThresholdFunctionType
typedef InputImageType::IndexType IndexType
typedef InputImageType::PixelType InputImagePixelType
typedef InputImageType::Pointer InputImagePointer
typedef InputImageType::RegionType InputImageRegionType
typedef TInputImage InputImageType
typedef
DistanceThresholdFunctionType::MeanVectorType 
MeanVectorType
typedef OutputImageType::PixelType OutputImagePixelType
typedef OutputImageType::Pointer OutputImagePointer
typedef OutputImageType::RegionType OutputImageRegionType
typedef TOutputImage OutputImageType
typedef SmartPointer< SelfPointer
typedef std::vector< IndexTypeSeedsContainerType
typedef
VectorConfidenceConnectedImageFilter 
Self
typedef InputImageType::SizeType SizeType
typedef ImageToImageFilter
< TInputImage, TOutputImage > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
const CovarianceMatrixTypeGetCovariance () const
const MeanVectorTypeGetMean () const
virtual const char * GetNameOfClass () const
virtual const SeedsContainerTypeGetSeeds () const
void PrintSelf (std::ostream &os, Indent indent) const
 typedef (Concept::EqualityComparable< OutputImagePixelType >) OutputEqualityComparableCheck
 typedef (Concept::HasNumericTraits< typename InputImagePixelType::ValueType >) InputHasNumericTraitsCheck
 typedef (Concept::OStreamWritable< OutputImagePixelType >) OutputOStreamWritableCheck
void SetSeed (const IndexType &seed)
void AddSeed (const IndexType &seed)
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 ()

Static Public Member Functions

static Pointer New ()

Protected Member Functions

void EnlargeOutputRequestedRegion (DataObject *output)
void GenerateData ()
void GenerateInputRequestedRegion ()
 VectorConfidenceConnectedImageFilter ()

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

Detailed Description

template<class TInputImage, class TOutputImage>
class itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >

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.


Member Typedef Documentation

template<class TInputImage , class TOutputImage >
typedef SmartPointer< const Self > itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::ConstPointer
template<class TInputImage , class TOutputImage >
typedef DistanceThresholdFunctionType::CovarianceMatrixType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::CovarianceMatrixType

Definition at line 94 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef DistanceThresholdFunctionType::Pointer itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::DistanceThresholdFunctionPointer

Definition at line 97 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef MahalanobisDistanceThresholdImageFunction< InputImageType > itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::DistanceThresholdFunctionType

Definition at line 92 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InputImageType::IndexType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::IndexType

Definition at line 80 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InputImageType::PixelType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::InputImagePixelType
template<class TInputImage , class TOutputImage >
typedef InputImageType::Pointer itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::InputImagePointer
template<class TInputImage , class TOutputImage >
typedef InputImageType::RegionType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::InputImageRegionType
template<class TInputImage , class TOutputImage >
typedef TInputImage itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::InputImageType

Some convenient typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 74 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef DistanceThresholdFunctionType::MeanVectorType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::MeanVectorType

Definition at line 95 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef OutputImageType::PixelType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::OutputImagePixelType
template<class TInputImage , class TOutputImage >
typedef OutputImageType::Pointer itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::OutputImagePointer

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 84 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef OutputImageType::RegionType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::OutputImageRegionType

Superclass typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 85 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef TOutputImage itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::OutputImageType

Some convenient typedefs.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 83 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef SmartPointer< Self > itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::Pointer
template<class TInputImage , class TOutputImage >
typedef std::vector< IndexType > itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::SeedsContainerType

Definition at line 88 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef VectorConfidenceConnectedImageFilter itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::Self

Standard class typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 64 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InputImageType::SizeType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::SizeType

Definition at line 81 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::Superclass

Constructor & Destructor Documentation

template<class TInputImage , class TOutputImage >
itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::VectorConfidenceConnectedImageFilter ( ) [protected]

End concept checking

template<class TInputImage , class TOutputImage >
itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::VectorConfidenceConnectedImageFilter ( const Self ) [private]

Member Function Documentation

template<class TInputImage , class TOutputImage >
void itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::AddSeed ( const IndexType seed) [inline]

Add seed point.

Definition at line 110 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
virtual::itk::LightObject::Pointer itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::CreateAnother ( void  ) const [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.

template<class TInputImage , class TOutputImage >
void itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::EnlargeOutputRequestedRegion ( DataObject ) [protected, virtual]

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.

template<class TInputImage , class TOutputImage >
void itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::GenerateData ( ) [protected, virtual]

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.

See also:
ThreadedGenerateData()

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage , class TOutputImage >
void itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion ( ) [protected, virtual]

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 hierachy. 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.

See also:
ProcessObject::GenerateInputRequestedRegion(), ImageSource::GenerateInputRequestedRegion()

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage >
const CovarianceMatrixType& itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::GetCovariance ( ) const

Get the Covariance matrix computed during the segmentation

template<class TInputImage , class TOutputImage >
virtual const unsigned int& itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::GetInitialNeighborhoodRadius ( ) [virtual]

Get/Set the radius of the neighborhood over which the statistics are evaluated

template<class TInputImage , class TOutputImage >
const MeanVectorType& itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::GetMean ( ) const

Get the Mean Vector computed during the segmentation

template<class TInputImage , class TOutputImage >
virtual double itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::GetMultiplier ( ) const [virtual]

Set/Get the multiplier to define the confidence interval. Multiplier can be anything greater than zero. A typical value is 2.5

template<class TInputImage , class TOutputImage >
virtual const char* itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage >
virtual unsigned int itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::GetNumberOfIterations ( ) const [virtual]

Set/Get the number of iterations

template<class TInputImage , class TOutputImage >
virtual OutputImagePixelType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::GetReplaceValue ( ) const [virtual]

Set/Get value to replace thresholded pixels

template<class TInputImage , class TOutputImage >
virtual const SeedsContainerType& itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::GetSeeds ( ) const [virtual]

Method to access seed container

template<class TInputImage , class TOutputImage >
static Pointer itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage , class TOutputImage >
void itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::operator= ( const Self ) [private]

PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage >
void itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [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 >.

template<class TInputImage , class TOutputImage >
virtual void itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::SetInitialNeighborhoodRadius ( unsigned int  _arg) [virtual]

Get/Set the radius of the neighborhood over which the statistics are evaluated

template<class TInputImage , class TOutputImage >
virtual void itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::SetMultiplier ( double  _arg) [virtual]

Set/Get the multiplier to define the confidence interval. Multiplier can be anything greater than zero. A typical value is 2.5

template<class TInputImage , class TOutputImage >
virtual void itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::SetNumberOfIterations ( unsigned int  _arg) [virtual]

Set/Get the number of iterations

template<class TInputImage , class TOutputImage >
virtual void itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::SetReplaceValue ( OutputImagePixelType  _arg) [virtual]

Set/Get value to replace thresholded pixels

template<class TInputImage , class TOutputImage >
void itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::SetSeed ( const IndexType seed) [inline]

Set seed point. This method is deprecated, please use AddSeed()

Definition at line 102 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::typedef ( Concept::EqualityComparable< OutputImagePixelType )

Begin concept checking This class requires OutputEqualityComparableCheck in the form of ( Concept::EqualityComparable< OutputImagePixelType > )

template<class TInputImage , class TOutputImage >
itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::typedef ( Concept::HasNumericTraits< typename InputImagePixelType::ValueType >  )

This class requires InputHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< typename InputImagePixelType::ValueType > )

template<class TInputImage , class TOutputImage >
itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::typedef ( Concept::OStreamWritable< OutputImagePixelType )

This class requires OutputOStreamWritableCheck in the form of ( Concept::OStreamWritable< OutputImagePixelType > )


Member Data Documentation

template<class TInputImage , class TOutputImage >
unsigned int itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::m_InitialNeighborhoodRadius [private]

Definition at line 182 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
double itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::m_Multiplier [private]

Definition at line 179 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
unsigned int itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::m_NumberOfIterations [private]

Definition at line 180 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
OutputImagePixelType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::m_ReplaceValue [private]

Definition at line 181 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
SeedsContainerType itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::m_Seeds [private]

Definition at line 178 of file itkVectorConfidenceConnectedImageFilter.h.

template<class TInputImage , class TOutputImage >
DistanceThresholdFunctionPointer itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >::m_ThresholdFunction [private]

Definition at line 184 of file itkVectorConfidenceConnectedImageFilter.h.


The documentation for this class was generated from the following file: