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

itk::BalloonForce3DFilter< TInputMesh, TOutputMesh > Class Template Reference
[Mesh FiltersMesh Segmentation Filters]

#include <itkBalloonForce3DFilter.h>

Inheritance diagram for itk::BalloonForce3DFilter:

Inheritance graph
[legend]
Collaboration diagram for itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef BalloonForce3DFilter Self
typedef MeshToMeshFilter<
TInputMesh, TOutputMesh > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef TInputMesh InputMeshType
typedef TOutputMesh OutputMeshType
typedef InputMeshType::PointsContainerPointer InputPointsContainerPointer
typedef InputMeshType::PointsContainer::Iterator InputPointsContainerIterator
typedef InputMeshType::PointDataContainerPointer InputPointDataContainerPointer
typedef InputMeshType::PointDataContainer::Iterator InputPointDataContainerIterator
typedef InputMeshType::CellsContainerPointer InputCellsContainerPointer
typedef InputMeshType::CellsContainer::Iterator InputCellsContainerIterator
typedef InputMeshType::CellDataContainerPointer InputCellDataContainerPointer
typedef InputMeshType::CellDataContainer::Iterator InputCellDataContainerIterator
typedef OutputMeshType::PointsContainerPointer OutputPointsContainerPointer
typedef OutputMeshType::PointsContainer::Iterator OutputPointsContainerIterator
typedef InputMeshType::CellType CellType
typedef InputMeshType::CellTraits CellTraits
typedef InputMeshType::PointType InputPointType
typedef InputMeshType::PixelType PixelType
typedef CellInterface< PixelType,
CellTraits
CellInterface
typedef TriangleCell< CellInterfaceTriCell
typedef CovariantVector< PixelType, 3 > GradientType
typedef Image< GradientType, 3 > GradientImageType
typedef Image< unsigned short, 3 > ImageType
typedef ImageType::Pointer ImagePointer
typedef ImageType::IndexType IndexType
typedef ImageRegionIterator<
ImageType
ImageIterator
typedef ImageRegionIterator<
GradientImageType
GradientIterator
typedef ImageType::SizeType PotentialSizeType
typedef GradientImageType::Pointer GradientImagePointer
typedef Vector< float, 3 > FloatVector
typedef Vector< int, 3 > IntVector
typedef InputMeshType::Pointer InputMeshPointer
typedef OutputMeshType::Pointer OutputMeshPointer

Public Methods

virtual const char * GetClassName () const
virtual void SetPotential (ImagePointer _arg)
virtual ImagePointer GetPotential ()
virtual void SetGradient (GradientImagePointer _arg)
virtual GradientImagePointer GetGradient ()
virtual void SetFirstSlice (int _arg)
virtual int GetFirstSlice ()
virtual void SetNeighborRadius (int _arg)
virtual void SetStepThreshold1 (int _arg)
virtual void SetStepThreshold2 (int _arg)
virtual void SetXResolution (int _arg)
virtual void SetYResolution (int _arg)
virtual void SetZResolution (int _arg)
virtual void SetStiffnessV (double _arg)
virtual void SetStiffnessH (double _arg)
virtual void SetTimeStep (double _arg)
virtual void SetCenter (IndexType _arg)
virtual InputMeshPointer GetNormals ()
virtual void SetImageOutput (ImagePointer _arg)
virtual ImagePointer GetImageOutput ()

Static Public Methods

Pointer New ()

Protected Methods

 BalloonForce3DFilter ()
 ~BalloonForce3DFilter ()
 BalloonForce3DFilter (const Self &)
void operator= (const Self &)
void PrintSelf (std::ostream &os, Indent indent) const
virtual void GenerateData ()

Detailed Description

template<class TInputMesh, class TOutputMesh>
class itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >

BalloonForce3DFilter is a simplified form of the 3D deformable model. There are 2 forces applied on the surface of model. The balloon force and the gradient force. (1) The balloon force is a 2D force. In each slice, the balloon force is oriented along the normal direction of the model. (2) The gradient force is derived from boundary points locations in the original data. At boundary positions, the magnitude of the gradient is large and the gradient force, proportional to the gradient magnitude, will attract the model to these boundary locations. The combination of the two forces will drive the model nodes towards the boundary positions and stop them as they reach a boundary position (i.e high gradient position) The model motion is driven by the following equation:: d' + Kd = f_{int} + f_{ext} The model nodes positions are updated using the following iterative scheme: d_{n+1} = d_{n} + timestep * d' Input parameters are: (1) An original volume (2) A Deformable mesh (it can be derived from ShpereSource) (3) A potential map. This is a binary volume with object and background labelled differently (equivalent to a mask). This volume can be derived from GibbsPriorFilter or any other segmentation method.

A gradient volume is derived from a GaussainRecursiveFilter applied to the original data. This filter first applies a smoothing Gaussian filter to the volume and then computes the gradient in 2D for each slice.

In order to speed up the deformation process, this method initially deforms the model with only the balloon force (BalloonForceFilter method) so that the model expands inside the object binary mask. When the nodes on the model get close to the object mask boundary, the gradient force is turned on (GradientFit method) to refine the the model nodes position using the gradient information in the original volume. The BalloonForce3DFilter treats the 3D segmentation as series of 2D slices.

Definition at line 75 of file itkBalloonForce3DFilter.h.


Member Typedef Documentation

template<class TInputMesh, class TOutputMesh>
typedef CellInterface<PixelType,CellTraits> itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::CellInterface
 

Definition at line 124 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef InputMeshType::CellTraits itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::CellTraits
 

Definition at line 121 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef InputMeshType::CellType itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::CellType
 

typedefs for cell and point.

Definition at line 120 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef SmartPointer<const Self> itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::ConstPointer
 

Reimplemented from itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.

Definition at line 87 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef Vector<float, 3> itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::FloatVector
 

Two typedef for vectors.

Definition at line 139 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef GradientImageType::Pointer itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::GradientImagePointer
 

Definition at line 136 of file itkBalloonForce3DFilter.h.

Referenced by itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::operator=().

template<class TInputMesh, class TOutputMesh>
typedef Image<GradientType, 3> itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::GradientImageType
 

Definition at line 129 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef ImageRegionIterator<GradientImageType> itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::GradientIterator
 

Definition at line 134 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef CovariantVector<PixelType, 3> itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::GradientType
 

image and image iterator definition

Definition at line 128 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef ImageRegionIterator<ImageType> itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::ImageIterator
 

Definition at line 133 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef ImageType::Pointer itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::ImagePointer
 

Definition at line 131 of file itkBalloonForce3DFilter.h.

Referenced by itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::operator=().

template<class TInputMesh, class TOutputMesh>
typedef Image<unsigned short, 3> itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::ImageType
 

Definition at line 130 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef ImageType::IndexType itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::IndexType
 

Definition at line 132 of file itkBalloonForce3DFilter.h.

Referenced by itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::operator=().

template<class TInputMesh, class TOutputMesh>
typedef InputMeshType::CellDataContainer::Iterator itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::InputCellDataContainerIterator
 

Definition at line 113 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef InputMeshType::CellDataContainerPointer itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::InputCellDataContainerPointer
 

Definition at line 111 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef InputMeshType::CellsContainer::Iterator itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::InputCellsContainerIterator
 

Definition at line 109 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef InputMeshType::CellsContainerPointer itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::InputCellsContainerPointer
 

Definition at line 107 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef InputMeshType::Pointer itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::InputMeshPointer
 

Reimplemented from itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.

Definition at line 143 of file itkBalloonForce3DFilter.h.

Referenced by itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::~BalloonForce3DFilter().

template<class TInputMesh, class TOutputMesh>
typedef TInputMesh itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::InputMeshType
 

Some typedefs.

Reimplemented from itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.

Definition at line 96 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef InputMeshType::PointDataContainer::Iterator itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::InputPointDataContainerIterator
 

Definition at line 105 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef InputMeshType::PointDataContainerPointer itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::InputPointDataContainerPointer
 

Definition at line 103 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef InputMeshType::PointsContainer::Iterator itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::InputPointsContainerIterator
 

Definition at line 101 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef InputMeshType::PointsContainerPointer itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::InputPointsContainerPointer
 

Definition at line 99 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef InputMeshType::PointType itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::InputPointType
 

Definition at line 122 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef Vector<int, 3> itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::IntVector
 

Definition at line 140 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef OutputMeshType::Pointer itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::OutputMeshPointer
 

Reimplemented from itk::MeshSource< TOutputMesh >.

Definition at line 144 of file itkBalloonForce3DFilter.h.

Referenced by itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::BalloonForce3DFilter().

template<class TInputMesh, class TOutputMesh>
typedef TOutputMesh itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::OutputMeshType
 

Reimplemented from itk::MeshSource< TOutputMesh >.

Definition at line 97 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef OutputMeshType::PointsContainer::Iterator itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::OutputPointsContainerIterator
 

Definition at line 117 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef OutputMeshType::PointsContainerPointer itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::OutputPointsContainerPointer
 

Definition at line 115 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef InputMeshType::PixelType itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::PixelType
 

Definition at line 123 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef SmartPointer<Self> itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::Pointer
 

Smart pointer typedef support

Reimplemented from itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.

Definition at line 86 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef ImageType::SizeType itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::PotentialSizeType
 

Definition at line 135 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef BalloonForce3DFilter itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::Self
 

Standard "Self" typedef.

Reimplemented from itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.

Definition at line 80 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef MeshToMeshFilter<TInputMesh, TOutputMesh> itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::Superclass
 

Standard "Superclass" typedef.

Reimplemented from itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.

Definition at line 83 of file itkBalloonForce3DFilter.h.

template<class TInputMesh, class TOutputMesh>
typedef TriangleCell<CellInterface> itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::TriCell
 

Definition at line 125 of file itkBalloonForce3DFilter.h.


Constructor & Destructor Documentation

template<class TInputMesh, class TOutputMesh>
itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::BalloonForce3DFilter   [protected]
 

template<class TInputMesh, class TOutputMesh>
itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::~BalloonForce3DFilter   [inline, protected]
 

Definition at line 208 of file itkBalloonForce3DFilter.h.

References itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::InputMeshPointer.

template<class TInputMesh, class TOutputMesh>
itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::BalloonForce3DFilter const Self   [inline, protected]
 

Definition at line 209 of file itkBalloonForce3DFilter.h.

References itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::OutputMeshPointer.


Member Function Documentation

template<class TInputMesh, class TOutputMesh>
virtual void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::GenerateData void    [protected, virtual]
 

This method causes the filter to generate its output.

Reimplemented from itk::ProcessObject.

template<class TInputMesh, class TOutputMesh>
virtual const char* itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::GetClassName   const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.

template<class TInputMesh, class TOutputMesh>
virtual int itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::GetFirstSlice   [virtual]
 

template<class TInputMesh, class TOutputMesh>
virtual GradientImagePointer itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::GetGradient   [virtual]
 

template<class TInputMesh, class TOutputMesh>
virtual ImagePointer itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::GetImageOutput   [virtual]
 

Set/Get routines

template<class TInputMesh, class TOutputMesh>
virtual InputMeshPointer itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::GetNormals   [virtual]
 

template<class TInputMesh, class TOutputMesh>
virtual ImagePointer itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::GetPotential   [virtual]
 

template<class TInputMesh, class TOutputMesh>
Pointer itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::New   [static]
 

Method for creation through the object factory.

Reimplemented from itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.

template<class TInputMesh, class TOutputMesh>
void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::operator= const Self   [inline, protected]
 

Reimplemented from itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.

Definition at line 210 of file itkBalloonForce3DFilter.h.

References itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::GradientImagePointer, itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::ImagePointer, and itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::IndexType.

template<class TInputMesh, class TOutputMesh>
void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::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::MeshSource< TOutputMesh >.

template<class TInputMesh, class TOutputMesh>
virtual void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::SetCenter IndexType    _arg [virtual]
 

template<class TInputMesh, class TOutputMesh>
virtual void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::SetFirstSlice int    _arg [virtual]
 

template<class TInputMesh, class TOutputMesh>
virtual void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::SetGradient GradientImagePointer    _arg [virtual]
 

template<class TInputMesh, class TOutputMesh>
virtual void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::SetImageOutput ImagePointer    _arg [virtual]
 

Set/Get routines

template<class TInputMesh, class TOutputMesh>
virtual void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::SetNeighborRadius int    _arg [virtual]
 

template<class TInputMesh, class TOutputMesh>
virtual void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::SetPotential ImagePointer    _arg [virtual]
 

template<class TInputMesh, class TOutputMesh>
virtual void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::SetStepThreshold1 int    _arg [virtual]
 

template<class TInputMesh, class TOutputMesh>
virtual void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::SetStepThreshold2 int    _arg [virtual]
 

template<class TInputMesh, class TOutputMesh>
virtual void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::SetStiffnessH double    _arg [virtual]
 

template<class TInputMesh, class TOutputMesh>
virtual void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::SetStiffnessV double    _arg [virtual]
 

template<class TInputMesh, class TOutputMesh>
virtual void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::SetTimeStep double    _arg [virtual]
 

template<class TInputMesh, class TOutputMesh>
virtual void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::SetXResolution int    _arg [virtual]
 

template<class TInputMesh, class TOutputMesh>
virtual void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::SetYResolution int    _arg [virtual]
 

template<class TInputMesh, class TOutputMesh>
virtual void itk::BalloonForce3DFilter< TInputMesh, TOutputMesh >::SetZResolution int    _arg [virtual]
 


The documentation for this class was generated from the following file:
Generated at Wed Mar 12 01:13:59 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000