ITK  4.8.0
Insight Segmentation and Registration Toolkit
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits > Class Template Reference

#include <itkLaplacianDeformationQuadEdgeMeshFilter.h>

+ Inheritance diagram for itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >:
+ Collaboration diagram for itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >:

Detailed Description

template<class TInputMesh, class TOutputMesh, class TSolverTraits>
class itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >

(abstract) base class for laplacian surface mesh deformation.

Laplacian mesh deformation offers the ability to deform 3D surface mesh while preserving local details.

Laplacian-based approaches represent the surface by the so-called differential coordinates or Laplacian coordinates $ \boldsymbol{ \delta }_i $. These coordinates are obtained by applying the Laplacian operator to the mesh vertices:

\[ \boldsymbol{ \delta }_i = \Delta_{S}( \boldsymbol{ p }_i ) = - H_i \cdot \boldsymbol{ n_i } \]

where $H_i$ is the mean curvature $ ( \kappa_1 + \kappa_2 ) $ at the vertex $v_i$.

The deformation can be formulated by minimizing the difference from the input surface coordinates $\delta_i$. With a continuous formulation, this would lead to the minimization of the following energy:

\[ \min_{\boldsymbol{p'}} \int_{\Omega} \| \boldsymbol{\Delta p'} - \boldsymbol{\delta} \| du dv \]

The Euler-Lagrange equation derived:

\[ \Delta^2 \boldsymbol{p'} = \Delta \boldsymbol{\delta} \]

When considering the input surface as the parameter domain, the Laplace operator turns out into the Laplace-Beltrami operator $ \Delta_S $:

\[ L^2 \boldsymbol{p'} = L \boldsymbol{ \delta } \]

which can be separated into 3 coordinate components.

Then users can add positional constraints on some vertices:

\[ \boldsymbol{p'}_j = \boldsymbol{c}_j \]

If output positions must exactly match set constraints, see LaplacianDeformationQuadEdgeMeshFilterWithHardConstraints. Else see LaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints

To make the deformation as generic as possible, user can provide/choose:

Template Parameters
TInputMeshInput Mesh Type
TOutputMeshOutput Mesh Type
TSolverTraitsLinear Sparse Solver Traits see VNLIterativeSparseSolverTraits and VNLSparseLUSolverTraits

For details, see http://hdl.handle.net/10380/3410

Definition at line 93 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

Classes

struct  HashOutputQEPrimal
 
struct  Triple
 

Public Types

enum  AreaType {
  NONE = 0,
  MIXEDAREA
}
 
typedef MatrixCoefficients
< OutputMeshType
CoefficientsComputationType
 
typedef SmartPointer< const SelfConstPointer
 
typedef TInputMesh InputMeshType
 
typedef Superclass::InputPointType InputPointType
 
typedef SolverTraits::MatrixType MatrixType
 
typedef
Superclass::OutputCoordRepType 
OutputCoordRepType
 
typedef TOutputMesh OutputMeshType
 
typedef
Superclass::OutputPointIdentifier 
OutputPointIdentifier
 
typedef Superclass::OutputPointType OutputPointType
 
typedef
Superclass::OutputQEIterator 
OutputQEIterator
 
typedef Superclass::OutputQEPrimal OutputQEPrimal
 
typedef
Superclass::OutputVectorType 
OutputVectorType
 
typedef SmartPointer< SelfPointer
 
typedef
LaplacianDeformationQuadEdgeMeshFilter 
Self
 
typedef TSolverTraits SolverTraits
 
typedef
QuadEdgeMeshToQuadEdgeMeshFilter
< TInputMesh, TOutputMesh > 
Superclass
 
typedef TriangleHelper
< OutputPointType
TriangleType
 
typedef SolverTraits::ValueType ValueType
 
typedef SolverTraits::VectorType VectorType
 
- Public Types inherited from itk::QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh >
typedef SmartPointer< const SelfConstPointer
 
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< SelfPointer
 
typedef
QuadEdgeMeshToQuadEdgeMeshFilter 
Self
 
typedef MeshToMeshFilter
< TInputMesh, TOutputMesh > 
Superclass
 
- Public Types inherited from itk::MeshToMeshFilter< TInputMesh, TOutputMesh >
typedef SmartPointer< const SelfConstPointer
 
typedef InputMeshType::Pointer InputMeshPointer
 
typedef TInputMesh InputMeshType
 
typedef OutputMeshType::Pointer OutputMeshPointer
 
typedef TOutputMesh OutputMeshType
 
typedef SmartPointer< SelfPointer
 
typedef MeshToMeshFilter Self
 
typedef MeshSource< TOutputMesh > Superclass
 
- Public Types inherited from itk::MeshSource< TOutputMesh >
typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass::DataObjectIdentifierType 
DataObjectIdentifierType
 
typedef DataObject::Pointer DataObjectPointer
 
typedef OutputMeshType::Pointer OutputMeshPointer
 
typedef TOutputMesh OutputMeshType
 
typedef SmartPointer< SelfPointer
 
typedef MeshSource Self
 
typedef ProcessObject Superclass
 
typedef
ProcessObject::DataObjectPointerArraySizeType 
DataObjectPointerArraySizeType
 
- Public Types inherited from itk::ProcessObject
typedef SmartPointer< const SelfConstPointer
 
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< SelfPointer
 
typedef ProcessObject Self
 
typedef Object Superclass
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

void ClearConstraints ()
 
bool GetDisplacement (OutputPointIdentifier vId, OutputVectorType &oV) const
 
virtual const char * GetNameOfClass () const
 
void SetConstrainedNode (OutputPointIdentifier vId, const OutputPointType &iP)
 
void SetDisplacement (OutputPointIdentifier vId, const OutputVectorType &iV)
 
 typedef (Concept::SameDimension< InputPointDimension, OutputPointDimension >) SameDimensionCheck1
 
 typedef (Concept::SameDimension< InputPointDimension, 3 >) SameDimensionCheck2
 
void SetCoefficientsMethod (CoefficientsComputationType *iMethod)
 
virtual void SetOrder (unsigned int _arg)
 
virtual unsigned int GetOrder ()
 
virtual void SetAreaComputationType (AreaType _arg)
 
virtual AreaType GetAreaComputationType ()
 
- Public Member Functions inherited from itk::QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh >
virtual ::itk::LightObject::Pointer CreateAnother () const
 
- Public Member Functions inherited from itk::MeshToMeshFilter< TInputMesh, TOutputMesh >
const InputMeshTypeGetInput () const
 
const InputMeshTypeGetInput (unsigned int idx) const
 
void SetInput (const InputMeshType *input)
 
- Public Member Functions inherited from itk::MeshSource< TOutputMesh >
OutputMeshTypeGetOutput ()
 
OutputMeshTypeGetOutput (unsigned int idx)
 
virtual void GraftNthOutput (unsigned int idx, DataObject *output)
 
virtual void GraftOutput (const DataObjectIdentifierType &key, DataObject *output)
 
void SetOutput (TOutputMesh *output)
 
virtual void GraftOutput (DataObject *output)
 
virtual DataObjectPointer MakeOutput (DataObjectPointerArraySizeType idx) override
 
- Public Member Functions inherited from itk::ProcessObject
virtual void AbortGenerateDataOff ()
 
virtual void AbortGenerateDataOn ()
 
virtual void EnlargeOutputRequestedRegion (DataObject *)
 
virtual const bool & GetAbortGenerateData () const
 
DataObjectPointerArray GetIndexedInputs ()
 
DataObjectPointerArray GetIndexedOutputs ()
 
NameArray GetInputNames () const
 
DataObjectPointerArray GetInputs ()
 
MultiThreader * GetMultiThreader () const
 
DataObjectPointerArraySizeType GetNumberOfIndexedInputs () const
 
DataObjectPointerArraySizeType GetNumberOfIndexedOutputs () const
 
DataObjectPointerArraySizeType GetNumberOfInputs () const
 
DataObjectPointerArraySizeType GetNumberOfOutputs () const
 
virtual
DataObjectPointerArraySizeType 
GetNumberOfValidRequiredInputs () const
 
NameArray GetOutputNames () const
 
DataObjectPointerArray GetOutputs ()
 
virtual const float & GetProgress () const
 
NameArray GetRequiredInputNames () const
 
bool HasInput (const DataObjectIdentifierType &key) const
 
bool HasOutput (const DataObjectIdentifierType &key) const
 
virtual DataObjectPointer MakeOutput (const DataObjectIdentifierType &)
 
virtual void PrepareOutputs ()
 
virtual void PropagateRequestedRegion (DataObject *output)
 
virtual void ResetPipeline ()
 
virtual void SetAbortGenerateData (bool _arg)
 
virtual void Update ()
 
virtual void UpdateLargestPossibleRegion ()
 
virtual void UpdateOutputData (DataObject *output)
 
virtual void UpdateOutputInformation ()
 
void UpdateProgress (float progress)
 
void SetProgress (float progress)
 
virtual void SetReleaseDataFlag (bool flag)
 
virtual bool GetReleaseDataFlag () const
 
void ReleaseDataFlagOn ()
 
void ReleaseDataFlagOff ()
 
virtual void SetReleaseDataBeforeUpdateFlag (bool _arg)
 
virtual const bool & GetReleaseDataBeforeUpdateFlag () const
 
virtual void ReleaseDataBeforeUpdateFlagOn ()
 
virtual void ReleaseDataBeforeUpdateFlagOff ()
 
virtual void SetNumberOfThreads (ThreadIdType _arg)
 
virtual const ThreadIdTypeGetNumberOfThreads () const
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
virtual void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetReferenceCount (int) override
 
virtual void UnRegister () const noexceptoverride
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Attributes

static const unsigned int InputPointDimension = InputMeshType::PointDimension
 
static const unsigned int OutputPointDimension = OutputMeshType::PointDimension
 

Protected Types

typedef AreaMapType::const_iterator AreaMapConstIterator
 
typedef itksys::hash_map
< OutputPointIdentifier,
OutputCoordRepType
AreaMapType
 
typedef
CoefficientMapType::const_iterator 
CoefficientMapConstIterator
 
typedef itksys::hash_map
< OutputQEPrimal
*, OutputCoordRepType,
HashOutputQEPrimal
CoefficientMapType
 
typedef
ConstraintMapType::const_iterator 
ConstraintMapConstIterator
 
typedef itksys::hash_map
< OutputPointIdentifier,
OutputVectorType
ConstraintMapType
 
typedef itksys::hash_map
< OutputPointIdentifier,
OutputPointIdentifier
OutputMapPointIdentifier
 
typedef
OutputMapPointIdentifier::const_iterator 
OutputMapPointIdentifierConstIterator
 
typedef
OutputMapPointIdentifier::iterator 
OutputMapPointIdentifierIterator
 
typedef RowType::const_iterator RowConstIterator
 
typedef RowType::iterator RowIterator
 
typedef itksys::hash_map
< OutputPointIdentifier,
OutputCoordRepType
RowType
 

Protected Member Functions

void ComputeLaplacianMatrix (MatrixType &ioL)
 
OutputCoordRepType ComputeMixedArea (OutputQEPrimal *iQE1, OutputQEPrimal *iQE2)
 
OutputCoordRepType ComputeMixedAreaForGivenVertex (OutputPointIdentifier vId)
 
virtual void ComputeVertexIdMapping ()
 
void FillMatrix (MatrixType &iM, VectorType &iBx, VectorType &iBy, VectorType &iBz)
 
void FillMatrixRow (OutputPointIdentifier iId, unsigned int iDegree, OutputCoordRepType iWeight, RowType &ioRow)
 
 LaplacianDeformationQuadEdgeMeshFilter ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
void SolveLinearSystems (const MatrixType &iM, const VectorType &iBx, const VectorType &iBy, const VectorType &iBz, VectorType &oX, VectorType &oY, VectorType &oZ)
 
virtual ~LaplacianDeformationQuadEdgeMeshFilter ()
 
- Protected Member Functions inherited from itk::QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh >
virtual void CopyInputMeshToOutputMesh ()
 
virtual void CopyInputMeshToOutputMeshCellData ()
 
virtual void CopyInputMeshToOutputMeshCells ()
 
virtual void CopyInputMeshToOutputMeshEdgeCells ()
 
virtual void CopyInputMeshToOutputMeshFieldData ()
 
virtual void CopyInputMeshToOutputMeshGeometry ()
 
virtual void CopyInputMeshToOutputMeshPointData ()
 
virtual void CopyInputMeshToOutputMeshPoints ()
 
 QuadEdgeMeshToQuadEdgeMeshFilter ()
 
virtual ~QuadEdgeMeshToQuadEdgeMeshFilter ()
 
- Protected Member Functions inherited from itk::MeshToMeshFilter< TInputMesh, TOutputMesh >
void CopyInputMeshToOutputMeshCellData ()
 
void CopyInputMeshToOutputMeshCellLinks ()
 
void CopyInputMeshToOutputMeshCells ()
 
void CopyInputMeshToOutputMeshPointData ()
 
void CopyInputMeshToOutputMeshPoints ()
 
 MeshToMeshFilter ()
 
 ~MeshToMeshFilter ()
 
- Protected Member Functions inherited from itk::MeshSource< TOutputMesh >
virtual void GenerateInputRequestedRegion () override
 
 MeshSource ()
 
virtual ~MeshSource ()
 
- Protected Member Functions inherited from itk::ProcessObject
virtual void AddInput (DataObject *input)
 
virtual void AddOutput (DataObject *output)
 
bool AddRequiredInputName (const DataObjectIdentifierType &)
 
bool AddRequiredInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx)
 
virtual void CacheInputReleaseDataFlags ()
 
virtual void GenerateData ()
 
virtual void GenerateOutputInformation ()
 
virtual void GenerateOutputRequestedRegion (DataObject *output)
 
DataObjectGetInput (const DataObjectIdentifierType &key)
 
const DataObjectGetInput (const DataObjectIdentifierType &key) const
 
virtual const
DataObjectPointerArraySizeType
GetNumberOfRequiredInputs () const
 
virtual const
DataObjectPointerArraySizeType
GetNumberOfRequiredOutputs () const
 
bool IsIndexedInputName (const DataObjectIdentifierType &) const
 
bool IsIndexedOutputName (const DataObjectIdentifierType &) const
 
bool IsRequiredInputName (const DataObjectIdentifierType &) const
 
 itkLegacyMacro (virtual void RemoveOutput(DataObject *output))
 
 itkLegacyMacro (void SetNumberOfOutputs(DataObjectPointerArraySizeType num))
 
 itkLegacyMacro (virtual void RemoveInput(DataObject *input))
 
 itkLegacyMacro (void SetNumberOfInputs(DataObjectPointerArraySizeType num))
 
DataObjectPointerArraySizeType MakeIndexFromInputName (const DataObjectIdentifierType &name) const
 
DataObjectPointerArraySizeType MakeIndexFromOutputName (const DataObjectIdentifierType &name) const
 
DataObjectIdentifierType MakeNameFromInputIndex (DataObjectPointerArraySizeType idx) const
 
DataObjectIdentifierType MakeNameFromOutputIndex (DataObjectPointerArraySizeType idx) const
 
virtual void PopBackInput ()
 
virtual void PopFrontInput ()
 
 ProcessObject ()
 
virtual void PropagateResetPipeline ()
 
virtual void PushBackInput (const DataObject *input)
 
virtual void PushFrontInput (const DataObject *input)
 
virtual void ReleaseInputs ()
 
virtual void RemoveInput (const DataObjectIdentifierType &key)
 
virtual void RemoveInput (DataObjectPointerArraySizeType)
 
virtual void RemoveOutput (const DataObjectIdentifierType &key)
 
virtual void RemoveOutput (DataObjectPointerArraySizeType idx)
 
bool RemoveRequiredInputName (const DataObjectIdentifierType &)
 
virtual void RestoreInputReleaseDataFlags ()
 
virtual void SetInput (const DataObjectIdentifierType &key, DataObject *input)
 
virtual void SetNthInput (DataObjectPointerArraySizeType num, DataObject *input)
 
virtual void SetNthOutput (DataObjectPointerArraySizeType num, DataObject *output)
 
void SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num)
 
void SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num)
 
virtual void SetNumberOfRequiredInputs (DataObjectPointerArraySizeType)
 
virtual void SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg)
 
virtual void SetOutput (const DataObjectIdentifierType &key, DataObject *output)
 
virtual void SetPrimaryInput (DataObject *input)
 
virtual void SetPrimaryOutput (DataObject *output)
 
void SetRequiredInputNames (const NameArray &)
 
virtual void VerifyInputInformation ()
 
virtual void VerifyPreconditions ()
 
 ~ProcessObject ()
 
DataObjectGetInput (DataObjectPointerArraySizeType idx)
 
const DataObjectGetInput (DataObjectPointerArraySizeType idx) const
 
DataObjectGetPrimaryInput ()
 
const DataObjectGetPrimaryInput () const
 
virtual void SetPrimaryInputName (const DataObjectIdentifierType &key)
 
virtual const char * GetPrimaryInputName (void) const
 
DataObjectGetOutput (const DataObjectIdentifierType &key)
 
const DataObjectGetOutput (const DataObjectIdentifierType &key) const
 
virtual void SetPrimaryOutputName (const DataObjectIdentifierType &key)
 
virtual const char * GetPrimaryOutputName (void) const
 
DataObjectGetOutput (DataObjectPointerArraySizeType idx)
 
const DataObjectGetOutput (DataObjectPointerArraySizeType idx) const
 
DataObjectGetPrimaryOutput ()
 
const DataObjectGetPrimaryOutput () const
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Protected Attributes

AreaType m_AreaComputationType
 
CoefficientMapType m_CoefficientMap
 
CoefficientsComputationTypem_CoefficientsMethod
 
ConstraintMapType m_Constraints
 
OutputMapPointIdentifier m_InternalMap
 
AreaMapType m_MixedAreaMap
 
unsigned int m_Order
 
- 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

 LaplacianDeformationQuadEdgeMeshFilter (const Self &)
 
void operator= (const Self &)
 

Additional Inherited Members

- 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 ()
 

Member Typedef Documentation

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef AreaMapType::const_iterator itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::AreaMapConstIterator
protected

Definition at line 204 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef itksys::hash_map< OutputPointIdentifier, OutputCoordRepType > itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::AreaMapType
protected

Definition at line 203 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef CoefficientMapType::const_iterator itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::CoefficientMapConstIterator
protected

Definition at line 201 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef itksys::hash_map< OutputQEPrimal*, OutputCoordRepType, HashOutputQEPrimal > itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::CoefficientMapType
protected

Definition at line 200 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef MatrixCoefficients< OutputMeshType > itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::CoefficientsComputationType

Definition at line 127 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

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

Definition at line 101 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef ConstraintMapType::const_iterator itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::ConstraintMapConstIterator
protected

Definition at line 190 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef itksys::hash_map< OutputPointIdentifier, OutputVectorType > itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::ConstraintMapType
protected

Definition at line 189 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef TInputMesh itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputMeshType

Input types.

Definition at line 106 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef Superclass::InputPointType itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputPointType

Definition at line 107 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef SolverTraits::MatrixType itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::MatrixType

Definition at line 124 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef Superclass::OutputCoordRepType itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputCoordRepType

Definition at line 113 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef itksys::hash_map< OutputPointIdentifier, OutputPointIdentifier > itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputMapPointIdentifier
protected

Definition at line 185 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef OutputMapPointIdentifier::const_iterator itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputMapPointIdentifierConstIterator
protected

Definition at line 187 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef OutputMapPointIdentifier::iterator itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputMapPointIdentifierIterator
protected

Definition at line 186 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef TOutputMesh itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputMeshType

Output types.

Definition at line 112 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef Superclass::OutputPointIdentifier itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputPointIdentifier

Definition at line 115 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef Superclass::OutputPointType itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputPointType

Definition at line 114 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef Superclass::OutputQEIterator itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputQEIterator

Definition at line 118 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef Superclass::OutputQEPrimal itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputQEPrimal

Definition at line 116 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef Superclass::OutputVectorType itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputVectorType

Definition at line 117 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

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

Definition at line 100 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef RowType::const_iterator itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::RowConstIterator
protected

Definition at line 208 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef RowType::iterator itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::RowIterator
protected

Definition at line 207 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef itksys::hash_map< OutputPointIdentifier, OutputCoordRepType > itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::RowType
protected

Definition at line 206 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef LaplacianDeformationQuadEdgeMeshFilter itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::Self

Basic types.

Definition at line 98 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef TSolverTraits itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::SolverTraits

Definition at line 122 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh > itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::Superclass

Definition at line 99 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef TriangleHelper< OutputPointType > itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::TriangleType

Definition at line 137 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef SolverTraits::ValueType itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::ValueType

Definition at line 123 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
typedef SolverTraits::VectorType itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::VectorType

Definition at line 125 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

Member Enumeration Documentation

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
enum itk::LaplacianDeformationQuadEdgeMeshFilter::AreaType
Enumerator
NONE 

Do not use any area information

MIXEDAREA 

Use a mixed area

Definition at line 158 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

Constructor & Destructor Documentation

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::LaplacianDeformationQuadEdgeMeshFilter ( )
protected

Default constructor

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
virtual itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::~LaplacianDeformationQuadEdgeMeshFilter ( )
inlineprotectedvirtual

Definition at line 183 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::LaplacianDeformationQuadEdgeMeshFilter ( const Self )
private

Member Function Documentation

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
void itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::ClearConstraints ( )

Clear all constraints added by the means of SetConstrainedNode or SetDisplacement.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
void itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::ComputeLaplacianMatrix ( MatrixType ioL)
protected
template<class TInputMesh , class TOutputMesh , class TSolverTraits >
OutputCoordRepType itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::ComputeMixedArea ( OutputQEPrimal iQE1,
OutputQEPrimal iQE2 
)
protected
template<class TInputMesh , class TOutputMesh , class TSolverTraits >
OutputCoordRepType itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::ComputeMixedAreaForGivenVertex ( OutputPointIdentifier  vId)
protected
template<class TInputMesh , class TOutputMesh , class TSolverTraits >
virtual void itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::ComputeVertexIdMapping ( )
protectedvirtual
template<class TInputMesh , class TOutputMesh , class TSolverTraits >
void itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::FillMatrix ( MatrixType iM,
VectorType iBx,
VectorType iBy,
VectorType iBz 
)
protected

Fill matrix iM and vectors Bx, m_By and m_Bz depending on if one vertex is on the border or not.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
void itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::FillMatrixRow ( OutputPointIdentifier  iId,
unsigned int  iDegree,
OutputCoordRepType  iWeight,
RowType ioRow 
)
protected
template<class TInputMesh , class TOutputMesh , class TSolverTraits >
virtual AreaType itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::GetAreaComputationType ( )
virtual

Set/Get the area normalization type

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
bool itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::GetDisplacement ( OutputPointIdentifier  vId,
OutputVectorType oV 
) const

Get the displacement vector oV for the vertex vId. Returns true if the vertex vId is a constraint, else false.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
virtual const char* itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::GetNameOfClass ( ) const
virtual
template<class TInputMesh , class TOutputMesh , class TSolverTraits >
virtual unsigned int itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::GetOrder ( )
virtual

Set/Get the Laplacian order

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
void itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::operator= ( const Self )
private
template<class TInputMesh , class TOutputMesh , class TSolverTraits >
void itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
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 >.

Reimplemented in itk::LaplacianDeformationQuadEdgeMeshFilterWithSoftConstraints< TInputMesh, TOutputMesh, TSolverTraits >, and itk::LaplacianDeformationQuadEdgeMeshFilterWithHardConstraints< TInputMesh, TOutputMesh, TSolverTraits >.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
virtual void itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::SetAreaComputationType ( AreaType  _arg)
virtual

Set/Get the area normalization type

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
void itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::SetCoefficientsMethod ( CoefficientsComputationType iMethod)
inline

Set the coefficient method to compute the Laplacian matrix of the input mesh

Definition at line 130 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

References itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::m_CoefficientsMethod, and itk::Object::Modified().

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
void itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::SetConstrainedNode ( OutputPointIdentifier  vId,
const OutputPointType iP 
)

Constrain vertex vId to the given location iP

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
void itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::SetDisplacement ( OutputPointIdentifier  vId,
const OutputVectorType iV 
)

Set the displacement vector iV for the vertex vId

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
virtual void itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::SetOrder ( unsigned int  _arg)
virtual

Set/Get the Laplacian order

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
void itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::SolveLinearSystems ( const MatrixType iM,
const VectorType iBx,
const VectorType iBy,
const VectorType iBz,
VectorType oX,
VectorType oY,
VectorType oZ 
)
protected

Solve linears systems : $ iM \cdot oX = iBx $ and $ iM \cdot oY = iBy $ and $ iM \cdot oZ = iBz $.

Parameters
[in]iM
[in]iBx
[in]iBy
[in]iBz
[out]oX
[out]oY
[out]oZ
template<class TInputMesh , class TOutputMesh , class TSolverTraits >
itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::typedef ( Concept::SameDimension< InputPointDimension, OutputPointDimension )

This class requires SameDimensionCheck1 in the form of ( Concept::SameDimension< InputPointDimension, OutputPointDimension > )

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::typedef ( Concept::SameDimension< InputPointDimension, 3 >  )

This class requires SameDimensionCheck2 in the form of ( Concept::SameDimension< InputPointDimension, 3 > )

Member Data Documentation

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
const unsigned int itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::InputPointDimension = InputMeshType::PointDimension
static

Definition at line 109 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
AreaType itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::m_AreaComputationType
protected

Definition at line 218 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
CoefficientMapType itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::m_CoefficientMap
protected

Definition at line 212 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
CoefficientsComputationType* itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::m_CoefficientsMethod
protected
template<class TInputMesh , class TOutputMesh , class TSolverTraits >
ConstraintMapType itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::m_Constraints
protected

Definition at line 211 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
OutputMapPointIdentifier itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::m_InternalMap
protected

Definition at line 210 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
AreaMapType itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::m_MixedAreaMap
protected

Definition at line 213 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
unsigned int itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::m_Order
protected

Definition at line 217 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.

template<class TInputMesh , class TOutputMesh , class TSolverTraits >
const unsigned int itk::LaplacianDeformationQuadEdgeMeshFilter< TInputMesh, TOutputMesh, TSolverTraits >::OutputPointDimension = OutputMeshType::PointDimension
static

Definition at line 120 of file itkLaplacianDeformationQuadEdgeMeshFilter.h.


The documentation for this class was generated from the following file: