Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkACVD.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkACVD_h
14 #define mitkACVD_h
15 
16 #include <MitkRemeshingExports.h>
17 #include <mitkSurface.h>
19 
20 namespace mitk
21 {
22  namespace ACVD
23  {
55  MITKREMESHING_EXPORT Surface::Pointer Remesh(Surface::ConstPointer surface,
56  unsigned int t,
57  int numVertices,
58  double gradation,
59  int subsampling = 10,
60  double edgeSplitting = 0.0,
61  int optimizationLevel = 1,
62  bool forceManifold = false,
63  bool boundaryFixing = false);
64 
67  class MITKREMESHING_EXPORT RemeshFilter : public mitk::SurfaceToSurfaceFilter
68  {
69  public:
71  itkFactorylessNewMacro(Self);
72  itkCloneMacro(Self);
73  itkSetMacro(TimeStep, unsigned int);
74  itkSetMacro(NumVertices, int);
75  itkSetMacro(Gradation, double);
76  itkSetMacro(Subsampling, int);
77  itkSetMacro(EdgeSplitting, double);
78  itkSetMacro(OptimizationLevel, int);
79  itkSetMacro(ForceManifold, bool);
80  itkSetMacro(BoundaryFixing, bool);
81 
82  protected:
83  void GenerateData() override;
84 
85  private:
86  RemeshFilter();
87  ~RemeshFilter() override;
88 
89  unsigned int m_TimeStep;
90  int m_NumVertices;
91  double m_Gradation;
92  int m_Subsampling;
93  double m_EdgeSplitting;
94  int m_OptimizationLevel;
95  bool m_ForceManifold;
96  bool m_BoundaryFixing;
97  };
98  }
99 }
100 
101 #endif
MITKREMESHING_EXPORT Surface::Pointer Remesh(Surface::ConstPointer surface, unsigned int t, int numVertices, double gradation, int subsampling=10, double edgeSplitting=0.0, int optimizationLevel=1, bool forceManifold=false, bool boundaryFixing=false)
Remesh a surface and store the result in a new surface.
Definition: mitkACVD.cpp:70
Superclass of all classes generating some kind of mitk::BaseData.
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:40
Superclass of all classes getting surfaces (instances of class Surface) as input and generating surfa...
Encapsulates mitk::ACVD::Remesh function as filter.
Definition: mitkACVD.h:67