SoEigenvaluesToStructurenessProcessing3d engine computes a structure score image More...
#include <ImageViz/Engines/EdgeDetection/EdgeMarking/SoEigenvaluesToStructurenessProcessing3d.h>
Public Types | |
enum | Lightness { BRIGHT = 0 , DARK = 1 } |
enum | StructureType { ROD = 0 , BALL = 1 , PLANE = 2 } |
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 | |
SoEigenvaluesToStructurenessProcessing3d () | |
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 | |
SoSFImageDataAdapter | inEigenvaluesImage |
Image containing input eigenvalues field. | |
SoSFEnum | lightness |
The type of structure lightness to extract. | |
SoSFEnum | structureType |
The type of structure lightness to extract. | |
SoSFFloat | alpha |
Flatness sensitivity threshold. | |
SoSFFloat | beta |
Blobness sensitivity threshold. | |
SoSFFloat | noiseCutoff |
Noise scale factor. | |
SoImageVizEngineOutput< SoSFImageDataAdapter, SoImageDataAdapter * > | outImage |
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. | |
SoEigenvaluesToStructurenessProcessing3d engine computes a structure score image
It allows to extract tubular, blob-like and plate-like structures from dark or bright background.
The computation is based on eigen values , and where .
The structure score for bright tubular structures corresponds to :
and the score for bright blob-like structures is computed as follow :
and the score for bright plate-like structures is computed as follow :
where is the Hessian norm
is a threshold which controls the flatness sensitivity, is a threshold which controls the blobness sensitivity, and c is a sensitivity threshold which controls the noise influence. with the maximum Hessian norm in the image.
For dark objects the conditions on , and are reversed.
The method is referenced by Frangi publication :
A.F.Frangi, W.J.Niessen, K.L.Vincken, M.A.Viergever, "Multiscale vessel enhancement filtering"
Lecture Notes in Computer Science(MICCAI), vol. 1496, pp. 130-137, 1998.
This filter provides output float grayscale image where each voxel intensity represents a structure score.
inEigenvaluesImage | NULL |
lightness | BRIGHT |
structureType | ROD |
alpha | 0.75f |
beta | 0.75f |
noiseCutoff | 0.5f |
Definition at line 102 of file SoEigenvaluesToStructurenessProcessing3d.h.
Enumerator | |
---|---|
BRIGHT | Extracts bright structures from dark background. |
DARK | Extracts dark structures from bright background. |
Definition at line 124 of file SoEigenvaluesToStructurenessProcessing3d.h.
Enumerator | |
---|---|
ROD | Extracts tubular structures. |
BALL | Extracts blob-like structures. |
PLANE | Extracts plate-like structures. |
Definition at line 143 of file SoEigenvaluesToStructurenessProcessing3d.h.
SoEigenvaluesToStructurenessProcessing3d::SoEigenvaluesToStructurenessProcessing3d | ( | ) |
Constructor.
SoSFFloat SoEigenvaluesToStructurenessProcessing3d::alpha |
Flatness sensitivity threshold.
It corresponds to the term of the score equation. Default value is 0.75f.
Definition at line 165 of file SoEigenvaluesToStructurenessProcessing3d.h.
SoSFFloat SoEigenvaluesToStructurenessProcessing3d::beta |
Blobness sensitivity threshold.
It corresponds to the term of the score equation. Default value is 0.75f.
Definition at line 169 of file SoEigenvaluesToStructurenessProcessing3d.h.
SoSFImageDataAdapter SoEigenvaluesToStructurenessProcessing3d::inEigenvaluesImage |
Image containing input eigenvalues field.
Type must be float.
Spectral series size is 3:
Definition at line 119 of file SoEigenvaluesToStructurenessProcessing3d.h.
SoSFEnum SoEigenvaluesToStructurenessProcessing3d::lightness |
The type of structure lightness to extract.
Use enum Lightness. Default is BRIGHT
Definition at line 138 of file SoEigenvaluesToStructurenessProcessing3d.h.
SoSFFloat SoEigenvaluesToStructurenessProcessing3d::noiseCutoff |
Noise scale factor.
It is used for computing the c term of the score equation. Default value is 0.5f.
Definition at line 173 of file SoEigenvaluesToStructurenessProcessing3d.h.
SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> SoEigenvaluesToStructurenessProcessing3d::outImage |
Output image.
Size (except spectral series, only one), calibration, type and interpretation of the outImage image are forced to the same values as inEigenvaluesImage. All values are between 0 and 1. Default value is NULL. Supported types include: grayscale binary label color image.
Definition at line 178 of file SoEigenvaluesToStructurenessProcessing3d.h.
SoSFEnum SoEigenvaluesToStructurenessProcessing3d::structureType |
The type of structure lightness to extract.
Use enum StructureType. Default is ROD
Definition at line 161 of file SoEigenvaluesToStructurenessProcessing3d.h.