This chapter represents documentation about Volume (Voxel) More...
Topics | |
Volume Indexer | |
Volume (Voxel) Segmentation | |
This chapter represents documentation about Volume (Voxel) Segmentation. | |
Voxel Path | |
Classes | |
struct | MR::MergeVolumePartSettings |
Parameters' structure for MR::mergeVolumePart. More... | |
struct | MR::VolumeToMeshByPartsSettings |
Parameters' structure for MR::volumeToMeshByParts. More... | |
Functions | |
MR::VoxelLocation::operator bool () const | |
check for validity | |
MR::VolumeIndexer::VolumeIndexer (const Vector3i &dims) | |
const Vector3i & | MR::VolumeIndexer::dims () const |
size_t | MR::VolumeIndexer::size () const |
returns the total number of voxels | |
VoxelId | MR::VolumeIndexer::endId () const |
returns the last plus one voxel Id for defining iteration range | |
size_t | MR::VolumeIndexer::sizeXY () const |
Vector3i | MR::VolumeIndexer::toPos (VoxelId id) const |
VoxelId | MR::VolumeIndexer::toVoxelId (const Vector3i &pos) const |
VoxelLocation | MR::VolumeIndexer::toLoc (VoxelId id) const |
VoxelLocation | MR::VolumeIndexer::toLoc (const Vector3i &pos) const |
bool | MR::VolumeIndexer::isInDims (const Vector3i &pos) const |
returns true if this voxel is within dimensions | |
bool | MR::VolumeIndexer::isBdVoxel (const Vector3i &pos) const |
returns true if this voxel is on the boundary of the volume | |
bool | MR::VolumeIndexer::areNeigbors (VoxelId v0, VoxelId v1) const |
returns true if v1 is within at most 6 neighbors of v0 | |
bool | MR::VolumeIndexer::areNeigbors (const Vector3i &pos0, const Vector3i &pos1) const |
MRMESH_API bool | MR::VolumeIndexer::hasNeighbour (const Vector3i &pos, OutEdge toNei) const |
given existing voxel at (pos), returns whether it has valid neighbor specified by the edge (toNei) | |
VoxelId | MR::VolumeIndexer::getNeighbor (VoxelId v, OutEdge toNei) const |
returns id of v's neighbor specified by the edge | |
VoxelId | MR::VolumeIndexer::getNeighbor (VoxelId v, const Vector3i &pos, OutEdge toNei) const |
VoxelLocation | MR::VolumeIndexer::getNeighbor (const VoxelLocation &loc, OutEdge toNei) const |
VoxelId | MR::VolumeIndexer::getExistingNeighbor (VoxelId v, OutEdge toNei) const |
returns id of v's neighbor specified by the edge, which is known to exist (so skipping a lot of checks) | |
VoxelId | MR::VolumeIndexer::getNeighbor (VoxelId v, const Vector3i &pos, bool bdPos, OutEdge toNei) const |
MRVOXELS_API Expected< VoxelBitSet > | MR::segmentVolumeByGraphCut (const SimpleVolume &densityVolume, float k, const VoxelBitSet &sourceSeeds, const VoxelBitSet &sinkSeeds, ProgressCallback cb={}) |
Segment voxels of given volume on two sets using graph-cut, returning source set. | |
Variables | |
VoxelId | MR::VoxelLocation::id |
Vector3i | MR::VoxelLocation::pos |
Vector3i | MR::VolumeIndexer::dims_ |
size_t | MR::VolumeIndexer::sizeXY_ = 0 |
= dims_.x * dims_.y | |
size_t | MR::VolumeIndexer::size_ = 0 |
= dims_.x * dims_.y * dims_.z | |
int | MR::VolumeIndexer::neiInc_ [OutEdgeCount] = {} |
This chapter represents documentation about Volume (Voxel)
|
inlinenodiscard |
|
inlinenodiscard |
returns true if v1 is within at most 6 neighbors of v0
|
inlinenodiscard |
|
inlinenodiscard |
returns the last plus one voxel Id for defining iteration range
|
inlinenodiscard |
returns id of v's neighbor specified by the edge, which is known to exist (so skipping a lot of checks)
|
inlinenodiscard |
given existing voxel at (loc), returns its neighbor specified by the edge (toNei); if the neighbour does not exist (loc is on boundary), returns invalid VoxelLocation
|
inlinenodiscard |
|
inlinenodiscard |
|
inlinenodiscard |
returns id of v's neighbor specified by the edge
|
nodiscard |
given existing voxel at (pos), returns whether it has valid neighbor specified by the edge (toNei)
|
inlinenodiscard |
returns true if this voxel is on the boundary of the volume
|
inlinenodiscard |
returns true if this voxel is within dimensions
|
inlineexplicit |
check for validity
MRVOXELS_API Expected< VoxelBitSet > MR::segmentVolumeByGraphCut | ( | const SimpleVolume & | densityVolume, |
float | k, | ||
const VoxelBitSet & | sourceSeeds, | ||
const VoxelBitSet & | sinkSeeds, | ||
ProgressCallback | cb = {} ) |
Segment voxels of given volume on two sets using graph-cut, returning source set.
k | - coefficient in the exponent of the metric affecting edge capacity: increasing k you force to find a higher steps in the density on the boundary, decreasing k you ask for smoother boundary |
sourceSeeds | - these voxels will be included in the result |
sinkSeeds | - these voxels will be excluded from the result |
|
inlinenodiscard |
returns the total number of voxels
|
inlinenodiscard |
|
inlinenodiscard |
|
inlinenodiscard |
|
inlinenodiscard |
|
inlinenodiscard |
|
inlinenodiscard |
|
protected |
VoxelId MR::VoxelLocation::id |
|
protected |
Vector3i MR::VoxelLocation::pos |
|
protected |
= dims_.x * dims_.y * dims_.z
|
protected |
= dims_.x * dims_.y