ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
itk::ShapeLabelMapFilter< TImage, TLabelImage > Class Template Reference

The valuator class for the ShapeLabelObject. More...

#include <itkShapeLabelMapFilter.h>

Inheritance diagram for itk::ShapeLabelMapFilter< TImage, TLabelImage >:
Collaboration diagram for itk::ShapeLabelMapFilter< TImage, TLabelImage >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef ImageType::ConstPointer ImageConstPointer
typedef ImageType::Pointer ImagePointer
typedef TImage ImageType
typedef ImageType::IndexType IndexType
typedef
LabelImageType::ConstPointer 
LabelImageConstPointer
typedef LabelImageType::Pointer LabelImagePointer
typedef TLabelImage LabelImageType
typedef ImageType::LabelObjectType LabelObjectType
typedef LabelImageType::PixelType LabelPixelType
typedef LabelObjectType::MatrixType MatrixType
typedef ImageType::OffsetType OffsetType
typedef ImageType::PixelType PixelType
typedef SmartPointer< SelfPointer
typedef ImageType::RegionType RegionType
typedef ShapeLabelMapFilter Self
typedef ImageType::SizeType SizeType
typedef InPlaceLabelMapFilter
< TImage > 
Superclass
typedef LabelObjectType::VectorType VectorType

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
void SetLabelImage (const TLabelImage *input)
virtual void SetComputeFeretDiameter (bool _arg)
virtual const bool & GetComputeFeretDiameter ()
virtual void ComputeFeretDiameterOn ()
virtual void ComputeFeretDiameterOff ()
virtual void SetComputePerimeter (bool _arg)
virtual const bool & GetComputePerimeter ()
virtual void ComputePerimeterOn ()
virtual void ComputePerimeterOff ()

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = TImage::ImageDimension

Protected Member Functions

virtual void AfterThreadedGenerateData ()
virtual void BeforeThreadedGenerateData ()
void PrintSelf (std::ostream &os, Indent indent) const
 ShapeLabelMapFilter ()
virtual void ThreadedProcessLabelObject (LabelObjectType *labelObject)
 ~ShapeLabelMapFilter ()

Private Types

typedef std::map< Offset2Type,
SizeValueType,
Offset2Type::LexicographicCompare
MapIntercept2Type
typedef std::map< Offset3Type,
SizeValueType,
Offset3Type::LexicographicCompare
MapIntercept3Type
typedef itk::Offset< 2 > Offset2Type
typedef itk::Offset< 3 > Offset3Type
typedef itk::Vector< double, 2 > Spacing2Type
typedef itk::Vector< double, 3 > Spacing3Type

Private Member Functions

void ComputeFeretDiameter (LabelObjectType *labelObject)
void ComputePerimeter (LabelObjectType *labelObject)
void operator= (const Self &)
template<class TMapIntercept , class TSpacing >
double PerimeterFromInterceptCount (TMapIntercept &intercepts, const TSpacing &spacing)
double PerimeterFromInterceptCount (MapIntercept3Type &intercepts, const Spacing3Type spacing)
double PerimeterFromInterceptCount (MapIntercept2Type &intercepts, const Spacing2Type spacing)
 ShapeLabelMapFilter (const Self &)

Private Attributes

bool m_ComputeFeretDiameter
bool m_ComputePerimeter
LabelImageConstPointer m_LabelImage

Detailed Description

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
class itk::ShapeLabelMapFilter< TImage, TLabelImage >

The valuator class for the ShapeLabelObject.

ShapeLabelMapFilter can be used to set the attributes values of the ShapeLabelObject in a LabelMap.

ShapeLabelMapFilter takes an optional parameter, used only to optimize the computation time and the memory usage when the perimeter or the feret diameter is used: the exact copy of the input LabelMap is stored in an Image. It can be set with SetLabelImage(). It is cleared at the end of the computation, so must be reset before running Update() again. It is not part of the pipeline management design, to let the subclasses of ShapeLabelMapFilter use the pipeline design to specify truly required inputs.

Author:
Gaetan Lehmann. Biologie du Developpement et de la Reproduction, INRA de Jouy-en-Josas, France.

This implementation was taken from the Insight Journal paper: http://hdl.handle.net/1926/584 or http://www.insight-journal.org/browse/publication/176

Definition at line 53 of file itkShapeLabelMapFilter.h.


Member Typedef Documentation

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef SmartPointer< const Self > itk::ShapeLabelMapFilter< TImage, TLabelImage >::ConstPointer
template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef ImageType::ConstPointer itk::ShapeLabelMapFilter< TImage, TLabelImage >::ImageConstPointer
template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef ImageType::Pointer itk::ShapeLabelMapFilter< TImage, TLabelImage >::ImagePointer
template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef TImage itk::ShapeLabelMapFilter< TImage, TLabelImage >::ImageType

Some convenient typedefs.

Reimplemented in itk::StatisticsLabelMapFilter< TImage, TFeatureImage >.

Definition at line 65 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef ImageType::IndexType itk::ShapeLabelMapFilter< TImage, TLabelImage >::IndexType
template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef LabelImageType::ConstPointer itk::ShapeLabelMapFilter< TImage, TLabelImage >::LabelImageConstPointer

Definition at line 79 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef LabelImageType::Pointer itk::ShapeLabelMapFilter< TImage, TLabelImage >::LabelImagePointer

Definition at line 78 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef TLabelImage itk::ShapeLabelMapFilter< TImage, TLabelImage >::LabelImageType

Definition at line 77 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef ImageType::LabelObjectType itk::ShapeLabelMapFilter< TImage, TLabelImage >::LabelObjectType
template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef LabelImageType::PixelType itk::ShapeLabelMapFilter< TImage, TLabelImage >::LabelPixelType

Definition at line 80 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef std::map<Offset2Type, SizeValueType, Offset2Type::LexicographicCompare> itk::ShapeLabelMapFilter< TImage, TLabelImage >::MapIntercept2Type [private]

Definition at line 154 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef std::map<Offset3Type, SizeValueType, Offset3Type::LexicographicCompare> itk::ShapeLabelMapFilter< TImage, TLabelImage >::MapIntercept3Type [private]

Definition at line 155 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef LabelObjectType::MatrixType itk::ShapeLabelMapFilter< TImage, TLabelImage >::MatrixType
template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef itk::Offset<2> itk::ShapeLabelMapFilter< TImage, TLabelImage >::Offset2Type [private]

Definition at line 150 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef itk::Offset<3> itk::ShapeLabelMapFilter< TImage, TLabelImage >::Offset3Type [private]

Definition at line 151 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef ImageType::OffsetType itk::ShapeLabelMapFilter< TImage, TLabelImage >::OffsetType

Definition at line 72 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef ImageType::PixelType itk::ShapeLabelMapFilter< TImage, TLabelImage >::PixelType
template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef SmartPointer< Self > itk::ShapeLabelMapFilter< TImage, TLabelImage >::Pointer
template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef ImageType::RegionType itk::ShapeLabelMapFilter< TImage, TLabelImage >::RegionType

Reimplemented from itk::InPlaceLabelMapFilter< TImage >.

Definition at line 71 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef ShapeLabelMapFilter itk::ShapeLabelMapFilter< TImage, TLabelImage >::Self

Standard class typedefs.

Reimplemented from itk::InPlaceLabelMapFilter< TImage >.

Reimplemented in itk::StatisticsLabelMapFilter< TImage, TFeatureImage >.

Definition at line 59 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef ImageType::SizeType itk::ShapeLabelMapFilter< TImage, TLabelImage >::SizeType

Definition at line 70 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef itk::Vector<double, 2> itk::ShapeLabelMapFilter< TImage, TLabelImage >::Spacing2Type [private]

Definition at line 152 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef itk::Vector<double, 3> itk::ShapeLabelMapFilter< TImage, TLabelImage >::Spacing3Type [private]

Definition at line 153 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef InPlaceLabelMapFilter< TImage > itk::ShapeLabelMapFilter< TImage, TLabelImage >::Superclass
template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
typedef LabelObjectType::VectorType itk::ShapeLabelMapFilter< TImage, TLabelImage >::VectorType

Constructor & Destructor Documentation

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
itk::ShapeLabelMapFilter< TImage, TLabelImage >::ShapeLabelMapFilter ( ) [protected]
template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
itk::ShapeLabelMapFilter< TImage, TLabelImage >::~ShapeLabelMapFilter ( ) [inline, protected]

Definition at line 129 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
itk::ShapeLabelMapFilter< TImage, TLabelImage >::ShapeLabelMapFilter ( const Self ) [private]

Member Function Documentation

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
virtual void itk::ShapeLabelMapFilter< TImage, TLabelImage >::AfterThreadedGenerateData ( void  ) [protected, virtual]

If an imaging filter needs to perform processing after all processing threads have completed, the filter can can provide an implementation for AfterThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.

Reimplemented from itk::LabelMapFilter< TImage, TImage >.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
virtual void itk::ShapeLabelMapFilter< TImage, TLabelImage >::BeforeThreadedGenerateData ( void  ) [protected, virtual]

If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.

Reimplemented from itk::LabelMapFilter< TImage, TImage >.

Reimplemented in itk::StatisticsLabelMapFilter< TImage, TFeatureImage >.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
void itk::ShapeLabelMapFilter< TImage, TLabelImage >::ComputeFeretDiameter ( LabelObjectType labelObject) [private]
template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
virtual void itk::ShapeLabelMapFilter< TImage, TLabelImage >::ComputeFeretDiameterOff ( ) [virtual]

Begin concept checking End concept checking Set/Get whether the maximum Feret diameter should be computed or not. Default value is false because of the high computation time required.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
virtual void itk::ShapeLabelMapFilter< TImage, TLabelImage >::ComputeFeretDiameterOn ( ) [virtual]

Begin concept checking End concept checking Set/Get whether the maximum Feret diameter should be computed or not. Default value is false because of the high computation time required.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
void itk::ShapeLabelMapFilter< TImage, TLabelImage >::ComputePerimeter ( LabelObjectType labelObject) [private]
template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
virtual void itk::ShapeLabelMapFilter< TImage, TLabelImage >::ComputePerimeterOff ( ) [virtual]

Set/Get whether the perimeter should be computed or not. Default value is false because of the high computation time required.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
virtual void itk::ShapeLabelMapFilter< TImage, TLabelImage >::ComputePerimeterOn ( ) [virtual]

Set/Get whether the perimeter should be computed or not. Default value is false because of the high computation time required.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
virtual::itk::LightObject::Pointer itk::ShapeLabelMapFilter< TImage, TLabelImage >::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::InPlaceLabelMapFilter< TImage >.

Reimplemented in itk::StatisticsLabelMapFilter< TImage, TFeatureImage >.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
virtual const bool& itk::ShapeLabelMapFilter< TImage, TLabelImage >::GetComputeFeretDiameter ( ) [virtual]

Begin concept checking End concept checking Set/Get whether the maximum Feret diameter should be computed or not. Default value is false because of the high computation time required.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
virtual const bool& itk::ShapeLabelMapFilter< TImage, TLabelImage >::GetComputePerimeter ( ) [virtual]

Set/Get whether the perimeter should be computed or not. Default value is false because of the high computation time required.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
virtual const char* itk::ShapeLabelMapFilter< TImage, TLabelImage >::GetNameOfClass ( ) const [virtual]

Runtime information support.

Reimplemented from itk::InPlaceLabelMapFilter< TImage >.

Reimplemented in itk::StatisticsLabelMapFilter< TImage, TFeatureImage >.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
static Pointer itk::ShapeLabelMapFilter< TImage, TLabelImage >::New ( ) [static]

Standard New method.

Reimplemented from itk::InPlaceLabelMapFilter< TImage >.

Reimplemented in itk::StatisticsLabelMapFilter< TImage, TFeatureImage >.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
void itk::ShapeLabelMapFilter< TImage, TLabelImage >::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::InPlaceLabelMapFilter< TImage >.

Reimplemented in itk::StatisticsLabelMapFilter< TImage, TFeatureImage >.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
template<class TMapIntercept , class TSpacing >
double itk::ShapeLabelMapFilter< TImage, TLabelImage >::PerimeterFromInterceptCount ( TMapIntercept &  intercepts,
const TSpacing &  spacing 
) [private]
template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
double itk::ShapeLabelMapFilter< TImage, TLabelImage >::PerimeterFromInterceptCount ( MapIntercept3Type intercepts,
const Spacing3Type  spacing 
) [private]
template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
double itk::ShapeLabelMapFilter< TImage, TLabelImage >::PerimeterFromInterceptCount ( MapIntercept2Type intercepts,
const Spacing2Type  spacing 
) [private]
template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
void itk::ShapeLabelMapFilter< TImage, TLabelImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, 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::InPlaceLabelMapFilter< TImage >.

Reimplemented in itk::StatisticsLabelMapFilter< TImage, TFeatureImage >.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
virtual void itk::ShapeLabelMapFilter< TImage, TLabelImage >::SetComputeFeretDiameter ( bool  _arg) [virtual]

Begin concept checking End concept checking Set/Get whether the maximum Feret diameter should be computed or not. Default value is false because of the high computation time required.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
virtual void itk::ShapeLabelMapFilter< TImage, TLabelImage >::SetComputePerimeter ( bool  _arg) [virtual]

Set/Get whether the perimeter should be computed or not. Default value is false because of the high computation time required.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
void itk::ShapeLabelMapFilter< TImage, TLabelImage >::SetLabelImage ( const TLabelImage *  input) [inline]

Set the label image

Definition at line 122 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
virtual void itk::ShapeLabelMapFilter< TImage, TLabelImage >::ThreadedProcessLabelObject ( LabelObjectType labelObject) [protected, virtual]

Member Data Documentation

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
const unsigned int itk::ShapeLabelMapFilter< TImage, TLabelImage >::ImageDimension = TImage::ImageDimension [static]

ImageDimension constants

Reimplemented in itk::StatisticsLabelMapFilter< TImage, TFeatureImage >.

Definition at line 83 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
bool itk::ShapeLabelMapFilter< TImage, TLabelImage >::m_ComputeFeretDiameter [private]

Definition at line 143 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
bool itk::ShapeLabelMapFilter< TImage, TLabelImage >::m_ComputePerimeter [private]

Definition at line 144 of file itkShapeLabelMapFilter.h.

template<class TImage, class TLabelImage = Image< typename TImage::PixelType, ::itk::GetImageDimension< TImage >::ImageDimension >>
LabelImageConstPointer itk::ShapeLabelMapFilter< TImage, TLabelImage >::m_LabelImage [private]

Definition at line 145 of file itkShapeLabelMapFilter.h.


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