Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitkRemeshing.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 mitkRemeshing_h
14 #define mitkRemeshing_h
15 
16 #include <mitkSurface.h>
18 #include <mitkTimeGeometry.h>
19 #include <MitkRemeshingExports.h>
20 
21 namespace mitk
22 {
55  MITKREMESHING_EXPORT Surface::Pointer Remesh(const Surface* surface,
56  TimeStepType 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 
87  {
88  public:
90  itkFactorylessNewMacro(Self);
91  itkCloneMacro(Self);
92 
94  itkSetMacro(TimeStep, unsigned int);
96  itkSetMacro(NumVertices, int);
98  itkSetMacro(Gradation, double);
100  itkSetMacro(Subsampling, int);
102  itkSetMacro(EdgeSplitting, double);
104  itkSetMacro(OptimizationLevel, int);
106  itkSetMacro(ForceManifold, bool);
108  itkSetMacro(BoundaryFixing, bool);
109 
110  protected:
111  void GenerateData() override;
112 
113  private:
114  RemeshFilter();
115  ~RemeshFilter() override;
116 
117  TimeStepType m_TimeStep;
118  int m_NumVertices;
119  double m_Gradation;
120  int m_Subsampling;
121  double m_EdgeSplitting;
122  int m_OptimizationLevel;
123  bool m_ForceManifold;
124  bool m_BoundaryFixing;
125  };
126 }
127 
128 #endif
#define MITKREMESHING_EXPORT
ITK/VTK-style filter that encapsulates the mitk::Remesh() function.
Definition: mitkRemeshing.h:87
mitkClassMacro(RemeshFilter, SurfaceToSurfaceFilter)
void GenerateData() override
Superclass of all classes getting surfaces (instances of class Surface) as input and generating surfa...
Data class for storing polygonal surfaces (vtkPolyData).
Definition: mitkSurface.h:37
Find image slices visible on a given plane.
std::size_t TimeStepType
Type for time step indices (non-negative integers starting from 0).
MITKREMESHING_EXPORT Surface::Pointer Remesh(const Surface *surface, TimeStepType 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.