Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage > Class Template Reference
[Operators]

#include <itkImagePCADecompositionCalculator.h>

Inheritance diagram for itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >:

Inheritance graph
[legend]
Collaboration diagram for itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
class itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >

Decomposes an image into directions along basis components.

This calculator computes the projection of an image into a subspace specified by some basis set of images, and, optionally, a mean image (e.g a translation to a new origin). Typically, this basis/mean image will be the mean and principal components of an image data set, as calculated by an ImagePCAShapeModelEstimator. The output of the calculator is a vnl_vector containing the coefficients along each dimension of the provided basis set. To use this calculator, set the basis images with the SetBasisImage method, and optionally set the mean image with the SetMeanImage method. In the PCA case, the zeroth output of the ImagePCAShapeModelEstimator is the mean image and subsequent outputs are the basis images. SetBasisFromModel is a convenience method to set all of this information from a given ImagePCAShapeModelEstimator instance.

This class is templated over the input image type and the type of images used to describe the basis.

Warning:
This method assumes that the input image consists of scalar pixel types.

All images (input, basis, and mean) must be the same size.

Author:
Zachary Pincus

Definition at line 60 of file itkImagePCADecompositionCalculator.h.

Public Types

typedef TBasisImage::ConstPointer BasisImageConstPointer
typedef TBasisImage::Pointer BasisImagePointer
typedef std::vector< BasisImagePointerBasisImagePointerVector
typedef TBasisImage BasisImageType
typedef vnl_matrix< BasisPixelTypeBasisMatrixType
typedef TBasisImage::PixelType BasisPixelType
typedef vnl_vector< BasisPixelTypeBasisVectorType
typedef SmartPointer< const
Self
ConstPointer
typedef TInputImage::ConstPointer InputImageConstPointer
typedef TInputImage::Pointer InputImagePointer
typedef TInputImage InputImageType
typedef ImagePCAShapeModelEstimator<
TInputImage, TBasisImage
>::Pointer 
ModelPointerType
typedef SmartPointer< SelfPointer
typedef ImagePCADecompositionCalculator Self
typedef Object Superclass

Public Member Functions

void Compute (void)
virtual LightObject::Pointer CreateAnother () const
virtual void DebugOff () const
virtual void DebugOn () const
virtual void Delete ()
BasisImagePointerVector GetBasisImages ()
CommandGetCommand (unsigned long tag)
bool GetDebug () const
virtual const InputImageTypeGetImage ()
virtual const BasisImageTypeGetMeanImage ()
const MetaDataDictionaryGetMetaDataDictionary (void) const
MetaDataDictionaryGetMetaDataDictionary (void)
virtual unsigned long GetMTime () const
virtual const char * GetNameOfClass () const
virtual BasisVectorType GetProjection ()
virtual int GetReferenceCount () const
bool HasObserver (const EventObject &event) const
void InvokeEvent (const EventObject &) const
void InvokeEvent (const EventObject &)
 itkStaticConstMacro (BasisImageDimension, unsigned int, TBasisImage::ImageDimension)
 itkStaticConstMacro (InputImageDimension, unsigned int, TInputImage::ImageDimension)
virtual void Modified () const
void Print (std::ostream &os, Indent indent=0) const
virtual void Register () const
void RemoveAllObservers ()
void RemoveObserver (unsigned long tag)
void SetBasisFromModel (ModelPointerType model)
Set and get the basis images
*void 
SetBasisImages (const BasisImagePointerVector &)
void SetDebug (bool debugFlag) const
Set and get the input image
*virtual void 
SetImage (const InputImageType *_arg)
Set and get the mean image
*virtual void 
SetMeanImage (const BasisImageType *_arg)
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
virtual void SetReferenceCount (int)
virtual void UnRegister () const

Static Public Member Functions

static void BreakOnError ()
static bool GetGlobalWarningDisplay ()
static void GlobalWarningDisplayOff ()
static void GlobalWarningDisplayOn ()
static Pointer New ()
This is a global flag that
controls whether any warning
*or error messages are displayed
*static void 
SetGlobalWarningDisplay (bool flag)

Public Attributes

Allow people to add remove
invoke observers(callbacks)
to any ITK *object.This is
an implementation of the subject/observer design *pattern.An
observer is added by specifying
an event to respond to *and
an itk unsigned lon 
AddObserver )(const EventObject &event, Command *) const
This is a global flag that
controls whether any 
debug

Protected Member Functions

void CalculateBasisMatrix (void)
void CalculateRecenteredImageAsVector (void)
 ImagePCADecompositionCalculator ()
bool PrintObservers (std::ostream &os, Indent indent) const
void PrintSelf (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const
virtual ~ImagePCADecompositionCalculator ()

Protected Attributes

int m_ReferenceCount
SimpleFastMutexLock m_ReferenceCountLock
Methods invoked by virtual
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.*/virtual
void PrintSelf(std voi 
PrintHeader )(std::ostream &os, Indent indent) const


Member Typedef Documentation

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
typedef TBasisImage::ConstPointer itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::BasisImageConstPointer
 

Definition at line 85 of file itkImagePCADecompositionCalculator.h.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
typedef TBasisImage::Pointer itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::BasisImagePointer
 

Definition at line 81 of file itkImagePCADecompositionCalculator.h.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
typedef std::vector< BasisImagePointer > itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::BasisImagePointerVector
 

Vector of basis image pointers.

Definition at line 100 of file itkImagePCADecompositionCalculator.h.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
typedef TBasisImage itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::BasisImageType
 

Definition at line 77 of file itkImagePCADecompositionCalculator.h.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
typedef vnl_matrix<BasisPixelType> itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::BasisMatrixType
 

Type definitions for internal vectors and matrices

Definition at line 103 of file itkImagePCADecompositionCalculator.h.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
typedef TBasisImage::PixelType itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::BasisPixelType
 

Basis image pixel type: this is also the type of the optput vector

Definition at line 88 of file itkImagePCADecompositionCalculator.h.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
typedef vnl_vector<BasisPixelType> itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::BasisVectorType
 

Definition at line 104 of file itkImagePCADecompositionCalculator.h.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
typedef SmartPointer<const Self> itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::ConstPointer
 

Reimplemented from itk::Object.

Definition at line 67 of file itkImagePCADecompositionCalculator.h.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
typedef TInputImage::ConstPointer itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::InputImageConstPointer
 

Const Pointer type for the image.

Definition at line 84 of file itkImagePCADecompositionCalculator.h.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
typedef TInputImage::Pointer itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::InputImagePointer
 

Pointer types for the image.

Definition at line 80 of file itkImagePCADecompositionCalculator.h.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
typedef TInputImage itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::InputImageType
 

Type definitions for the input images.

Definition at line 73 of file itkImagePCADecompositionCalculator.h.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
typedef ImagePCAShapeModelEstimator<TInputImage, TBasisImage>::Pointer itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::ModelPointerType
 

Type definition of a compatible ImagePCAShapeModelEstimator

Definition at line 123 of file itkImagePCADecompositionCalculator.h.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
typedef SmartPointer<Self> itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::Pointer
 

Reimplemented from itk::Object.

Definition at line 66 of file itkImagePCADecompositionCalculator.h.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
typedef ImagePCADecompositionCalculator itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::Self
 

Standard class typedefs.

Reimplemented from itk::Object.

Definition at line 64 of file itkImagePCADecompositionCalculator.h.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
typedef Object itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::Superclass
 

Reimplemented from itk::Object.

Definition at line 65 of file itkImagePCADecompositionCalculator.h.


Constructor & Destructor Documentation

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::ImagePCADecompositionCalculator  )  [protected]
 

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
virtual itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::~ImagePCADecompositionCalculator  )  [inline, protected, virtual]
 

Definition at line 137 of file itkImagePCADecompositionCalculator.h.


Member Function Documentation

static void itk::LightObject::BreakOnError  )  [static, inherited]
 

This method is called when itkExceptionMacro executes. It allows the debugger to break on error.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
void itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::CalculateBasisMatrix void   )  [protected]
 

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
void itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::CalculateRecenteredImageAsVector void   )  [protected]
 

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
void itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::Compute void   ) 
 

Compute the PCA decomposition of the input image.

virtual LightObject::Pointer itk::Object::CreateAnother  )  const [virtual, inherited]
 

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::LightObject.

virtual void itk::Object::DebugOff  )  const [virtual, inherited]
 

Turn debugging output off.

virtual void itk::Object::DebugOn  )  const [virtual, inherited]
 

Turn debugging output on.

virtual void itk::LightObject::Delete  )  [virtual, inherited]
 

Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
BasisImagePointerVector itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::GetBasisImages  )  [inline]
 

Definition at line 118 of file itkImagePCADecompositionCalculator.h.

Command* itk::Object::GetCommand unsigned long  tag  )  [inherited]
 

Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used.

bool itk::Object::GetDebug  )  const [inherited]
 

Get the value of the debug flag.

static bool itk::Object::GetGlobalWarningDisplay  )  [static, inherited]
 

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
virtual const InputImageType* itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::GetImage  )  [virtual]
 

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
virtual const BasisImageType* itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::GetMeanImage  )  [virtual]
 

const MetaDataDictionary& itk::Object::GetMetaDataDictionary void   )  const [inherited]
 

Returns:
A constant reference to this objects MetaDataDictionary.

MetaDataDictionary& itk::Object::GetMetaDataDictionary void   )  [inherited]
 

Returns:
A reference to this objects MetaDataDictionary.
Warning:
This reference may be changed.

virtual unsigned long itk::Object::GetMTime  )  const [virtual, inherited]
 

Return this objects modified time.

Reimplemented in itk::ImageRegistrationMethod< TFixedImage, TMovingImage >, itk::DeformationFieldSource< TOutputImage >, itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >, itk::SceneSpatialObject< SpaceDimension >, and itk::SceneSpatialObject< NDimensions >.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
virtual const char* itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::Object.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
virtual BasisVectorType itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::GetProjection  )  [virtual]
 

Return the projection of the image.

virtual int itk::LightObject::GetReferenceCount  )  const [inline, virtual, inherited]
 

Gets the reference count on this object.

Definition at line 98 of file itkLightObject.h.

static void itk::Object::GlobalWarningDisplayOff  )  [inline, static, inherited]
 

Definition at line 100 of file itkObject.h.

References itk::Object::SetGlobalWarningDisplay().

static void itk::Object::GlobalWarningDisplayOn  )  [inline, static, inherited]
 

Definition at line 98 of file itkObject.h.

References itk::Object::SetGlobalWarningDisplay().

bool itk::Object::HasObserver const EventObject event  )  const [inherited]
 

Return true if an observer is registered for this event.

void itk::Object::InvokeEvent const EventObject  )  const [inherited]
 

Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object.

void itk::Object::InvokeEvent const EventObject  )  [inherited]
 

Call Execute on all the Commands observing this event id.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::itkStaticConstMacro BasisImageDimension  ,
unsigned  int,
TBasisImage::ImageDimension 
 

Basis Image dimension

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::itkStaticConstMacro InputImageDimension  ,
unsigned  int,
TInputImage::ImageDimension 
 

Input Image dimension

virtual void itk::Object::Modified  )  const [virtual, inherited]
 

Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data.

Referenced by itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetCenter(), itk::HistogramAlgorithmBase< TInputHistogram >::SetInputHistogram(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetMatrix(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetOffset(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetRealThresholds(), itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::SetSeedPoints1(), itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::SetSeedPoints2(), itk::NonUniformBSpline< TDimension >::SetSplineOrder(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetThresholds(), itk::Statistics::GoodnessOfFitFunctionBase< typename ComponentType::HistogramType >::SetTotalObservedScale(), and itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetTranslation().

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
static Pointer itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

void itk::LightObject::Print std::ostream &  os,
Indent  indent = 0
const [inherited]
 

Cause the object to print itself out.

bool itk::Object::PrintObservers std::ostream &  os,
Indent  indent
const [protected, inherited]
 

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
void itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::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::Object.

virtual void itk::LightObject::PrintTrailer std::ostream &  os,
Indent  indent
const [protected, virtual, inherited]
 

virtual void itk::Object::Register  )  const [virtual, inherited]
 

Increase the reference count (mark as used by another object).

Reimplemented from itk::LightObject.

void itk::Object::RemoveAllObservers  )  [inherited]
 

Remove all observers .

void itk::Object::RemoveObserver unsigned long  tag  )  [inherited]
 

Remove the observer with this tag value.

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
void itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::SetBasisFromModel ModelPointerType  model  ) 
 

Set the basis images from a ImagePCAShapeModelEstimator

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
Set and get the basis images* void itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::SetBasisImages const BasisImagePointerVector  ) 
 

void itk::Object::SetDebug bool  debugFlag  )  const [inherited]
 

Set the value of the debug flag. A non-zero value turns debugging on.

This is a global flag that controls whether any warning* or error messages are displayed* static void itk::Object::SetGlobalWarningDisplay bool  flag  )  [static, inherited]
 

Referenced by itk::Object::GlobalWarningDisplayOff(), and itk::Object::GlobalWarningDisplayOn().

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
Set and get the input image* virtual void itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::SetImage const InputImageType _arg  )  [virtual]
 

template<class TInputImage, class TBasisImage = Image<double, ::itk::GetImageDimension<TInputImage>::ImageDimension>>
Set and get the mean image* virtual void itk::ImagePCADecompositionCalculator< TInputImage, TBasisImage >::SetMeanImage const BasisImageType _arg  )  [virtual]
 

void itk::Object::SetMetaDataDictionary const MetaDataDictionary rhs  )  [inherited]
 

Returns:
Set the MetaDataDictionary

virtual void itk::Object::SetReferenceCount int   )  [virtual, inherited]
 

Sets the reference count (use with care)

Reimplemented from itk::LightObject.

virtual void itk::Object::UnRegister  )  const [virtual, inherited]
 

Decrease the reference count (release by another object).

Reimplemented from itk::LightObject.


Member Data Documentation

Allow people to add remove invoke observers (callbacks) to any ITK * object. This is an implementation of the subject/observer design * pattern. An observer is added by specifying an event to respond to * and an itk unsigned lon itk::Object::AddObserver)(const EventObject &event, Command *) const [inherited]
 

This is a global flag that controls whether any itk::Object::debug [inherited]
 

Definition at line 94 of file itkObject.h.

int itk::LightObject::m_ReferenceCount [mutable, protected, inherited]
 

Number of uses of this object by other objects.

Definition at line 119 of file itkLightObject.h.

SimpleFastMutexLock itk::LightObject::m_ReferenceCountLock [mutable, protected, inherited]
 

Mutex lock to protect modification to the reference count

Definition at line 122 of file itkLightObject.h.

Methods invoked by virtual 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. */ virtual void PrintSelf(std voi itk::LightObject::PrintHeader)(std::ostream &os, Indent indent) const [protected, inherited]
 


The documentation for this class was generated from the following file:
Generated at Sun Jul 9 20:13:08 2006 for ITK by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2000