MeshLib
 
Loading...
Searching...
No Matches
MR::VolumeSegmenter Class Reference

Class for voxels segmentation. More...

#include <MRVolumeSegment.h>

Public Types

enum  SeedType { Inside , Outside , Count }
 

Public Member Functions

MRMESH_API VolumeSegmenter (const VdbVolume &volume)
 
MRMESH_API void addPathSeeds (const VoxelMetricParameters &metricParameters, SeedType seedType, float exponentModifier=-1.0f)
 Builds path with given parameters, marks result as seedType seeds.
 
MRMESH_API void setSeeds (const std::vector< Vector3i > &seeds, SeedType seedType)
 Reset seeds with given ones.
 
MRMESH_API void addSeeds (const std::vector< Vector3i > &seeds, SeedType seedType)
 Adds new seeds to stored.
 
MRMESH_API const std::vector< Vector3i > & getSeeds (SeedType seedType) const
 Return currently stored seeds.
 
MRMESH_API Expected< VoxelBitSet > segmentVolume (float segmentationExponentModifier=3000.0f, int voxelsExpansion=25, ProgressCallback cb={})
 Segments volume, return inside part segmentation (VoxelBitSet in space of VolumePart)
 
MRMESH_API Expected< MR::MeshcreateMeshFromSegmentation (const VoxelBitSet &segmentation) const
 Returns mesh of given segment.
 
MRMESH_API const Vector3igetVolumePartDimensions () const
 Dimensions of volume part, filled after segmentation.
 
MRMESH_API const Vector3igetMinVoxel () const
 Min voxel of volume part box in whole volume space, filled after segmentation.
 

Detailed Description

Class for voxels segmentation.

Before (a)
Before (b)
After

Member Enumeration Documentation

◆ SeedType

Enumerator
Inside 
Outside 
Count 

Constructor & Destructor Documentation

◆ VolumeSegmenter()

MRMESH_API MR::VolumeSegmenter::VolumeSegmenter ( const VdbVolume & volume)

Member Function Documentation

◆ addPathSeeds()

MRMESH_API void MR::VolumeSegmenter::addPathSeeds ( const VoxelMetricParameters & metricParameters,
SeedType seedType,
float exponentModifier = -1.0f )

Builds path with given parameters, marks result as seedType seeds.

◆ addSeeds()

MRMESH_API void MR::VolumeSegmenter::addSeeds ( const std::vector< Vector3i > & seeds,
SeedType seedType )

Adds new seeds to stored.

◆ createMeshFromSegmentation()

MRMESH_API Expected< MR::Mesh > MR::VolumeSegmenter::createMeshFromSegmentation ( const VoxelBitSet & segmentation) const

Returns mesh of given segment.

◆ getMinVoxel()

MRMESH_API const Vector3i & MR::VolumeSegmenter::getMinVoxel ( ) const

Min voxel of volume part box in whole volume space, filled after segmentation.

◆ getSeeds()

MRMESH_API const std::vector< Vector3i > & MR::VolumeSegmenter::getSeeds ( SeedType seedType) const

Return currently stored seeds.

◆ getVolumePartDimensions()

MRMESH_API const Vector3i & MR::VolumeSegmenter::getVolumePartDimensions ( ) const

Dimensions of volume part, filled after segmentation.

◆ segmentVolume()

MRMESH_API Expected< VoxelBitSet > MR::VolumeSegmenter::segmentVolume ( float segmentationExponentModifier = 3000.0f,
int voxelsExpansion = 25,
ProgressCallback cb = {} )

Segments volume, return inside part segmentation (VoxelBitSet in space of VolumePart)

◆ setSeeds()

MRMESH_API void MR::VolumeSegmenter::setSeeds ( const std::vector< Vector3i > & seeds,
SeedType seedType )

Reset seeds with given ones.


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