ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <itkParameterizationQuadEdgeMeshFilter.h>
Compute a planar parameterization of the input mesh.
This filter computes a mapping in between a planar parametric domain and one input mesh.
This filter is made for fixed boundary parameterization where the parametric domain shape is given by the means of the border transform. Then, the position of internal vertices (not on the boundary) is directly connected to m_CoefficientsComputation.
This filter internally creates and solves a sparse linear system: storage and computation can be set by the means of TSolverTraits. Since for 3D meshes, this filter solves for similar sparse linear systemis for the three dimensions, it is highly recommended to use one direct solver which would first decompose sparse matrix (e.g. VNLSparseLUSolverTraits).
This implementation was taken from the Insight Journal paper: https://hdl.handle.net/1926/1315 or http://www.insight-journal.org/browse/publication/202
Definition at line 56 of file itkParameterizationQuadEdgeMeshFilter.h.
Public Types | |
using | CoefficientsComputation = MatrixCoefficients< InputMeshType > |
using | ConstPointer = SmartPointer< const Self > |
using | InputCellsContainerConstIterator = typename InputMeshType::CellsContainerConstIterator |
using | InputCoordRepType = typename InputMeshType::CoordRepType |
using | InputEdgeCellType = typename InputMeshType::EdgeCellType |
using | InputEdgeListType = typename InputMeshType::EdgeListType |
using | InputMapPointIdentifier = std::map< InputPointIdentifier, InputPointIdentifier > |
using | InputMapPointIdentifierIterator = typename InputMapPointIdentifier::iterator |
using | InputMeshConstPointer = typename InputMeshType::ConstPointer |
using | InputMeshPointer = typename InputMeshType::Pointer |
using | InputMeshType = TInputMesh |
using | InputPixelType = typename InputMeshType::PixelType |
using | InputPointIdentifier = typename InputMeshType::PointIdentifier |
using | InputPointIdList = typename InputMeshType::PointIdList |
using | InputPointsContainer = typename InputMeshType::PointsContainer |
using | InputPointsContainerConstIterator = typename InputMeshType::PointsContainerConstIterator |
using | InputPointType = typename InputMeshType::PointType |
using | InputPointVectorType = typename InputPointType::VectorType |
using | InputPolygonCellType = typename InputMeshType::PolygonCellType |
using | InputQEIterator = typename InputQEType::IteratorGeom |
using | InputQEType = typename InputMeshType::QEType |
using | InputTraits = typename InputMeshType::Traits |
using | InputVectorType = typename InputMeshType::VectorType |
using | MatrixType = typename SolverTraits::MatrixType |
using | MeshBorderTransform = BorderQuadEdgeMeshFilter< InputMeshType, InputMeshType > |
using | MeshBorderTransformPointer = typename MeshBorderTransform::Pointer |
using | OutputCoordRepType = typename OutputMeshType::CoordRepType |
using | OutputMeshConstPointer = typename OutputMeshType::ConstPointer |
using | OutputMeshPointer = typename OutputMeshType::Pointer |
using | OutputMeshType = TOutputMesh |
using | OutputPointIdentifier = typename OutputMeshType::PointIdentifier |
using | OutputPointsContainerIterator = typename OutputMeshType::PointsContainerIterator |
using | OutputPointType = typename OutputMeshType::PointType |
using | OutputQEIterator = typename OutputQEType::IteratorGeom |
using | OutputQEType = typename OutputMeshType::QEType |
using | OutputVectorType = typename OutputMeshType::VectorType |
using | Pointer = SmartPointer< Self > |
using | Self = ParameterizationQuadEdgeMeshFilter |
using | SolverTraits = TSolverTraits |
using | Superclass = QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh > |
using | ValueType = typename SolverTraits::ValueType |
using | VectorType = typename SolverTraits::VectorType |
Public Types inherited from itk::QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh > | |
using | ConstPointer = SmartPointer< const Self > |
using | InputCellDataContainer = typename InputMeshType::CellDataContainer |
using | InputCellsContainerConstIterator = typename InputMeshType::CellsContainerConstIterator |
using | InputCellsContainerConstPointer = typename InputMeshType::CellsContainerConstPointer |
using | InputCellTraits = typename InputMeshType::CellTraits |
using | InputCoordRepType = typename InputMeshType::CoordRepType |
using | InputEdgeCellType = typename InputMeshType::EdgeCellType |
using | InputMeshConstPointer = typename InputMeshType::ConstPointer |
using | InputMeshPointer = typename InputMeshType::Pointer |
using | InputMeshType = TInputMesh |
using | InputPointDataContainer = typename InputMeshType::PointDataContainer |
using | InputPointDataContainerConstPointer = typename InputPointDataContainer::ConstPointer |
using | InputPointIdentifier = typename InputMeshType::PointIdentifier |
using | InputPointIdList = typename InputMeshType::PointIdList |
using | InputPointsContainerConstIterator = typename InputMeshType::PointsContainerConstIterator |
using | InputPointsContainerConstPointer = typename InputMeshType::PointsContainerConstPointer |
using | InputPointsIdInternalIterator = typename InputCellTraits::PointIdInternalIterator |
using | InputPointType = typename InputMeshType::PointType |
using | InputPolygonCellType = typename InputMeshType::PolygonCellType |
using | InputQEIterator = typename InputQEPrimal::IteratorGeom |
using | InputQEPrimal = typename InputMeshType::QEPrimal |
using | InputVectorType = typename InputMeshType::VectorType |
using | OutputCellDataContainer = typename OutputMeshType::CellDataContainer |
using | OutputCoordRepType = typename OutputMeshType::CoordRepType |
using | OutputMeshConstPointer = typename OutputMeshType::ConstPointer |
using | OutputMeshPointer = typename OutputMeshType::Pointer |
using | OutputMeshType = TOutputMesh |
using | OutputPointDataContainer = typename OutputMeshType::PointDataContainer |
using | OutputPointIdentifier = typename OutputMeshType::PointIdentifier |
using | OutputPointsContainerConstPointer = typename OutputMeshType::PointsContainerConstPointer |
using | OutputPointsContainerIterator = typename OutputMeshType::PointsContainerIterator |
using | OutputPointsContainerPointer = typename OutputMeshType::PointsContainerPointer |
using | OutputPointType = typename OutputMeshType::PointType |
using | OutputQEIterator = typename OutputQEPrimal::IteratorGeom |
using | OutputQEPrimal = typename OutputMeshType::QEPrimal |
using | OutputVectorType = typename OutputMeshType::VectorType |
using | Pointer = SmartPointer< Self > |
using | Self = QuadEdgeMeshToQuadEdgeMeshFilter |
using | Superclass = MeshToMeshFilter< TInputMesh, TOutputMesh > |
Public Types inherited from itk::MeshToMeshFilter< TInputMesh, TOutputMesh > | |
using | ConstPointer = SmartPointer< const Self > |
using | InputMeshPointer = typename InputMeshType::Pointer |
using | InputMeshType = TInputMesh |
using | OutputMeshPointer = typename OutputMeshType::Pointer |
using | OutputMeshType = TOutputMesh |
using | Pointer = SmartPointer< Self > |
using | Self = MeshToMeshFilter |
using | Superclass = MeshSource< TOutputMesh > |
Public Types inherited from itk::MeshSource< TOutputMesh > | |
using | ConstPointer = SmartPointer< const Self > |
using | DataObjectIdentifierType = Superclass::DataObjectIdentifierType |
using | DataObjectPointer = DataObject::Pointer |
using | OutputMeshPointer = typename OutputMeshType::Pointer |
using | OutputMeshType = TOutputMesh |
using | Pointer = SmartPointer< Self > |
using | Self = MeshSource |
using | Superclass = ProcessObject |
using | DataObjectPointerArraySizeType = ProcessObject::DataObjectPointerArraySizeType |
Public Types inherited from itk::ProcessObject | |
using | ConstPointer = SmartPointer< const Self > |
using | DataObjectIdentifierType = DataObject::DataObjectIdentifierType |
using | DataObjectPointer = DataObject::Pointer |
using | DataObjectPointerArray = std::vector< DataObjectPointer > |
using | DataObjectPointerArraySizeType = DataObjectPointerArray::size_type |
using | MultiThreaderType = MultiThreaderBase |
using | NameArray = std::vector< DataObjectIdentifierType > |
using | Pointer = SmartPointer< Self > |
using | Self = ProcessObject |
using | Superclass = Object |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
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 constexpr unsigned int | InputVDimension = InputMeshType::PointDimension |
static constexpr unsigned int | OutputVDimension = OutputMeshType::PointDimension |
Protected Attributes | |
std::vector< OutputPointType > | m_Border |
MeshBorderTransformPointer | m_BorderTransform |
InputMapPointIdentifier | m_BoundaryPtMap |
CoefficientsComputation * | m_CoefficientsMethod |
InputMapPointIdentifier | m_InternalPtMap |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount |
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::CoefficientsComputation = MatrixCoefficients< InputMeshType > |
Definition at line 120 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::ConstPointer = SmartPointer< const Self > |
Definition at line 67 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputCellsContainerConstIterator = typename InputMeshType::CellsContainerConstIterator |
Definition at line 88 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputCoordRepType = typename InputMeshType::CoordRepType |
Definition at line 73 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputEdgeCellType = typename InputMeshType::EdgeCellType |
Definition at line 89 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputEdgeListType = typename InputMeshType::EdgeListType |
Definition at line 79 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputMapPointIdentifier = std::map< InputPointIdentifier, InputPointIdentifier > |
Definition at line 95 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputMapPointIdentifierIterator = typename InputMapPointIdentifier::iterator |
Definition at line 96 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputMeshConstPointer = typename InputMeshType::ConstPointer |
Definition at line 72 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputMeshPointer = typename InputMeshType::Pointer |
Definition at line 71 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputMeshType = TInputMesh |
Input types.
Definition at line 70 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputPixelType = typename InputMeshType::PixelType |
Definition at line 80 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputPointIdentifier = typename InputMeshType::PointIdentifier |
Definition at line 76 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputPointIdList = typename InputMeshType::PointIdList |
Definition at line 91 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputPointsContainer = typename InputMeshType::PointsContainer |
Definition at line 85 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputPointsContainerConstIterator = typename InputMeshType::PointsContainerConstIterator |
Definition at line 86 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputPointType = typename InputMeshType::PointType |
Definition at line 74 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputPointVectorType = typename InputPointType::VectorType |
Definition at line 75 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputPolygonCellType = typename InputMeshType::PolygonCellType |
Definition at line 90 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputQEIterator = typename InputQEType::IteratorGeom |
Definition at line 93 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputQEType = typename InputMeshType::QEType |
Definition at line 77 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputTraits = typename InputMeshType::Traits |
Definition at line 81 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputVectorType = typename InputMeshType::VectorType |
Definition at line 78 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::MatrixType = typename SolverTraits::MatrixType |
Definition at line 114 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::MeshBorderTransform = BorderQuadEdgeMeshFilter< InputMeshType, InputMeshType > |
Definition at line 117 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::MeshBorderTransformPointer = typename MeshBorderTransform::Pointer |
Definition at line 118 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputCoordRepType = typename OutputMeshType::CoordRepType |
Definition at line 102 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputMeshConstPointer = typename OutputMeshType::ConstPointer |
Definition at line 101 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputMeshPointer = typename OutputMeshType::Pointer |
Definition at line 100 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputMeshType = TOutputMesh |
Output types.
Definition at line 99 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputPointIdentifier = typename OutputMeshType::PointIdentifier |
Definition at line 104 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputPointsContainerIterator = typename OutputMeshType::PointsContainerIterator |
Definition at line 108 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputPointType = typename OutputMeshType::PointType |
Definition at line 103 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputQEIterator = typename OutputQEType::IteratorGeom |
Definition at line 107 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputQEType = typename OutputMeshType::QEType |
Definition at line 105 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputVectorType = typename OutputMeshType::VectorType |
Definition at line 106 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::Pointer = SmartPointer< Self > |
Definition at line 66 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::Self = ParameterizationQuadEdgeMeshFilter |
Basic types.
Definition at line 63 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::SolverTraits = TSolverTraits |
Definition at line 112 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::Superclass = QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh > |
Definition at line 65 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::ValueType = typename SolverTraits::ValueType |
Definition at line 113 of file itkParameterizationQuadEdgeMeshFilter.h.
using itk::ParameterizationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::VectorType = typename SolverTraits::VectorType |
Definition at line 115 of file itkParameterizationQuadEdgeMeshFilter.h.
|
protected |
|
overrideprotecteddefault |
|
protected |
From the list of all vertices from the input mesh InputList and the list of boundary vertices BoundaryList, Store in m_InternalPtList the list of interior vertices (i.e. vertices in InputList and not in BoundaryList )
|
protected |
|
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 >.
|
protected |
Fill matrix iM and vectors Bx and m_By depending on if one vertex is on the border or not.
[in] | iM | |
[in,out] | ioBx | |
[in,out] | ioBy |
|
overrideprotectedvirtual |
This method causes the filter to generate its output.
Reimplemented from itk::ProcessObject.
|
virtual |
|
virtual |
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh >.
|
static |
|
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 >.
|
virtual |
|
inline |
Definition at line 124 of file itkParameterizationQuadEdgeMeshFilter.h.
|
protected |
Solve linears systems : and .
[in] | iM | |
[in] | iBx | |
[in] | iBy | |
[out] | oX | |
[out] | oY |
|
static |
Definition at line 83 of file itkParameterizationQuadEdgeMeshFilter.h.
|
protected |
Definition at line 153 of file itkParameterizationQuadEdgeMeshFilter.h.
|
protected |
Definition at line 143 of file itkParameterizationQuadEdgeMeshFilter.h.
|
protected |
Definition at line 147 of file itkParameterizationQuadEdgeMeshFilter.h.
|
protected |
Definition at line 141 of file itkParameterizationQuadEdgeMeshFilter.h.
|
protected |
Definition at line 151 of file itkParameterizationQuadEdgeMeshFilter.h.
|
static |
Definition at line 110 of file itkParameterizationQuadEdgeMeshFilter.h.