MeshLib C++ Docs
Loading...
Searching...
No Matches

Class for voxels segmentation. More...

#include <MRVoxels/MRVolumeSegment.h>

Public Types

enum  SeedType { Inside , Outside , Count }

Public Member Functions

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

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

Member Function Documentation

◆ addPathSeeds()

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

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

◆ addSeeds()

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

Adds new seeds to stored.

◆ createMeshFromSegmentation()

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

Returns mesh of given segment.

◆ getMinVoxel()

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

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

◆ getSeeds()

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

Return currently stored seeds.

◆ getVolumePartDimensions()

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

Dimensions of volume part, filled after segmentation.

◆ segmentVolume()

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()

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: