21#ifndef __vtkBinaryLabelmapToClosedSurfaceConversionRule_h
22#define __vtkBinaryLabelmapToClosedSurfaceConversionRule_h
28#include "vtkSegmentationCoreConfigure.h"
31#include <vtkPolyData.h>
88 unsigned int GetConversionCost(vtkDataObject* sourceRepresentation=
nullptr, vtkDataObject* targetRepresentation=
nullptr)
override;
91 const char*
GetName()
override {
return "Binary labelmap to closed surface"; };
static const std::string GetConversionMethodParameterName()
Conversion parameter: Conversion method (flying edges or surface nets)
bool IsLabelmapPaddingNecessary(vtkImageData *binaryLabelMap)
static const std::string CONVERSION_METHOD_SURFACE_NETS
const char * GetTargetRepresentationName() override
Human-readable name of the target representation.
static vtkBinaryLabelmapToClosedSurfaceConversionRule * New()
bool PostConvert(vtkSegmentation *segmentation) override
const char * GetName() override
Human-readable name of the converter rule.
bool CreateClosedSurface(vtkOrientedImageData *inputImage, vtkPolyData *outputPolydata, std::vector< int > values)
Perform the actual binary labelmap to closed surface conversion.
static const std::string GetJointSmoothingParameterName()
static const std::string GetSmoothingFactorParameterName()
Conversion parameter: smoothing factor.
static const std::string GetSurfaceNetInternalSmoothingParameterName()
~vtkBinaryLabelmapToClosedSurfaceConversionRule() override
static const std::string GetDecimationFactorParameterName()
Conversion parameter: decimation factor.
vtkBinaryLabelmapToClosedSurfaceConversionRule()
vtkDataObject * ConstructRepresentationObjectByClass(std::string className) override
vtkSegmentationConverterRule * CreateRuleInstance() override
vtkDataObject * ConstructRepresentationObjectByRepresentation(std::string representationName) override
unsigned int GetConversionCost(vtkDataObject *sourceRepresentation=nullptr, vtkDataObject *targetRepresentation=nullptr) override
Get the cost of the conversion.
static const std::string CONVERSION_METHOD_FLYING_EDGES
static const std::string GetComputeSurfaceNormalsParameterName()
Conversion parameter: compute surface normals.
const char * GetSourceRepresentationName() override
Human-readable name of the source representation.
std::map< vtkOrientedImageData *, vtkSmartPointer< vtkPolyData > > JointSmoothCache
bool Convert(vtkSegment *segment) override
Update the target representation based on the source representation.
Image data containing orientation information.
This class encapsulates a segment that is part of a segmentation.
vtkSegmentationConverterRule()
void operator=(const vtkSegmentationConverterRule &)
static const char * GetSegmentationClosedSurfaceRepresentationName()
static const char * GetSegmentationBinaryLabelmapRepresentationName()
This class encapsulates a segmentation that can contain multiple segments and multiple representation...