SoMarkerBasedWatershedProcessing engine performs a fast determination of the watershed lines.
More...
#include <ImageViz/Engines/ImageSegmentation/RegionGrowing/SoMarkerBasedWatershedProcessing.h>
Inheritance diagram for SoMarkerBasedWatershedProcessing:Public Types | |
| enum | OutputMode { SEPARATED_BASINS = 0 , WATERSHED_RIDGES = 1 } |
| enum | PrecisionMode { REPEATABLE = 0 , FAST = 1 } |
Public Types inherited from SoImageVizEngine | |
| enum | ComputeMode { MODE_2D = 0 , MODE_3D = 1 , MODE_AUTO = 2 } |
| Compute Mode This enum specifies whether the main input will be interpreted as a 3D volume or a stack of 2D images for processing. More... | |
| enum | Neighborhood3d { CONNECTIVITY_6 = 0 , CONNECTIVITY_18 = 1 , CONNECTIVITY_26 = 2 } |
| Neighborhood Connectivity 3D. More... | |
Public Member Functions | |
| SoMarkerBasedWatershedProcessing () | |
| Constructor. | |
Public Member Functions inherited from SoImageVizEngine | |
| virtual SoType | getTypeId () const |
| Returns the type identifier for this specific instance. | |
| virtual void | startEvaluate () |
| Evaluate engine and dependencies in another thread without blocking the current one. | |
| virtual void | waitEvaluate () |
| Wait for the end of engine evaluation. | |
| virtual void | abortEvaluate () |
| Abort current processing as soon as possible. | |
| virtual bool | isEvaluating () |
| Returns true if the engine evaluation is in progress. | |
Public Member Functions inherited from SoEngine | |
| virtual int | getOutputs (SoEngineOutputList &list) const |
| Returns a list of outputs in this engine. | |
| SoEngineOutput * | getOutput (const SbName &outputName) const |
| Returns a reference to the engine output with the given name. | |
| SbBool | getOutputName (const SoEngineOutput *output, SbName &outputName) const |
| Returns (in outputName) the name of the engine output (output). | |
| SoEngine * | copy () const |
| Creates and returns an exact copy of the engine. | |
Public Member Functions inherited from SoFieldContainer | |
| void | setToDefaults () |
| Sets all fields in this object to their default values. | |
| SbBool | hasDefaultValues () const |
| Returns TRUE if all of the object's fields have their default values. | |
| SbBool | fieldsAreEqual (const SoFieldContainer *fc) const |
| Returns TRUE if this object's fields are exactly equal to fc's fields. | |
| void | copyFieldValues (const SoFieldContainer *fc, SbBool copyConnections=FALSE) |
| Copies the contents of fc's fields into this object's fields. | |
| SoNONUNICODE SbBool | set (const char *fieldDataString) |
| Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format. | |
| SbBool | set (const SbString &fieldDataString) |
| Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format. | |
| void | get (SbString &fieldDataString) |
| Returns the values of the fields of this object in the Open Inventor ASCII file format in the given string. | |
| virtual int | getFields (SoFieldList &list) const |
| Appends references to all of this object's fields to resultList, and returns the number of fields appended. | |
| virtual int | getAllFields (SoFieldList &list) const |
| Returns a list of fields, including the eventIn's and eventOut's. | |
| virtual SoField * | getField (const SbName &fieldName) const |
| Returns a the field of this object whose name is fieldName. | |
| virtual SoField * | getEventIn (const SbName &fieldName) const |
| Returns a the eventIn with the given name. | |
| virtual SoField * | getEventOut (const SbName &fieldName) const |
| Returns the eventOut with the given name. | |
| SbBool | getFieldName (const SoField *field, SbName &fieldName) const |
| Returns the name of the given field in the fieldName argument. | |
| SbBool | enableNotify (SbBool flag) |
| Notification at this Field Container is enabled (if flag == TRUE) or disabled (if flag == FALSE). | |
| SbBool | isNotifyEnabled () const |
| Notification is the process of telling interested objects that this object has changed. | |
| virtual void | setUserData (void *data) |
| Sets application data. | |
| void * | getUserData (void) const |
| Gets user application data. | |
Public Member Functions inherited from SoBase | |
| virtual void | touch () |
| Marks an instance as modified, simulating a change to it. | |
| virtual SbName | getName () const |
| Returns the name of an instance. | |
| virtual void | setName (const SbName &name) |
| Sets the name of an instance. | |
| void | setSynchronizable (const bool b) |
| Sets this to be a ScaleViz synchronizable object. | |
| bool | isSynchronizable () const |
| Gets the ScaleViz synchronizable state of this object. | |
Public Member Functions inherited from SoRefCounter | |
| void | ref () const |
| Adds a reference to an instance. | |
| void | unref () const |
| Removes a reference from an instance. | |
| void | unrefNoDelete () const |
| unrefNoDelete() should be called when it is desired to decrement the reference count, but not delete the instance if this brings the reference count to zero. | |
| int | getRefCount () const |
| Returns current reference count. | |
| void | lock () const |
| lock this instance. | |
| void | unlock () const |
| unlock this instance. | |
Public Member Functions inherited from SoTypedObject | |
| SbBool | isOfType (const SoType &type) const |
| Returns TRUE if this object is of the type specified in type or is derived from that type. | |
| template<typename TypedObjectClass > | |
| SbBool | isOfType () const |
| Returns TRUE if this object is of the type of class TypedObjectClass or is derived from that class. | |
Public Attributes | |
| SoSFEnum | computeMode |
| Select the compute Mode (2D or 3D or AUTO) Use enum ComputeMode. | |
| SoSFEnum | neighborhood3d |
| In 3D configuration (see computeMode), the neighborhood connectivity defines the connectivity considered for processing adjacent voxels. | |
| SoSFEnum | outputMode |
| Select the type of output mode. | |
| SoSFImageDataAdapter | inGrayImage |
| The input grayscale image. | |
| SoSFImageDataAdapter | inMarkerImage |
| The input marker (label) image. | |
| SoSFEnum | precisionMode |
| Select the mode of algorithm precision for watershed. | |
| SoImageVizEngineOutput< SoSFImageDataAdapter, SoImageDataAdapter * > | outObjectImage |
| The output image. | |
Public Attributes inherited from SoImageVizEngine | |
| SbEventHandler< EventArg & > | onBegin |
| Event raised when the processing begins. | |
| SbEventHandler< EventArg & > | onEnd |
| Event raised when processing ends and the result is available. | |
| SbEventHandler< EventArg & > | onProgress |
| Event raised while processing is running. | |
Additional Inherited Members | |
Static Public Member Functions inherited from SoImageVizEngine | |
| static SoType | getClassTypeId () |
| Returns the type identifier for this class. | |
Static Public Member Functions inherited from SoEngine | |
| static SoType | getClassTypeId () |
| Returns the type identifier for the SoEngine class. | |
| static SoEngine * | getByName (const SbName &name) |
| Looks up engine(s) by name. | |
| static int | getByName (const SbName &name, SoEngineList &list) |
| Looks up engine(s) by name. | |
Static Public Member Functions inherited from SoFieldContainer | |
| static SoType | getClassTypeId () |
| Returns the type of this class. | |
Static Public Member Functions inherited from SoBase | |
| static SoType | getClassTypeId () |
| Returns type identifier for this class. | |
Static Public Member Functions inherited from SoTypedObject | |
| static SoType | getClassTypeId () |
| Returns the type identifier for this class. | |
SoMarkerBasedWatershedProcessing engine performs a fast determination of the watershed lines.
For an introduction, see Watershed principle.
SoMarkerBasedWatershedProcessing has 2 configurations. See outputMode field.
This engine performs a fast determination of the watershed lines from specified markers in a label image, followed by a labelling of the complementary set. It can be viewed as the zones of influence of the markers.
Either the separated basins are output in a label image, the crest lines being part of the complementary (not a label), or the crest lines are output in a binary image.
Note: Because two bits are used to code the pixels during the algorithm, input gray levels image should range from 0 to 16383. If the range is greater, a normalization is applied to reduce the dynamic of this image.
Notice: This engine requires to preliminarily load the whole input data set into memory to be computed. As a consequence the input data set will be automatically loaded before the execution of this engine, ignoring the maximum memory parameter of the SbImageDataAdapterHelper::getAppropriateAdapter function or SoFileDataAdapter class If the input data set cannot fit in memory, this engine will fail during its computation. |
SoAddObjectToLabelProcessing, SoGrayscaleResconstructionProcessing
| computeMode | MODE_AUTO |
| neighborhood3d | CONNECTIVITY_26 |
| outputMode | WATERSHED_RIDGES |
| inGrayImage | NULL |
| inMarkerImage | NULL |
| precisionMode | REPEATABLE |
Definition at line 88 of file SoMarkerBasedWatershedProcessing.h.
Definition at line 112 of file SoMarkerBasedWatershedProcessing.h.
Definition at line 138 of file SoMarkerBasedWatershedProcessing.h.
| SoMarkerBasedWatershedProcessing::SoMarkerBasedWatershedProcessing | ( | ) |
Constructor.
| SoSFEnum SoMarkerBasedWatershedProcessing::computeMode |
Select the compute Mode (2D or 3D or AUTO) Use enum ComputeMode.
Default is MODE_AUTO
Definition at line 100 of file SoMarkerBasedWatershedProcessing.h.
| SoSFImageDataAdapter SoMarkerBasedWatershedProcessing::inGrayImage |
The input grayscale image.
Default value is NULL. Supported types include: grayscale image.
Definition at line 130 of file SoMarkerBasedWatershedProcessing.h.
| SoSFImageDataAdapter SoMarkerBasedWatershedProcessing::inMarkerImage |
The input marker (label) image.
Default value is NULL. Supported types include: label color image.
Definition at line 133 of file SoMarkerBasedWatershedProcessing.h.
| SoSFEnum SoMarkerBasedWatershedProcessing::neighborhood3d |
In 3D configuration (see computeMode), the neighborhood connectivity defines the connectivity considered for processing adjacent voxels.
Use enum Neighborhood3d. Default is CONNECTIVITY_26.
Definition at line 107 of file SoMarkerBasedWatershedProcessing.h.
| SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> SoMarkerBasedWatershedProcessing::outObjectImage |
The output image.
Default value is NULL. Supported types include: binary image.
Definition at line 157 of file SoMarkerBasedWatershedProcessing.h.
| SoSFEnum SoMarkerBasedWatershedProcessing::outputMode |
Select the type of output mode.
Use enum OutputMode. Default is WATERSHED_RIDGES
Definition at line 127 of file SoMarkerBasedWatershedProcessing.h.
| SoSFEnum SoMarkerBasedWatershedProcessing::precisionMode |
Select the mode of algorithm precision for watershed.
Use enum PrecisionMode. Default is REPEATABLE
Definition at line 154 of file SoMarkerBasedWatershedProcessing.h.