#include <itkLaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints.h>
Laplacian deformation with soft constraints (approximating displacement for handle points).
Laplacian mesh deformation offers the ability to deform 3D surface mesh while preserving local details.
In this context output mesh vertices are somehow closed to provided output locations, the weight associated to one constrain can be set by the means of m_Lambda (for all constraints), or for one particular constraint by using SetLocalLambda
For details, see https://doi.org/10.54294/s91axg
Definition at line 43 of file itkLaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints.h.
Public Types | |
using | ConstPointer = SmartPointer<const Self> |
using | InputMeshType = TInputMesh |
using | MatrixType |
using | OutputCoordinateType |
using | OutputMeshType = TOutputMesh |
using | OutputPointIdentifier |
using | OutputPointType |
using | Pointer = SmartPointer<Self> |
using | Self = LaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints |
using | SolverTraits = TSolverTraits |
using | Superclass = LaplacianDeformationQuadEdgeMeshFilter<TInputMesh, TOutputMesh, TSolverTraits> |
using | ValueType |
using | VectorType |
![]() | |
using | AreaEnum = LaplacianDeformationQuadEdgeMeshFilterEnums::Area |
using | CoefficientsComputationType = MatrixCoefficients<OutputMeshType> |
using | ConstPointer = SmartPointer<const Self> |
using | InputMeshType = TInputMesh |
using | InputPointType |
using | MatrixType = typename SolverTraits::MatrixType |
using | OutputCoordinateType |
using | OutputMeshType = TOutputMesh |
using | OutputPointIdentifier |
using | OutputPointType |
using | OutputQEIterator |
using | OutputQEPrimal |
using | OutputVectorType |
using | Pointer = SmartPointer<Self> |
using | Self = LaplacianDeformationQuadEdgeMeshFilter |
using | SolverTraits = TSolverTraits |
using | Superclass = QuadEdgeMeshToQuadEdgeMeshFilter<TInputMesh, TOutputMesh> |
using | TriangleType = TriangleHelper<OutputPointType> |
using | ValueType = typename SolverTraits::ValueType |
using | VectorType = typename SolverTraits::VectorType |
![]() | |
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 | InputCoordinateType = typename InputMeshType::CoordinateType |
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 | OutputCoordinateType = typename OutputMeshType::CoordinateType |
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> |
![]() | |
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> |
![]() | |
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 |
![]() | |
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 |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = Object |
using | Superclass = LightObject |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = LightObject |
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | InputPointDimension = InputMeshType::PointDimension |
static constexpr unsigned int | OutputPointDimension = OutputMeshType::PointDimension |
![]() | |
static constexpr unsigned int | InputPointDimension = InputMeshType::PointDimension |
static constexpr unsigned int | OutputPointDimension = OutputMeshType::PointDimension |
Protected Attributes | |
OutputCoordinateType | m_Lambda {} |
OutputCoordinateType | m_LambdaSquare {} |
std::unordered_map< OutputPointIdentifier, OutputCoordinateType > | m_LocalLambdaSquare {} |
![]() | |
AreaEnum | m_AreaComputationType { AreaEnum::NONE } |
CoefficientMapType | m_CoefficientMap {} |
CoefficientsComputationType * | m_CoefficientsMethod {} |
ConstraintMapType | m_Constraints {} |
OutputMapPointIdentifier | m_InternalMap {} |
AreaMapType | m_MixedAreaMap {} |
unsigned int | m_Order { 1 } |
![]() | |
TimeStamp | m_OutputInformationMTime {} |
bool | m_Updating {} |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
Additional Inherited Members | |
![]() | |
template<typename TSourceObject> | |
static void | MakeRequiredOutputs (TSourceObject &sourceObject, const DataObjectPointerArraySizeType numberOfRequiredOutputs) |
static constexpr float | progressFixedToFloat (uint32_t fixed) |
static uint32_t | progressFloatToFixed (float f) |
using itk::LaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints< TInputMesh, TOutputMesh, TSolverTraits >::ConstPointer = SmartPointer<const Self> |
Definition at line 53 of file itkLaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints.h.
|
protected |
Definition at line 216 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.
|
protected |
Definition at line 215 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.
using itk::LaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints< TInputMesh, TOutputMesh, TSolverTraits >::InputMeshType = TInputMesh |
Input types.
Definition at line 56 of file itkLaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints.h.
using itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::MatrixType |
Definition at line 149 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.
using itk::QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputCoordinateType |
Definition at line 138 of file itkQuadEdgeMeshToQuadEdgeMeshFilter.h.
|
protected |
Definition at line 211 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.
|
protected |
Definition at line 213 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.
|
protected |
Definition at line 212 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.
using itk::LaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints< TInputMesh, TOutputMesh, TSolverTraits >::OutputMeshType = TOutputMesh |
Output types.
Definition at line 61 of file itkLaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints.h.
using itk::QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointIdentifier |
Definition at line 140 of file itkQuadEdgeMeshToQuadEdgeMeshFilter.h.
using itk::QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::OutputPointType |
Definition at line 139 of file itkQuadEdgeMeshToQuadEdgeMeshFilter.h.
using itk::LaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints< TInputMesh, TOutputMesh, TSolverTraits >::Pointer = SmartPointer<Self> |
Definition at line 52 of file itkLaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints.h.
|
protected |
Definition at line 235 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.
|
protected |
Definition at line 234 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.
|
protected |
Definition at line 233 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.
using itk::LaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints< TInputMesh, TOutputMesh, TSolverTraits >::Self = LaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints |
Basic types.
Definition at line 50 of file itkLaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints.h.
using itk::LaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints< TInputMesh, TOutputMesh, TSolverTraits >::SolverTraits = TSolverTraits |
Definition at line 68 of file itkLaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints.h.
using itk::LaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints< TInputMesh, TOutputMesh, TSolverTraits >::Superclass = LaplacianDeformationQuadEdgeMeshFilter<TInputMesh, TOutputMesh, TSolverTraits> |
Definition at line 51 of file itkLaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints.h.
using itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::ValueType |
Definition at line 148 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.
using itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::VectorType |
Definition at line 150 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.
|
protected |
Referenced by GetNameOfClass().
|
overrideprotecteddefault |
|
overrideprotectedvirtual |
|
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::LightObject.
|
protected |
Fill matrix iM and vectors Bx and m_By depending on if one vertex is on the border or not.
|
overrideprotectedvirtual |
This method causes the filter to generate its output.
Reimplemented from itk::ProcessObject.
|
virtual |
|
overridevirtual |
Return the name of this class as a string. Used by the object factory (implemented in New()) to instantiate objects of a named type. Also used for debugging and other output information.
Reimplemented from itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >.
References LaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints().
|
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::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >.
|
virtual |
void itk::LaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints< TInputMesh, TOutputMesh, TSolverTraits >::SetLocalLambda | ( | OutputPointIdentifier | vId, |
OutputCoordinateType | iL ) |
|
staticconstexpr |
Definition at line 58 of file itkLaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints.h.
|
protected |
Definition at line 113 of file itkLaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints.h.
|
protected |
Definition at line 114 of file itkLaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints.h.
|
protected |
Definition at line 116 of file itkLaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints.h.
|
staticconstexpr |
Definition at line 66 of file itkLaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints.h.