| 207 | } |
| 208 | |
| 209 | Expected<VoxelBitSet> VolumeSegmenter::segmentVolume( float segmentationExponentModifier /*= 3000.0f*/, int voxelsExpansion /*= 25 */, ProgressCallback cb /* =nullptr */) |
| 210 | { |
| 211 | if ( seeds_[Inside].empty() ) |
| 212 | return unexpected( "No seeds presented" ); |
| 213 | |
| 214 | if ( !volume_.data ) |
| 215 | return unexpected( "Volume contain no grid" ); |
| 216 | |
| 217 | if ( seedsChanged_ ) |
| 218 | { |
| 219 | setupVolumePart_( voxelsExpansion ); |
| 220 | seedsChanged_ = false; |
| 221 | } |
| 222 | |
| 223 | // Segment volume |
| 224 | return segmentVolumeByGraphCut( volumePart_, segmentationExponentModifier, seedsInVolumePartSpace_[Inside], seedsInVolumePartSpace_[Outside], cb ); |
| 225 | } |
| 226 | |
| 227 | Expected<MR::Mesh> VolumeSegmenter::createMeshFromSegmentation( const VoxelBitSet& segmentation ) const |
| 228 | { |
no test coverage detected