24 using Pointer = std::shared_ptr<ChainSegmentationAlgorithm>;
30 using Chain = std::vector<cv::Vec3d>;
36 enum class Status { Success, Failure, ReturnedEarly };
42 vol_ = std::move(vol);
std::shared_ptr< Volume > Pointer
Base class for segmentation algorithms that propagate a collected chain of points.
virtual auto compute() -> PointSet=0
Compute the segmentation.
void setChain(Chain c)
Set the input chain of seed points.
auto getStatus() const -> Status
Get the status of the previous computation.
std::vector< cv::Vec3d > Chain
void setVolume(Volume::Pointer vol)
Set the input Volume.
auto progressIterations() const -> std::size_t override
Returns the maximum progress value.
auto getPointSet() -> PointSet &
Get the segmented pointset.
auto getPointSet() const -> const PointSet &
Get the segmented pointset.
void setNumberOfSteps(std::size_t n)
Set the number of propagation steps.
virtual ~ChainSegmentationAlgorithm()=default
void setBounds(Bounds b)
Set the bounding box for computation.
void setStepSize(double s)
Set the propagation step size.
std::shared_ptr< ChainSegmentationAlgorithm > Pointer
ChainSegmentationAlgorithm()=default
Segmentation algorithms and utilities library
Mixin type for classes which report their progress.