ITK
4.8.0
Insight Segmentation and Registration Toolkit
|
#include <itkSmoothingQuadEdgeMeshFilter.h>
QuadEdgeMesh Smoothing Filter.
This filter adjusts point coordinates using Laplacian smoothing. The effect is to "relax" the mesh, making the cells better shaped and the vertices more evenly distributed.
For one iteration the location of one vertex is computed as follows:
where is computed by the means of the set functor CoefficientsComputation
This process is then repeated for m_NumberOfIterations (the more iterations, the smoother the output mesh will be).
At each iteration, one can run DelaunayConformingQuadEdgeMeshFilter resulting a more regular (in terms of connectivity) and smoother mesh. Depending on the mesh size and configuration it could be an expensive process to run it at each iterations, especially if the number of iterations is large. Note that one can still run N iterations without DelaunayConformingQuadEdgeMeshFilter, then run this filter and apply this process M times.
Definition at line 58 of file itkSmoothingQuadEdgeMeshFilter.h.
Public Types | |
typedef MatrixCoefficients < OutputMeshType > | CoefficientsComputation |
typedef SmartPointer< const Self > | ConstPointer |
typedef InputMeshType::Pointer | InputMeshPointer |
typedef TInputMesh | InputMeshType |
typedef OutputMeshType::CellsContainerIterator | OutputCellsContainerIterator |
typedef OutputMeshType::CellsContainerPointer | OutputCellsContainerPointer |
typedef OutputPointType::CoordRepType | OutputCoordType |
typedef OutputMeshType::EdgeCellType | OutputEdgeCellType |
typedef OutputMeshType::Pointer | OutputMeshPointer |
typedef TOutputMesh | OutputMeshType |
typedef OutputMeshType::PointIdentifier | OutputPointIdentifier |
typedef OutputMeshType::PointsContainer | OutputPointsContainer |
typedef OutputMeshType::PointsContainerIterator | OutputPointsContainerIterator |
typedef OutputMeshType::PointsContainerPointer | OutputPointsContainerPointer |
typedef OutputMeshType::PointType | OutputPointType |
typedef OutputMeshType::PolygonCellType | OutputPolygonCellType |
typedef OutputMeshType::QEType | OutputQEType |
typedef OutputPointType::VectorType | OutputVectorType |
typedef SmartPointer< Self > | Pointer |
typedef SmoothingQuadEdgeMeshFilter | Self |
typedef QuadEdgeMeshToQuadEdgeMeshFilter < TInputMesh, TOutputMesh > | Superclass |
Public Types inherited from itk::QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef InputMeshType::CellDataContainer | InputCellDataContainer |
typedef InputMeshType::CellsContainerConstIterator | InputCellsContainerConstIterator |
typedef InputMeshType::CellsContainerConstPointer | InputCellsContainerConstPointer |
typedef InputMeshType::CellTraits | InputCellTraits |
typedef InputMeshType::CoordRepType | InputCoordRepType |
typedef InputMeshType::EdgeCellType | InputEdgeCellType |
typedef InputMeshType::ConstPointer | InputMeshConstPointer |
typedef InputMeshType::Pointer | InputMeshPointer |
typedef TInputMesh | InputMeshType |
typedef InputMeshType::PointDataContainer | InputPointDataContainer |
typedef InputPointDataContainer::ConstPointer | InputPointDataContainerConstPointer |
typedef InputMeshType::PointIdentifier | InputPointIdentifier |
typedef InputMeshType::PointIdList | InputPointIdList |
typedef InputMeshType::PointsContainerConstIterator | InputPointsContainerConstIterator |
typedef InputMeshType::PointsContainerConstPointer | InputPointsContainerConstPointer |
typedef InputCellTraits::PointIdInternalIterator | InputPointsIdInternalIterator |
typedef InputMeshType::PointType | InputPointType |
typedef InputMeshType::PolygonCellType | InputPolygonCellType |
typedef InputQEPrimal::IteratorGeom | InputQEIterator |
typedef InputMeshType::QEPrimal | InputQEPrimal |
typedef InputMeshType::VectorType | InputVectorType |
typedef OutputMeshType::CellDataContainer | OutputCellDataContainer |
typedef OutputMeshType::CoordRepType | OutputCoordRepType |
typedef OutputMeshType::ConstPointer | OutputMeshConstPointer |
typedef OutputMeshType::Pointer | OutputMeshPointer |
typedef TOutputMesh | OutputMeshType |
typedef OutputMeshType::PointDataContainer | OutputPointDataContainer |
typedef OutputMeshType::PointIdentifier | OutputPointIdentifier |
typedef OutputMeshType::PointsContainerConstPointer | OutputPointsContainerConstPointer |
typedef OutputMeshType::PointsContainerIterator | OutputPointsContainerIterator |
typedef OutputMeshType::PointsContainerPointer | OutputPointsContainerPointer |
typedef OutputMeshType::PointType | OutputPointType |
typedef OutputQEPrimal::IteratorGeom | OutputQEIterator |
typedef OutputMeshType::QEPrimal | OutputQEPrimal |
typedef OutputMeshType::VectorType | OutputVectorType |
typedef SmartPointer< Self > | Pointer |
typedef QuadEdgeMeshToQuadEdgeMeshFilter | Self |
typedef MeshToMeshFilter < TInputMesh, TOutputMesh > | Superclass |
Public Types inherited from itk::MeshToMeshFilter< TInputMesh, TOutputMesh > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef InputMeshType::Pointer | InputMeshPointer |
typedef TInputMesh | InputMeshType |
typedef OutputMeshType::Pointer | OutputMeshPointer |
typedef TOutputMesh | OutputMeshType |
typedef SmartPointer< Self > | Pointer |
typedef MeshToMeshFilter | Self |
typedef MeshSource< TOutputMesh > | Superclass |
Public Types inherited from itk::MeshSource< TOutputMesh > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef OutputMeshType::Pointer | OutputMeshPointer |
typedef TOutputMesh | OutputMeshType |
typedef SmartPointer< Self > | Pointer |
typedef MeshSource | Self |
typedef ProcessObject | Superclass |
typedef ProcessObject::DataObjectPointerArraySizeType | DataObjectPointerArraySizeType |
Public Types inherited from itk::ProcessObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef DataObject::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef std::vector < DataObjectPointer > | DataObjectPointerArray |
typedef DataObjectPointerArray::size_type | DataObjectPointerArraySizeType |
typedef std::vector < DataObjectIdentifierType > | NameArray |
typedef SmartPointer< Self > | Pointer |
typedef ProcessObject | Self |
typedef Object | Superclass |
Public Types inherited from itk::Object | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef Object | Self |
typedef LightObject | Superclass |
Public Types inherited from itk::LightObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef LightObject | Self |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::MeshToMeshFilter< TInputMesh, TOutputMesh > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::MeshSource< TOutputMesh > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | PointDimension = OutputMeshType::PointDimension |
Protected Attributes | |
CoefficientsComputation * | m_CoefficientsMethod |
bool | m_DelaunayConforming |
InputOutputDelaunayConformingPointer | m_InputDelaunayFilter |
unsigned int | m_NumberOfIterations |
OutputDelaunayConformingPointer | m_OutputDelaunayFilter |
OutputCoordType | m_RelaxationFactor |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
Private Member Functions | |
void | operator= (const Self &) |
SmoothingQuadEdgeMeshFilter (const Self &) | |
typedef MatrixCoefficients< OutputMeshType > itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::CoefficientsComputation |
Definition at line 93 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef SmartPointer< const Self > itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::ConstPointer |
Definition at line 64 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef InputMeshType::Pointer itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::InputMeshPointer |
Definition at line 74 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef TInputMesh itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::InputMeshType |
Definition at line 71 of file itkSmoothingQuadEdgeMeshFilter.h.
|
protected |
Definition at line 120 of file itkSmoothingQuadEdgeMeshFilter.h.
|
protected |
Definition at line 119 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef OutputMeshType::CellsContainerIterator itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCellsContainerIterator |
Definition at line 89 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef OutputMeshType::CellsContainerPointer itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCellsContainerPointer |
Definition at line 88 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef OutputPointType::CoordRepType itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCoordType |
Definition at line 84 of file itkSmoothingQuadEdgeMeshFilter.h.
|
protected |
Definition at line 125 of file itkSmoothingQuadEdgeMeshFilter.h.
|
protected |
Definition at line 124 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef OutputMeshType::EdgeCellType itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputEdgeCellType |
Definition at line 78 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef OutputMeshType::Pointer itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputMeshPointer |
Definition at line 77 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef TOutputMesh itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputMeshType |
Definition at line 76 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef OutputMeshType::PointIdentifier itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointIdentifier |
Definition at line 81 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef OutputMeshType::PointsContainer itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointsContainer |
Definition at line 85 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef OutputMeshType::PointsContainerIterator itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointsContainerIterator |
Definition at line 87 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef OutputMeshType::PointsContainerPointer itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointsContainerPointer |
Definition at line 86 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef OutputMeshType::PointType itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointType |
Definition at line 82 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef OutputMeshType::PolygonCellType itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPolygonCellType |
Definition at line 79 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef OutputMeshType::QEType itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputQEType |
Definition at line 80 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef OutputPointType::VectorType itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputVectorType |
Definition at line 83 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef SmartPointer< Self > itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::Pointer |
Definition at line 63 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef SmoothingQuadEdgeMeshFilter itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::Self |
Definition at line 62 of file itkSmoothingQuadEdgeMeshFilter.h.
typedef QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh > itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::Superclass |
Definition at line 65 of file itkSmoothingQuadEdgeMeshFilter.h.
|
protected |
|
protected |
|
private |
|
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::QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh >.
|
overrideprotectedvirtual |
This method causes the filter to generate its output.
Reimplemented from itk::ProcessObject.
|
virtual |
Set/Get if DelaunayConformingQuadEdgeMeshFilter is used at the end of each iterations
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh >.
|
virtual |
Set/Get the number of iterations
|
virtual |
Set/Get relaxation factor applied for each iteration
|
static |
New macro for creation of through a Smart Pointer
|
private |
|
overrideprotectedvirtual |
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 >.
void itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::SetCoefficientsMethod | ( | CoefficientsComputation * | iMethod | ) |
|
virtual |
Set/Get if DelaunayConformingQuadEdgeMeshFilter is used at the end of each iterations
|
virtual |
Set/Get the number of iterations
|
virtual |
Set/Get relaxation factor applied for each iteration
|
protected |
Definition at line 117 of file itkSmoothingQuadEdgeMeshFilter.h.
|
protected |
Definition at line 129 of file itkSmoothingQuadEdgeMeshFilter.h.
|
protected |
Definition at line 122 of file itkSmoothingQuadEdgeMeshFilter.h.
|
protected |
Definition at line 131 of file itkSmoothingQuadEdgeMeshFilter.h.
|
protected |
Definition at line 127 of file itkSmoothingQuadEdgeMeshFilter.h.
|
protected |
Definition at line 133 of file itkSmoothingQuadEdgeMeshFilter.h.
|
static |
Definition at line 91 of file itkSmoothingQuadEdgeMeshFilter.h.