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 Member Functions
itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage > Class Template Reference

Computes pixel-wise the eigen values and eigen vectors of a 2D symmetrical matrix. More...

#include <itkEigenAnalysis2DImageFilter.h>

Inheritance diagram for itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >:
Collaboration diagram for itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
ProcessObject::DataObjectPointerArraySizeType 
DataObjectPointerArraySizeType
typedef
EigenValueImageType::PixelType 
EigenValueImagePixelType
typedef
EigenValueImageType::Pointer 
EigenValueImagePointer
typedef
EigenValueImageType::RegionType 
EigenValueImageRegionType
typedef TEigenValueImage EigenValueImageType
typedef
EigenVectorImageType::PixelType 
EigenVectorImagePixelType
typedef
EigenVectorImageType::Pointer 
EigenVectorImagePointer
typedef
EigenVectorImageType::RegionType 
EigenVectorImageRegionType
typedef TEigenVectorImage EigenVectorImageType
typedef
TEigenVectorImage::PixelType 
EigenVectorType
typedef
Superclass::OutputImageRegionType 
OutputImageRegionType
typedef SmartPointer< SelfPointer
typedef EigenAnalysis2DImageFilter Self
typedef ImageToImageFilter
< TInputImage,
TEigenValueImage > 
Superclass
typedef EigenVectorType::ValueType VectorComponentType

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
EigenValueImageTypeGetMaxEigenValue (void)
EigenVectorImageTypeGetMaxEigenVector (void)
EigenValueImageTypeGetMinEigenValue (void)
virtual const char * GetNameOfClass () const
DataObject::Pointer MakeOutput (DataObjectPointerArraySizeType idx)
void SetInput1 (TInputImage *image1)
void SetInput2 (TInputImage *image2)
void SetInput3 (TInputImage *image3)
 typedef (Concept::HasNumericTraits< VectorComponentType >) VectorComponentHasNumericTraitsCheck

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = TInputImage::ImageDimension

Protected Member Functions

 EigenAnalysis2DImageFilter ()
void GenerateData (void)
virtual ~EigenAnalysis2DImageFilter ()

Private Member Functions

 EigenAnalysis2DImageFilter (const Self &)
void operator= (const Self &)

Detailed Description

template<class TInputImage, class TEigenValueImage, class TEigenVectorImage>
class itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >

Computes pixel-wise the eigen values and eigen vectors of a 2D symmetrical matrix.

The filter expects three inputs images { A, B, C } representing the component of the matrix

| A B | | B c |

The eigen values are stored in two output images, and the eigen vector associated with the maximum eigenvalue is stored in an image using vector as pixel type.

Definition at line 44 of file itkEigenAnalysis2DImageFilter.h.


Member Typedef Documentation

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef SmartPointer< const Self > itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::ConstPointer
template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef ProcessObject::DataObjectPointerArraySizeType itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::DataObjectPointerArraySizeType

Create the Output

Reimplemented from itk::ImageSource< TEigenValueImage >.

Definition at line 106 of file itkEigenAnalysis2DImageFilter.h.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef EigenValueImageType::PixelType itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::EigenValueImagePixelType

Definition at line 71 of file itkEigenAnalysis2DImageFilter.h.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef EigenValueImageType::Pointer itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::EigenValueImagePointer

Definition at line 69 of file itkEigenAnalysis2DImageFilter.h.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef EigenValueImageType::RegionType itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::EigenValueImageRegionType

Definition at line 70 of file itkEigenAnalysis2DImageFilter.h.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef TEigenValueImage itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::EigenValueImageType

Some convenient typedefs.

Definition at line 68 of file itkEigenAnalysis2DImageFilter.h.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef EigenVectorImageType::PixelType itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::EigenVectorImagePixelType

Definition at line 75 of file itkEigenAnalysis2DImageFilter.h.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef EigenVectorImageType::Pointer itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::EigenVectorImagePointer

Definition at line 73 of file itkEigenAnalysis2DImageFilter.h.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef EigenVectorImageType::RegionType itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::EigenVectorImageRegionType

Definition at line 74 of file itkEigenAnalysis2DImageFilter.h.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef TEigenVectorImage itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::EigenVectorImageType

Definition at line 72 of file itkEigenAnalysis2DImageFilter.h.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef TEigenVectorImage::PixelType itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::EigenVectorType

Typedef for the vector type representing the eigen vectors

Definition at line 58 of file itkEigenAnalysis2DImageFilter.h.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef Superclass::OutputImageRegionType itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::OutputImageRegionType

Superclass typedefs.

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

Definition at line 65 of file itkEigenAnalysis2DImageFilter.h.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef SmartPointer< Self > itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::Pointer
template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef EigenAnalysis2DImageFilter itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::Self

Standard class typedefs.

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

Definition at line 49 of file itkEigenAnalysis2DImageFilter.h.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef ImageToImageFilter< TInputImage, TEigenValueImage > itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::Superclass
template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
typedef EigenVectorType::ValueType itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::VectorComponentType

Definition at line 62 of file itkEigenAnalysis2DImageFilter.h.


Constructor & Destructor Documentation

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::EigenAnalysis2DImageFilter ( ) [protected]

End concept checking

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
virtual itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::~EigenAnalysis2DImageFilter ( ) [inline, protected, virtual]

Definition at line 119 of file itkEigenAnalysis2DImageFilter.h.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::EigenAnalysis2DImageFilter ( const Self ) [private]

Member Function Documentation

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
virtual::itk::LightObject::Pointer itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::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 TEigenValueImage , class TEigenVectorImage >
void itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::GenerateData ( void  ) [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< TEigenValueImage >.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
EigenValueImageType* itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::GetMaxEigenValue ( void  )

Get the Output image with the greatest eigenvalue

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
EigenVectorImageType* itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::GetMaxEigenVector ( void  )

Get the Output image with the eigen vector associated with the greatest eigen value

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
EigenValueImageType* itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::GetMinEigenValue ( void  )

Get the Output image with the smallest eigenvalue

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
virtual const char* itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods).

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

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
DataObject::Pointer itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::MakeOutput ( DataObjectPointerArraySizeType  idx) [virtual]

Make a DataObject of the correct type to used as the specified output. Every ProcessObject subclass must be able to create a DataObject that can be used as a specified output. This method is automatically called when DataObject::DisconnectPipeline() is called. DataObject::DisconnectPipeline, disconnects a data object from being an output of its current source. When the data object is disconnected, the ProcessObject needs to construct a replacement output data object so that the ProcessObject is in a valid state. So DataObject::DisconnectPipeline eventually calls ProcessObject::MakeOutput. Note that MakeOutput always returns a itkSmartPointer to a DataObject. ImageSource and MeshSource override this method to create the correct type of image and mesh respectively. If a filter has multiple outputs of different types, then that filter must provide an implementation of MakeOutput().

Reimplemented from itk::ImageSource< TEigenValueImage >.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
static Pointer itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
void itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::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, TEigenValueImage >.

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
void itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::SetInput1 ( TInputImage *  image1)

Connect the image containting the elements [0,0] of the input 2D matrix

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
void itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::SetInput2 ( TInputImage *  image2)

Connect the image containting the elements [0,1] of the input 2D matrix. This is the same [1,0] element given that the input matrix is expected to be symmetric

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
void itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::SetInput3 ( TInputImage *  image3)

Connect the image containting the elements [1,1] of the input 2D matrix

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::typedef ( Concept::HasNumericTraits< VectorComponentType )

Begin concept checking This class requires VectorComponentHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< VectorComponentType > )


Member Data Documentation

template<class TInputImage , class TEigenValueImage , class TEigenVectorImage >
const unsigned int itk::EigenAnalysis2DImageFilter< TInputImage, TEigenValueImage, TEigenVectorImage >::ImageDimension = TInputImage::ImageDimension [static]

Image dimension.

Definition at line 79 of file itkEigenAnalysis2DImageFilter.h.


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