ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject > Class Template Reference

#include <itkPointSetToSpatialObjectDemonsRegistration.h>

+ Inheritance diagram for itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >:
+ Collaboration diagram for itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
FixedPointSetType::ConstPointer 
FixedPointSetConstPointer
typedef TFixedPointSet FixedPointSetType
typedef
MovingSpatialObjectType::ConstPointer 
MovingSpatialObjectConstPointer
typedef TMovingSpatialObject MovingSpatialObjectType
typedef SmartPointer< SelfPointer
typedef
PointSetToSpatialObjectDemonsRegistration 
Self
typedef ProcessObject Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
void StartRegistration (void)
virtual void SetFixedPointSet (const FixedPointSetType *_arg)
virtual const FixedPointSetTypeGetFixedPointSet ()

Static Public Member Functions

static Pointer New ()

Private Member Functions

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

Private Attributes

FixedPointSetConstPointer m_FixedPointSet
MovingSpatialObjectConstPointer m_MovingSpatialObject
virtual void SetMovingSpatialObject (const MovingSpatialObjectType *_arg)
virtual const
MovingSpatialObjectType
GetMovingSpatialObject ()
 PointSetToSpatialObjectDemonsRegistration ()
virtual ~PointSetToSpatialObjectDemonsRegistration ()
void PrintSelf (std::ostream &os, Indent indent) const

Detailed Description

template<typename TFixedPointSet, typename TMovingSpatialObject>
class itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >

Implementation of Demons Registration between a PointSet and a SpatialObject.

The simplest case of Demons registration suggested by P. Thirion in his paper[1] is defined by a Model and Scene. The Model should be able to respond to the queries of whether a point is inside or outside of the object of interest, while the Scene provides a number of points (the Demons) with vector indicating the direction of inside-outside of the equivalent object of interest. In this implementation, the Scene is represented by an itk::PointSet that has Vectors as PixelData. These vectors should be provided by the user of this class and must be pointing outside of the object of interest. The Model is naturally represented by a itk::SpatialObject since its interface responds to the IsInside() method.

This class is intended to be derived in order to define the method that will update the transform. Such method will be specific for the particular type of transform used.

[1] J-P. Thirion "Image matching as a Diffusion Process: and Analogy with Maxwell's Demons", Medical Image Analysis, 1998, Vol. 2, No. 3, pp 243-260.

Definition at line 53 of file itkPointSetToSpatialObjectDemonsRegistration.h.


Member Typedef Documentation

template<typename TFixedPointSet , typename TMovingSpatialObject >
typedef SmartPointer< const Self > itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::ConstPointer

Reimplemented from itk::ProcessObject.

Definition at line 60 of file itkPointSetToSpatialObjectDemonsRegistration.h.

template<typename TFixedPointSet , typename TMovingSpatialObject >
typedef FixedPointSetType::ConstPointer itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::FixedPointSetConstPointer
template<typename TFixedPointSet , typename TMovingSpatialObject >
typedef TFixedPointSet itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::FixedPointSetType

Type of the Fixed PointSet.

Definition at line 66 of file itkPointSetToSpatialObjectDemonsRegistration.h.

template<typename TFixedPointSet , typename TMovingSpatialObject >
typedef MovingSpatialObjectType::ConstPointer itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::MovingSpatialObjectConstPointer
template<typename TFixedPointSet , typename TMovingSpatialObject >
typedef TMovingSpatialObject itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::MovingSpatialObjectType

Type of the Moving image.

Definition at line 73 of file itkPointSetToSpatialObjectDemonsRegistration.h.

template<typename TFixedPointSet , typename TMovingSpatialObject >
typedef SmartPointer< Self > itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::Pointer

Reimplemented from itk::ProcessObject.

Definition at line 59 of file itkPointSetToSpatialObjectDemonsRegistration.h.

template<typename TFixedPointSet , typename TMovingSpatialObject >
typedef PointSetToSpatialObjectDemonsRegistration itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::Self

Standard class typedefs.

Reimplemented from itk::ProcessObject.

Definition at line 57 of file itkPointSetToSpatialObjectDemonsRegistration.h.

template<typename TFixedPointSet , typename TMovingSpatialObject >
typedef ProcessObject itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::Superclass

Reimplemented from itk::ProcessObject.

Definition at line 58 of file itkPointSetToSpatialObjectDemonsRegistration.h.


Constructor & Destructor Documentation

template<typename TFixedPointSet , typename TMovingSpatialObject >
itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::PointSetToSpatialObjectDemonsRegistration ( ) [protected]

Set/Get the Moving image.

template<typename TFixedPointSet , typename TMovingSpatialObject >
virtual itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::~PointSetToSpatialObjectDemonsRegistration ( ) [inline, protected, virtual]

Set/Get the Moving image.

Definition at line 89 of file itkPointSetToSpatialObjectDemonsRegistration.h.

template<typename TFixedPointSet , typename TMovingSpatialObject >
itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::PointSetToSpatialObjectDemonsRegistration ( const Self ) [private]

Member Function Documentation

template<typename TFixedPointSet , typename TMovingSpatialObject >
virtual::itk::LightObject::Pointer itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::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<typename TFixedPointSet , typename TMovingSpatialObject >
virtual const FixedPointSetType* itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::GetFixedPointSet ( ) [virtual]

Set/Get the Fixed image.

template<typename TFixedPointSet , typename TMovingSpatialObject >
virtual const MovingSpatialObjectType* itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::GetMovingSpatialObject ( ) [virtual]

Set/Get the Moving image.

template<typename TFixedPointSet , typename TMovingSpatialObject >
virtual const char* itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::ProcessObject.

template<typename TFixedPointSet , typename TMovingSpatialObject >
static Pointer itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<typename TFixedPointSet , typename TMovingSpatialObject >
void itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::operator= ( const Self ) [private]

Time when GenerateOutputInformation was last called.

Reimplemented from itk::ProcessObject.

template<typename TFixedPointSet , typename TMovingSpatialObject >
void itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

Set/Get the Moving image.

Reimplemented from itk::ProcessObject.

template<typename TFixedPointSet , typename TMovingSpatialObject >
virtual void itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::SetFixedPointSet ( const FixedPointSetType _arg) [virtual]

Set/Get the Fixed image.

template<typename TFixedPointSet , typename TMovingSpatialObject >
virtual void itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::SetMovingSpatialObject ( const MovingSpatialObjectType _arg) [virtual]

Set/Get the Moving image.

template<typename TFixedPointSet , typename TMovingSpatialObject >
void itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::StartRegistration ( void  )

Method that initiates the registration.


Member Data Documentation

template<typename TFixedPointSet , typename TMovingSpatialObject >
FixedPointSetConstPointer itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::m_FixedPointSet [private]
template<typename TFixedPointSet , typename TMovingSpatialObject >
MovingSpatialObjectConstPointer itk::PointSetToSpatialObjectDemonsRegistration< TFixedPointSet, TMovingSpatialObject >::m_MovingSpatialObject [private]

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