![]() |
ImFusion SDK 4.3
|
Inheritance diagram for InteractiveSegmentationWatershedAlgorithm:Public Member Functions | |
| InteractiveSegmentationWatershedAlgorithm (SharedImageSet &is, SharedImageSet *labels=nullptr, SharedImageSet *prior=nullptr) | |
| void | compute () override |
| Actually execute the algorithm. | |
Public Member Functions inherited from InteractiveSegmentationAlgorithm | |
| InteractiveSegmentationAlgorithm (SharedImageSet &is, SharedImageSet *labels=nullptr, SharedImageSet *prior=nullptr) | |
| Main constructor with an image set and possibly a labels set. | |
| ~InteractiveSegmentationAlgorithm () override | |
| Main destructor. | |
| SharedImageSet & | image () |
| Get the input images. | |
| SharedImageSet * | labels () |
| Get the current labels. | |
| void | setLabels (SharedImageSet *labels) |
| Set the current labels. | |
| virtual void | prepareForComputation () override |
| Prepare before the computation. | |
| void | acceptSegmentation () |
| Accept segmentation and fill the label map accordingly with the given object label. | |
| bool | isPredictionAvailable () const |
| Return true if a prediction algorithm has been registered. | |
| bool | labelAlreadyCreated () const |
| Return true if labels were already created. | |
| bool | initFromPrediction (const std::string &configFile, int inMarginPixels, int outMarginPixels, float threshold=0.5f) |
| Initialize the seeds from the result of a pixelwise prediction model. | |
| bool | initFromSegmentation (Mesh *mesh, double narrowbandMM) |
| Initialize the seeds from another segmentation. | |
| void | convertBinaryMapToNarrowBandLabels (SharedImageSet *binaryMap, int inMarginPixels, int outMarginPixels, Progress::Task *pt=nullptr) |
| Initialize labels as a narrow band around a binary segmentation. | |
| void | convertContourToLabels2D (const std::vector< vec3 > &points, SharedImage *labels, double narrowbandMM) |
| Fill labels with 2D contour. | |
| void | convertDiameterToLabels3D (const std::vector< vec3 > &points, SharedImage *labels) |
| Fill labels with largest diameter of the object. | |
| std::vector< std::vector< double > > | getStatistics (SharedImage *lab) |
| Get statistics on a label map. | |
Public Member Functions inherited from GraphBasedSegmentation | |
| GraphBasedSegmentation (SharedImageSet *image, SharedImageSet *labels, SharedImageSet *prior=nullptr) | |
| Algorithm is created with image and labels, the latter will be updated with the result. | |
| ~GraphBasedSegmentation () override | |
| Destructor. | |
| void | configure (const Properties *p) override |
| Set one or multiple properties. | |
| void | configuration (Properties *p) const override |
| Retrieve the properties of this object. | |
| OwningDataList | takeOutput () override |
| If the algorithm creates new image data, it has to be transferred here. | |
| void | setSolver (int solver) |
| Specify a custom solver to be used. | |
| void | setSolverParameters (int iter, double tol) |
| Specify the maximum number of steps for iterative solvers. | |
| void | setAdaptiveness (double val) |
| Specify the adaptiveness to the image (lower means a smoother segmentation) | |
| void | setAutoCrop (bool flag) |
| If true, the segmentation problem is cropped with the bounding box of the labels. | |
| void | setVerbose (bool flag) |
| Set the verbose flag. | |
| void | setUseSuperpixels (bool flag) |
| Set the superpixels flag. | |
| void | setPyramidLevels (int numLevels, int minLevel) |
| Set the pyramid levels. | |
| void | setNumPyramidLevels (int numLevels) |
| Set the numbers of pyramid levels. | |
| void | setMinPyramidLevel (int minLevel) |
| Set the minimum pyramid level. | |
| int | numPyramidLevels () const |
| Get the number of pyramid levels. | |
| int | minPyramidLevel () const |
| Get the minimum pyramid level. | |
| void | setPriorWeight (double weight) |
| Set the prior weight. | |
| void | setSuperpixelsConfiguration (const Properties *superpixelsProperties) |
| Set the superpixels configuration. | |
| void | convertToLabels (bool entireImage=true) |
| Convert the segmentation result into foreground and background labels. | |
| std::vector< std::vector< vec3 > > | extractSegmentation2D (double smoothness, double exportRes, bool closeAnnotation=true) |
| Extract the segmentation as a set of point-based contours (only for 2D images) | |
| Mesh * | extractSegmentation3D (double smoothness, double exportRes, bool closeAnnotation=true) |
| Extract the segmentation as a mesh (only for 3D images) | |
| void | clearResult () |
| Clear the segmentation from the label image. | |
| SharedImageSet * | probabilityImage () |
| Create and return a probability image from the segmentation result (takes ownsership) | |
| size_t | memoryEstimation (int minLevel) |
| Returns an estimation of the required memory with the current configuration. | |
| int | currentObjectLabel (int ind) const |
| Returns the current label for the foreground for one particular image. | |
| void | setCurrentObjectLabel (int label, int ind) |
| Set the current label for the foreground for one particular image. | |
Public Member Functions inherited from Algorithm | |
| Algorithm () | |
| Default constructor will registers a single "compute" action that calls compute() and returns status(). | |
| virtual void | setProgress (Progress *progress) |
| Sets a Progress interface the algorithm can use to notify observers about its computing progress. | |
| Progress * | progress () const |
| Returns the progress interface if set. | |
| virtual int | status () const |
| Indicates the status of the last call to compute(). | |
| virtual bool | survivesDataDeletion (const Data *) const |
| Indicates whether the algorithm can handle (partial) deletion of the specified data, by default this checks whether the data is in the input list. | |
| const FactoryInfo & | factoryInfo () const |
| Returns the record describing how this Algorithm was instantiated by the AlgorithmFactory. | |
| void | setFactoryInfo (const FactoryInfo &value) |
| Sets the record describing how this Algorithm was instantiated by the AlgorithmFactory. | |
| Status | runAction (const std::string &id) |
Run the action with name id if it exists. | |
| const std::vector< Action > & | actions () |
| Get a mapping from Action id to Action as registered in this algorithm. | |
Public Member Functions inherited from Configurable | |
| virtual void | configureDefaults () |
| Retrieve the properties of this object, replaces values with their defaults and sets it again. | |
| void | registerParameter (ParameterBase *param) |
| Register the given Parameter or SubProperty, so that it will be configured during configure()/configuration(). | |
| void | unregisterParameter (const ParameterBase *param) |
| Remove the given Parameter or SubProperty from the list of registered parameters. | |
| Configurable (const Configurable &rhs) | |
| Configurable (Configurable &&rhs) noexcept | |
| Configurable & | operator= (const Configurable &) |
| Configurable & | operator= (Configurable &&) noexcept |
Static Public Member Functions | |
| static bool | createCompatible (const DataList &data, Algorithm **a=0) |
| If data is compatible with algorithm return true. If a is not zero, create algorithm with input data. | |
Static Public Member Functions inherited from InteractiveSegmentationAlgorithm | |
| static bool | createCompatible (const DataList &data, Algorithm **a=0) |
| If data is compatible with algorithm return true. If a is not zero, create algorithm with input data. | |
Static Public Member Functions inherited from GraphBasedSegmentation | |
| static bool | createCompatible (const DataList &data, Algorithm **a=0) |
| If data is compatible with algorithm return true. If a is not zero, create algorithm with input data. | |
Static Public Member Functions inherited from Algorithm | |
| static bool | createCompatible (const DataList &data, Algorithm **a=nullptr) |
| Factory function to check algorithm compatibility with input data and optionally instantiate it. | |
Additional Inherited Members | |
Public Types inherited from Algorithm | |
| enum | Status { Unknown = -1 , Success = 0 , Error = 1 , InvalidInput , IncompleteInput , OutOfMemoryHost , OutOfMemoryGPU , UnsupportedGPU , UnknownAction , AbortedByUser , User = 1000 } |
| Status codes. More... | |
Public Attributes inherited from Algorithm | |
| Signal | signalOutputChanged |
| Signal should be emitted by Algorithms when their output/result has changed. | |
| Signal | signalParametersChanged |
| Signal should be emitted by Algorithms when their parameter configuration has changed. | |
Public Attributes inherited from Configurable | |
| Signal | signalParametersChanged |
Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted. | |
Protected Member Functions inherited from Algorithm | |
| void | loadDefaults () |
| void | registerAction (const std::string &id, const std::string &guiName, const std::function< Algorithm::Status(void)> &action) |
| Register an action to be run via runAction. | |
| template<typename D> | |
| void | registerAction (const std::string &id, const std::string &guiName, Algorithm::Status(D::*action)(void)) |
| Template version of runAction that can be used with a pointer to a member function. | |
| void | registerAction (const Action &action) |
| Register an action. | |
Protected Attributes inherited from GraphBasedSegmentation | |
| SharedImageSet * | m_image |
| Input image data. | |
| SharedImageSet * | m_labels |
| Image containing the labels. | |
| SharedImageSet * | m_prior |
| Prior probability map. | |
| SharedImageSet * | m_probability |
| Output probability of the graph Laplacian problem. | |
| std::unique_ptr< SharedImageSet > | m_labelsCopy |
| Copy of the labels (used to remember prev label map when segmenting multiple objects) | |
| std::vector< int > | m_currentObjectLabel |
| Current label for the foreground, for each image. | |
| std::shared_ptr< SharedImage > | m_workingImage |
| Working cropped version of the image. | |
| std::shared_ptr< SharedImage > | m_workingLabels |
| Working cropped version of the labels. | |
| vec3i | m_ofs |
| Offset of cropped segmentation. | |
| vec3i | m_dim |
| Dimension of cropped segmentation. | |
| double | m_bboxMargin |
| Margin percentage for bounding box. | |
| bool | m_verbose |
| Display messages. | |
| GraphLaplacianAlgorithm * | m_graphAlgo |
| Graph segmentation algorithm. | |
| int | m_solver |
| Custom solver to be used. | |
| int | m_iterations |
| Maximum number of iterations of the solver. | |
| double | m_tolerance |
| Tolerance of the solver. | |
| bool | m_autoCrop |
| Flag for cropping the segmentation with the labels. | |
| double | m_adaptiveness |
| Parameter controlling the adaptiveness to the image. | |
| int | m_numLevels |
| Number of pyramid levels. | |
| int | m_minLevel |
| Minimum pyramid level (1 = lowest) | |
| bool | m_exportProbability |
| Accept the segmentation after computation. | |
| bool | m_applyWindowLevel |
| whether window/level of the input image should be considered | |
| double | m_previousWindow |
| window of the image in the previous computation | |
| double | m_previousLevel |
| level of the image in the previous computation | |
| bool | m_autoAccept |
| Automatically accept the result (lose seeds) | |
| double | m_priorWeight |
| Weight of the prior term. | |
| int | m_filterSize |
| Size of the smoothing filter. | |
| bool | m_useSuperpixels |
| Flag for superpixels. | |
| Properties * | m_superpixelsProperties |
| Properties for superpixel algorithm. | |
Protected Attributes inherited from Algorithm | |
| std::string | m_name |
| Algorithm name. | |
| Progress * | m_progress = nullptr |
| Non-owing pointer to a progress interface. May be a nullptr. | |
| FactoryInfo | m_factoryInfo = {} |
| Record describing how this algorithm was instantiated by the AlgorithmFactory. | |
| int | m_status = Status::Unknown |
| Algorithm status after last call to compute() | |
| std::vector< Action > | m_actions |
| Map of key given by the id of the action, of the available actions of this algorithm. | |
Protected Attributes inherited from Configurable | |
| std::vector< Param > | m_params |
| List of all registered Parameter and SubProperty instances. | |
|
overridevirtual |
Actually execute the algorithm.
Reimplemented from InteractiveSegmentationAlgorithm.