template<typename TInputMesh, typename TOutputMesh = TInputMesh>
class itk::SmoothingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >
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:
\[\boldsymbol{ v' }_i = v_i + m_{RelaxationFactor} \cdot \frac{ \sum_j w_{ij} ( \boldsymbol{ v_j } - \boldsymbol{ v_i }
)
}{ \sum_j w_{ij} } \]
where \( w_{ij} \) 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 59 of file itkSmoothingQuadEdgeMeshFilter.h.
|
| virtual::itk::LightObject::Pointer | CreateAnother () const |
| |
| virtual const char * | GetNameOfClass () const |
| |
| void | SetCoefficientsMethod (CoefficientsComputation *iMethod) |
| |
|
| virtual void | SetNumberOfIterations (unsigned int _arg) |
| |
| virtual unsigned int | GetNumberOfIterations () const |
| |
|
| virtual void | DelaunayConformingOn () |
| |
| virtual void | DelaunayConformingOff () |
| |
| virtual void | SetDelaunayConforming (bool _arg) |
| |
| virtual bool | GetDelaunayConforming () const |
| |
|
| virtual void | SetRelaxationFactor (OutputCoordType _arg) |
| |
| virtual OutputCoordType | GetRelaxationFactor () const |
| |
| const InputMeshType * | GetInput () const |
| |
| const InputMeshType * | GetInput (unsigned int idx) const |
| |
| void | SetInput (const InputMeshType *input) |
| |
| OutputMeshType * | GetOutput () |
| |
| OutputMeshType * | GetOutput (unsigned int idx) |
| |
| virtual void | GraftNthOutput (unsigned int idx, DataObject *graft) |
| |
| virtual void | GraftOutput (const DataObjectIdentifierType &key, DataObject *graft) |
| |
| virtual void | GraftOutput (DataObject *graft) |
| |
| virtual DataObjectPointer | MakeOutput (const DataObjectIdentifierType &) |
| |
| virtual void | SetOutput (const DataObjectIdentifierType &name, DataObject *output) |
| |
| void | SetOutput (TInputMesh *output) |
| |
| virtual void | SetOutput (const DataObjectIdentifierType &name, DataObject *output) |
| |
| DataObjectPointer | MakeOutput (DataObjectPointerArraySizeType idx) override |
| |
| virtual DataObjectPointer | MakeOutput (const DataObjectIdentifierType &) |
| |
| virtual void | AbortGenerateDataOff () |
| |
| virtual void | AbortGenerateDataOn () |
| |
| virtual void | EnlargeOutputRequestedRegion (DataObject *output) |
| |
| virtual const bool & | GetAbortGenerateData () const |
| |
| DataObjectPointerArray | GetIndexedInputs () |
| |
| DataObjectPointerArray | GetIndexedOutputs () |
| |
| NameArray | GetInputNames () const |
| |
| DataObjectPointerArray | GetInputs () |
| |
| MultiThreaderBase * | GetMultiThreader () const |
| |
| DataObjectPointerArraySizeType | GetNumberOfIndexedInputs () const |
| |
| DataObjectPointerArraySizeType | GetNumberOfIndexedOutputs () const |
| |
| DataObjectPointerArraySizeType | GetNumberOfInputs () const |
| |
| DataObjectPointerArraySizeType | GetNumberOfOutputs () const |
| |
| virtual DataObjectPointerArraySizeType | GetNumberOfValidRequiredInputs () const |
| |
| NameArray | GetOutputNames () const |
| |
| DataObjectPointerArray | GetOutputs () |
| |
| virtual float | GetProgress () const |
| |
| NameArray | GetRequiredInputNames () const |
| |
| bool | HasInput (const DataObjectIdentifierType &key) const |
| |
| bool | HasOutput (const DataObjectIdentifierType &key) const |
| |
| void | IncrementProgress (float increment) |
| |
| virtual void | PrepareOutputs () |
| |
| virtual void | PropagateRequestedRegion (DataObject *output) |
| |
| virtual void | ResetPipeline () |
| |
| virtual void | SetAbortGenerateData (bool _arg) |
| |
| void | SetMultiThreader (MultiThreaderBase *threader) |
| |
| virtual void | Update () |
| |
| virtual void | UpdateLargestPossibleRegion () |
| |
| virtual void | UpdateOutputData (DataObject *output) |
| |
| virtual void | UpdateOutputInformation () |
| |
| void | UpdateProgress (float progress) |
| |
| virtual void | SetReleaseDataFlag (bool val) |
| |
| virtual bool | GetReleaseDataFlag () const |
| |
| void | ReleaseDataFlagOn () |
| |
| void | ReleaseDataFlagOff () |
| |
| virtual void | SetReleaseDataBeforeUpdateFlag (bool _arg) |
| |
| virtual const bool & | GetReleaseDataBeforeUpdateFlag () const |
| |
| virtual void | ReleaseDataBeforeUpdateFlagOn () |
| |
| virtual void | ReleaseDataBeforeUpdateFlagOff () |
| |
| | itkVirtualSetClampMacro (NumberOfWorkUnits, ThreadIdType, 1, ITK_MAX_THREADS) |
| |
| virtual const ThreadIdType & | GetNumberOfWorkUnits () const |
| |
| unsigned long | AddObserver (const EventObject &event, Command *cmd) const |
| |
| unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
| |
| virtual void | DebugOff () const |
| |
| virtual void | DebugOn () const |
| |
| Command * | GetCommand (unsigned long tag) |
| |
| bool | GetDebug () const |
| |
| MetaDataDictionary & | GetMetaDataDictionary () |
| |
| const MetaDataDictionary & | GetMetaDataDictionary () const |
| |
| virtual ModifiedTimeType | GetMTime () const |
| |
| virtual const TimeStamp & | GetTimeStamp () const |
| |
| bool | HasObserver (const EventObject &event) const |
| |
| void | InvokeEvent (const EventObject &) |
| |
| void | InvokeEvent (const EventObject &) const |
| |
| virtual void | Modified () const |
| |
| void | Register () const override |
| |
| void | RemoveAllObservers () |
| |
| void | RemoveObserver (unsigned long tag) const |
| |
| void | SetDebug (bool debugFlag) const |
| |
| void | SetReferenceCount (int) override |
| |
| void | UnRegister () const noexcept override |
| |
| void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
| |
| void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
| |
| virtual void | SetObjectName (std::string _arg) |
| |
| virtual const std::string & | GetObjectName () const |
| |
| Pointer | Clone () const |
| |
| virtual void | Delete () |
| |
| virtual int | GetReferenceCount () const |
| |
| void | Print (std::ostream &os, Indent indent=0) const |
| |