ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkSimplexMeshVolumeCalculator.h>
Adapted from itkSimplexMeshToTriangleFilter to calculate the volume of a simplex mesh using the barycenters and normals. call Compute() to calculate the volume and GetVolume() to get the value. For an example see itkDeformableSimplexMesh3DFilter.cxx (Thomas Boettger. Division Medical and Biological Informatics, German Cancer Research Center, Heidelberg.)
The original implementation has been replaced with an algorithm based on the discrete form of the divergence theorem. The general assumption here is that the model is of closed surface. For more details see the following reference (Alyassin A.M. et al, "Evaluation of new algorithms for the interactive measurement of surface area and volume", Med Phys 21(6) 1994.).
Definition at line 50 of file itkSimplexMeshVolumeCalculator.h.
typedef CellMultiVisitorType::Pointer itk::SimplexMeshVolumeCalculator< TInputMesh >::CellMultiVisitorPointer |
Definition at line 165 of file itkSimplexMeshVolumeCalculator.h.
typedef SimplexCellType::MultiVisitor itk::SimplexMeshVolumeCalculator< TInputMesh >::CellMultiVisitorType |
Definition at line 164 of file itkSimplexMeshVolumeCalculator.h.
typedef SmartPointer< const Self > itk::SimplexMeshVolumeCalculator< TInputMesh >::ConstPointer |
Reimplemented from itk::Object.
Definition at line 61 of file itkSimplexMeshVolumeCalculator.h.
typedef CovariantVector< typename VectorType::ValueType, 3 > itk::SimplexMeshVolumeCalculator< TInputMesh >::CovariantVectorType |
Definition at line 93 of file itkSimplexMeshVolumeCalculator.h.
typedef InputMeshType::MeshTraits::CellTraits itk::SimplexMeshVolumeCalculator< TInputMesh >::InputCellTraitsType |
Definition at line 75 of file itkSimplexMeshVolumeCalculator.h.
typedef InputMeshType::ConstPointer itk::SimplexMeshVolumeCalculator< TInputMesh >::InputMeshConstPointer |
Definition at line 71 of file itkSimplexMeshVolumeCalculator.h.
typedef InputMeshType::Pointer itk::SimplexMeshVolumeCalculator< TInputMesh >::InputMeshPointer |
Definition at line 70 of file itkSimplexMeshVolumeCalculator.h.
typedef TInputMesh itk::SimplexMeshVolumeCalculator< TInputMesh >::InputMeshType |
Definition at line 67 of file itkSimplexMeshVolumeCalculator.h.
typedef InputMeshType::NeighborListType itk::SimplexMeshVolumeCalculator< TInputMesh >::InputNeighbors |
Definition at line 81 of file itkSimplexMeshVolumeCalculator.h.
typedef InputMeshType::NeighborListType::iterator itk::SimplexMeshVolumeCalculator< TInputMesh >::InputNeighborsIterator |
Definition at line 82 of file itkSimplexMeshVolumeCalculator.h.
typedef InputMeshType::PixelType itk::SimplexMeshVolumeCalculator< TInputMesh >::InputPixelType |
Definition at line 74 of file itkSimplexMeshVolumeCalculator.h.
typedef InputMeshType::PointsContainer itk::SimplexMeshVolumeCalculator< TInputMesh >::InputPointsContainer |
Definition at line 77 of file itkSimplexMeshVolumeCalculator.h.
typedef InputPointsContainer::ConstIterator itk::SimplexMeshVolumeCalculator< TInputMesh >::InputPointsContainerIterator |
Definition at line 79 of file itkSimplexMeshVolumeCalculator.h.
typedef InputPointsContainer::ConstPointer itk::SimplexMeshVolumeCalculator< TInputMesh >::InputPointsContainerPointer |
Definition at line 78 of file itkSimplexMeshVolumeCalculator.h.
typedef InputMeshType::PointType itk::SimplexMeshVolumeCalculator< TInputMesh >::InputPointType |
Definition at line 73 of file itkSimplexMeshVolumeCalculator.h.
typedef SmartPointer< Self > itk::SimplexMeshVolumeCalculator< TInputMesh >::Pointer |
Smart pointer typedef support
Reimplemented from itk::Object.
Definition at line 60 of file itkSimplexMeshVolumeCalculator.h.
typedef PointMapType::Pointer itk::SimplexMeshVolumeCalculator< TInputMesh >::PointMapPointer |
Definition at line 89 of file itkSimplexMeshVolumeCalculator.h.
typedef itk::MapContainer< IdentifierType, InputPointType > itk::SimplexMeshVolumeCalculator< TInputMesh >::PointMapType |
Definition at line 88 of file itkSimplexMeshVolumeCalculator.h.
typedef SimplexMeshVolumeCalculator itk::SimplexMeshVolumeCalculator< TInputMesh >::Self |
Standard "Self" typedef.
Reimplemented from itk::Object.
Definition at line 54 of file itkSimplexMeshVolumeCalculator.h.
typedef InputMeshType::CellType itk::SimplexMeshVolumeCalculator< TInputMesh >::SimplexCellType |
Definition at line 84 of file itkSimplexMeshVolumeCalculator.h.
typedef itk::PolygonCell< SimplexCellType > itk::SimplexMeshVolumeCalculator< TInputMesh >::SimplexPolygonType |
Definition at line 85 of file itkSimplexMeshVolumeCalculator.h.
typedef SimplexVisitorInterfaceType::Pointer itk::SimplexMeshVolumeCalculator< TInputMesh >::SimplexVisitorInterfacePointer |
Definition at line 163 of file itkSimplexMeshVolumeCalculator.h.
Definition at line 161 of file itkSimplexMeshVolumeCalculator.h.
typedef Object itk::SimplexMeshVolumeCalculator< TInputMesh >::Superclass |
Standard "Superclass" typedef.
Reimplemented from itk::Object.
Definition at line 57 of file itkSimplexMeshVolumeCalculator.h.
typedef InputPointType::VectorType itk::SimplexMeshVolumeCalculator< TInputMesh >::VectorType |
Definition at line 91 of file itkSimplexMeshVolumeCalculator.h.
itk::SimplexMeshVolumeCalculator< TInputMesh >::SimplexMeshVolumeCalculator | ( | ) | [protected] |
Return the computed area.
virtual itk::SimplexMeshVolumeCalculator< TInputMesh >::~SimplexMeshVolumeCalculator | ( | ) | [protected, virtual] |
Return the computed area.
itk::SimplexMeshVolumeCalculator< TInputMesh >::SimplexMeshVolumeCalculator | ( | const Self & | ) | [private] |
void itk::SimplexMeshVolumeCalculator< TInputMesh >::CalculateTriangleVolume | ( | InputPointType | p1, |
InputPointType | p2, | ||
InputPointType | p3 | ||
) | [private] |
intermediate volume computation
void itk::SimplexMeshVolumeCalculator< TInputMesh >::Compute | ( | void | ) |
Compute the volume of the entire simplex mesh.
virtual::itk::LightObject::Pointer itk::SimplexMeshVolumeCalculator< TInputMesh >::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.
void itk::SimplexMeshVolumeCalculator< TInputMesh >::CreateTriangles | ( | ) | [private] |
creates dual triangles for all simplex cells
void itk::SimplexMeshVolumeCalculator< TInputMesh >::Finalize | ( | ) | [private] |
IdentifierType itk::SimplexMeshVolumeCalculator< TInputMesh >::FindCellId | ( | IdentifierType | id1, |
IdentifierType | id2, | ||
IdentifierType | id3 | ||
) | [private] |
part of algorithm
virtual double itk::SimplexMeshVolumeCalculator< TInputMesh >::GetArea | ( | ) | const [virtual] |
Return the computed area.
virtual const char* itk::SimplexMeshVolumeCalculator< TInputMesh >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::Object.
virtual double itk::SimplexMeshVolumeCalculator< TInputMesh >::GetVolume | ( | ) | const [virtual] |
Return the computed volume.
void itk::SimplexMeshVolumeCalculator< TInputMesh >::Initialize | ( | ) | [private] |
static Pointer itk::SimplexMeshVolumeCalculator< TInputMesh >::New | ( | ) | [static] |
Method of creation through the object factory.
Reimplemented from itk::Object.
void itk::SimplexMeshVolumeCalculator< TInputMesh >::operator= | ( | const Self & | ) | [private] |
Mutex lock to protect modification to the reference count
Reimplemented from itk::Object.
void itk::SimplexMeshVolumeCalculator< TInputMesh >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Return the computed area.
Reimplemented from itk::Object.
virtual void itk::SimplexMeshVolumeCalculator< TInputMesh >::SetSimplexMesh | ( | InputMeshType * | _arg | ) | [virtual] |
Set the input mesh.
double itk::SimplexMeshVolumeCalculator< TInputMesh >::m_Area [private] |
Definition at line 210 of file itkSimplexMeshVolumeCalculator.h.
PointMapPointer itk::SimplexMeshVolumeCalculator< TInputMesh >::m_Centers [private] |
attribute stores the result of the simplex cell visitor
Definition at line 202 of file itkSimplexMeshVolumeCalculator.h.
double itk::SimplexMeshVolumeCalculator< TInputMesh >::m_Kx [private] |
Definition at line 211 of file itkSimplexMeshVolumeCalculator.h.
double itk::SimplexMeshVolumeCalculator< TInputMesh >::m_Ky [private] |
Definition at line 212 of file itkSimplexMeshVolumeCalculator.h.
double itk::SimplexMeshVolumeCalculator< TInputMesh >::m_Kz [private] |
Definition at line 213 of file itkSimplexMeshVolumeCalculator.h.
IndexValueType itk::SimplexMeshVolumeCalculator< TInputMesh >::m_Muncx [private] |
Definition at line 219 of file itkSimplexMeshVolumeCalculator.h.
IndexValueType itk::SimplexMeshVolumeCalculator< TInputMesh >::m_Muncy [private] |
Definition at line 220 of file itkSimplexMeshVolumeCalculator.h.
IndexValueType itk::SimplexMeshVolumeCalculator< TInputMesh >::m_Muncz [private] |
Definition at line 221 of file itkSimplexMeshVolumeCalculator.h.
SizeValueType itk::SimplexMeshVolumeCalculator< TInputMesh >::m_NumberOfTriangles [private] |
Definition at line 223 of file itkSimplexMeshVolumeCalculator.h.
InputMeshPointer itk::SimplexMeshVolumeCalculator< TInputMesh >::m_SimplexMesh [private] |
Definition at line 204 of file itkSimplexMeshVolumeCalculator.h.
double itk::SimplexMeshVolumeCalculator< TInputMesh >::m_Volume [private] |
Definition at line 206 of file itkSimplexMeshVolumeCalculator.h.
double itk::SimplexMeshVolumeCalculator< TInputMesh >::m_VolumeX [private] |
Definition at line 207 of file itkSimplexMeshVolumeCalculator.h.
double itk::SimplexMeshVolumeCalculator< TInputMesh >::m_VolumeY [private] |
Definition at line 208 of file itkSimplexMeshVolumeCalculator.h.
double itk::SimplexMeshVolumeCalculator< TInputMesh >::m_VolumeZ [private] |
Definition at line 209 of file itkSimplexMeshVolumeCalculator.h.
double itk::SimplexMeshVolumeCalculator< TInputMesh >::m_Wxy [private] |
Definition at line 215 of file itkSimplexMeshVolumeCalculator.h.
double itk::SimplexMeshVolumeCalculator< TInputMesh >::m_Wxyz [private] |
Definition at line 214 of file itkSimplexMeshVolumeCalculator.h.
double itk::SimplexMeshVolumeCalculator< TInputMesh >::m_Wxz [private] |
Definition at line 216 of file itkSimplexMeshVolumeCalculator.h.
double itk::SimplexMeshVolumeCalculator< TInputMesh >::m_Wyz [private] |
Definition at line 217 of file itkSimplexMeshVolumeCalculator.h.