This chapter represents documentation about Volume (Voxel) More...
Topics | |
| Volume Indexer | |
| Subvoxel Mesh Correction | |
| Precise automatic mesh correction or/and smoothing based on reference voxel (volume) data.  | |
| 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