Volume Cartographer 2.27.0
|
Base class for segmentation algorithms that propagate a collected chain of points. More...
#include <vc/segmentation/ChainSegmentationAlgorithm.hpp>
Public Types | |
enum class | Status { Success , Failure , ReturnedEarly } |
using | Pointer = std::shared_ptr< ChainSegmentationAlgorithm > |
using | Chain = std::vector< cv::Vec3d > |
using | PointSet = volcart::OrderedPointSet< cv::Vec3d > |
using | Bounds = volcart::BoundingBox< double, 3 > |
Public Member Functions | |
virtual | ~ChainSegmentationAlgorithm ()=default |
auto | progressIterations () const -> std::size_t override |
Returns the maximum progress value. More... | |
void | setVolume (Volume::Pointer vol) |
Set the input Volume. More... | |
void | setBounds (Bounds b) |
Set the bounding box for computation. More... | |
void | setChain (Chain c) |
Set the input chain of seed points. More... | |
void | setNumberOfSteps (std::size_t n) |
Set the number of propagation steps. More... | |
void | setStepSize (double s) |
Set the propagation step size. More... | |
virtual auto | compute () -> PointSet=0 |
Compute the segmentation. More... | |
auto | getStatus () const -> Status |
Get the status of the previous computation. More... | |
auto | getPointSet () const -> const PointSet & |
Get the segmented pointset. More... | |
auto | getPointSet () -> PointSet & |
Get the segmented pointset. More... | |
virtual std::size_t | progressIterations () const =0 |
Protected Member Functions | |
ChainSegmentationAlgorithm ()=default | |
Protected Attributes | |
Volume::Pointer | vol_ |
Chain | startingChain_ |
Bounds | bb_ |
std::size_t | numSteps_ {0} |
double | stepSize_ {1.0} |
PointSet | result_ |
Status | status_ {Status::Success} |
Additional Inherited Members | |
![]() | |
Signal | progressStarted |
Signal< std::size_t > | progressUpdated |
Signal | progressComplete |
Base class for segmentation algorithms that propagate a collected chain of points.
Definition at line 20 of file ChainSegmentationAlgorithm.hpp.
using volcart::segmentation::ChainSegmentationAlgorithm::Bounds = volcart::BoundingBox<double, 3> |
Bounding Box type
Definition at line 34 of file ChainSegmentationAlgorithm.hpp.
using volcart::segmentation::ChainSegmentationAlgorithm::Chain = std::vector<cv::Vec3d> |
Chain type
Definition at line 30 of file ChainSegmentationAlgorithm.hpp.
using volcart::segmentation::ChainSegmentationAlgorithm::Pointer = std::shared_ptr<ChainSegmentationAlgorithm> |
Shared pointer type
Definition at line 24 of file ChainSegmentationAlgorithm.hpp.
using volcart::segmentation::ChainSegmentationAlgorithm::PointSet = volcart::OrderedPointSet<cv::Vec3d> |
PointSet type
Definition at line 32 of file ChainSegmentationAlgorithm.hpp.
|
strong |
Computation result status
Definition at line 36 of file ChainSegmentationAlgorithm.hpp.
|
virtualdefault |
Default destructor for virtual base class
|
protecteddefault |
Default constructor
|
pure virtual |
Compute the segmentation.
Implemented in volcart::segmentation::LocalResliceSegmentation, volcart::segmentation::OpticalFlowSegmentation, and volcart::segmentation::StructureTensorParticleSim.
|
inline |
Get the segmented pointset.
Definition at line 90 of file ChainSegmentationAlgorithm.hpp.
|
inline |
Get the segmented pointset.
Definition at line 84 of file ChainSegmentationAlgorithm.hpp.
|
inline |
Get the status of the previous computation.
Definition at line 79 of file ChainSegmentationAlgorithm.hpp.
|
inlineoverridevirtual |
Returns the maximum progress value.
Implements volcart::IterationsProgress.
Reimplemented in volcart::segmentation::LocalResliceSegmentation, volcart::segmentation::OpticalFlowSegmentation, and volcart::segmentation::StructureTensorParticleSim.
Definition at line 94 of file ChainSegmentationAlgorithm.hpp.
|
inline |
Set the bounding box for computation.
Used by an derived algorithm to determine a out-of-bounds stop condition for computation.
Definition at line 52 of file ChainSegmentationAlgorithm.hpp.
|
inline |
Set the input chain of seed points.
Definition at line 55 of file ChainSegmentationAlgorithm.hpp.
|
inline |
Set the number of propagation steps.
Typically, the expected number of output iterations. Derived algorithms may produce intermediate iterations that are not included in the output.
Definition at line 64 of file ChainSegmentationAlgorithm.hpp.
|
inline |
Set the propagation step size.
Typically the expected unit distance between each output iteration in voxel units.
Definition at line 71 of file ChainSegmentationAlgorithm.hpp.
|
inline |
Set the input Volume.
Definition at line 40 of file ChainSegmentationAlgorithm.hpp.
|
protected |
Bounding box
Definition at line 107 of file ChainSegmentationAlgorithm.hpp.
|
protected |
Number of propagation steps
Definition at line 109 of file ChainSegmentationAlgorithm.hpp.
|
protected |
Result
Definition at line 113 of file ChainSegmentationAlgorithm.hpp.
|
protected |
Seed chain
Definition at line 105 of file ChainSegmentationAlgorithm.hpp.
|
protected |
Computation status
Definition at line 115 of file ChainSegmentationAlgorithm.hpp.
|
protected |
Propagation step size
Definition at line 111 of file ChainSegmentationAlgorithm.hpp.
|
protected |
Definition at line 103 of file ChainSegmentationAlgorithm.hpp.