SoCooccurrenceQuantification2d engine provides texture indicators based on the co-occurrence matrix computation.
More...
#include <ImageViz/Engines/ImageAnalysis/Statistics/SoCooccurrenceQuantification2d.h>
Inheritance diagram for SoCooccurrenceQuantification2d:Classes | |
| class | SbCoocurrrenceDetail |
| Results details of cooccurrence global measure. More... | |
Public Member Functions | |
| SoCooccurrenceQuantification2d () | |
| 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 | inImage |
| The input image. | |
| SoSFImageDataAdapter | inMaskImage |
| The binary image for the mask or empty (command looks for only inside). | |
| SoSFInt32 | offsetX |
| The X Offset. | |
| SoSFInt32 | offsetY |
| The Y Offset. | |
| SoImageVizEngineAnalysisOutput< SbCoocurrrenceDetail > | outResult |
| The output measure result. | |
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 | |
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... | |
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. | |
SoCooccurrenceQuantification2d engine provides texture indicators based on the co-occurrence matrix computation.
The SoCooccurrenceQuantification2d engine provides some information concerning the texture thanks to the computation of a co-occurrence matrix. This command allow s to classify, given a direction 
![\[M(i,j)=number\left(\{x,y\}/(I(x,y)=i)\cap(I(x+dx,y+dy)=j)\right)\]](form_346.png)
Where 

This formulation means that for a given pair 



This matrix is made symmetric and normalized such as :
![\[\forall(i,j),M(i,j)=M(j,i) ~\mbox{and} \sum_{i,j=1}^{N}M(i,j)=1\]](form_352.png)
These operations allow to be independent to the image size and to hold properties on a direction and its symmetric. Thirteen indicators are computed from this matrix :
![\[ASM= \sum_{i,j=1}^{N}{M(i,j)}^2\]](form_353.png)
![\[Con= \sum_{i,j=1}^{N}M(i,j)\times(i-j)^2\]](form_354.png)
![\[Cor= \sum_{i,j=1}^{N}M(i,j)\times\frac{(i-\mu_i)(i-\mu_j)}{\sqrt{\sigma_i^2\sigma_j^2}}\]](form_355.png)
![\[\mu_i=\mu_j=\sum_{i,j=1}^{N}i\times M(i,j) ~\mbox{and}~ \sigma_i^2=\sigma_j^2=\sum_{i,j=1}^{N}M(i,j)\times(i-\mu_i)^2\]](form_356.png)
![\[SSV=\sigma_i^2=\sigma_j^2=\sum_{i,j=1}^{N}M(i,j)\times(i-\mu_i)^2\]](form_357.png)
![\[IDM= \sum_{i,j=1}^{N}\frac{M(i,j)}{1+(i-j)^2}\]](form_358.png)
![\[SAv=\sum_{i,j=1}^{N}M(i,j)\times(i+j)\]](form_359.png)
![\[SVa=\sum_{i,j=1}^{N}M(i,j)\times(i+j-SAv)^2\]](form_360.png)
![\[SEn=-\sum_{k=2}^{2N}p_{x+y}(k)\times log(p_{x+y}(k)) ~\mbox{where}~ p_{x+y}(k)=\sum_{i+j=k}M(i,j)\]](form_361.png)
![\[Ent=-\sum_{i,j=1}^{N}M(i,j)\times log(M(i,j))\]](form_362.png)
![\[DVa=variance(p_{x-y}) ~\mbox{where}~ p_{x-y}(k)=\sum_{|i-j|=k}M(i,j)\]](form_363.png)
![\[DEn=-\sum_{k=0}^{N-1}p_{x-y}(k)\times log(p_{x-y}(k))\]](form_364.png)
![\[IC1=\frac{HXY-HXY1}{max(HX,HY)} ~\mbox{where}~ IC2=\sqrt{1-e^{-2\times|HXY2-HXY|}}\]](form_365.png)
![\[p_x(i)=\sum_{j=1}^{N}M(i,j) ~\mbox{and}~ p_y(j)=\sum_{i=1}^{N}M(i,j)\]](form_366.png)
![\[HXY=-\sum_{i,j=1}^{N}M(i,j)\times log(M(i,j))\]](form_367.png)
![\[HXY1=-\sum_{i,j=1}^{N}M(i,j)\times log(p_x(i)\times p_y(j))\]](form_368.png)
![\[HXY2=-\sum_{i,j=1}^{N}p_x(i)\times p_y(j)\times log(p_x(i)\times p_y(j))\]](form_369.png)
In addition this engine returns one more information in the result object which is the number of image pixels used for computation.
| inImage | NULL |
| inMaskImage | NULL |
| offsetX | 1 |
| offsetY | 0 |
Definition at line 120 of file SoCooccurrenceQuantification2d.h.
| SoCooccurrenceQuantification2d::SoCooccurrenceQuantification2d | ( | ) |
Constructor.
| SoSFImageDataAdapter SoCooccurrenceQuantification2d::inImage |
The input image.
Default value is NULL. Supported types include: grayscale binary label color image.
Definition at line 215 of file SoCooccurrenceQuantification2d.h.
| SoSFImageDataAdapter SoCooccurrenceQuantification2d::inMaskImage |
The binary image for the mask or empty (command looks for only inside).
This parameter is optional. Default value is NULL. Supported types include: binary color image.
Definition at line 218 of file SoCooccurrenceQuantification2d.h.
| SoSFInt32 SoCooccurrenceQuantification2d::offsetX |
| SoSFInt32 SoCooccurrenceQuantification2d::offsetY |
| SoImageVizEngineAnalysisOutput<SbCoocurrrenceDetail> SoCooccurrenceQuantification2d::outResult |
The output measure result.
Default value is NULL.
Definition at line 227 of file SoCooccurrenceQuantification2d.h.