Package com.openinventor.imageviz.engines.imageanalysis

The purpose of quantitative analysis is to extract new representations in the form of measurements from images. Whereas processing modules produce another image, Analysis modules extract data values from an image. This data can then be compared to a priori information, classified, or used to identify objects in the image.

Local and Global Measures

Measurements can essentially be divided into two types, local and global.

1.Local measures

Local measures are computed by segmenting each original object into a union of disjointed, or unique, elements, on each of which elementary measurements are performed. The local measure is then defined as the sum of elementary measures on the disjointed sets. For example, the surface area of an object can be defined as the sum of the areas of the pixels in the object. Local measures are mostly computed with neighborhood operators.

2.Global measures

Global measures require that information on an entire object be computed. They cannot be deduced from the values of the subsets. For example, the Feret diameter cannot be computed from the Feret diameters of subsets of the object. Global measures should ideally be computed for objects which are fully visible, or equivalently, which fall into the image field and do not intersect the field boundary.

Continuous and Discrete Cases

In most of the explanations of the commands, different formulae are presented for both the continuous and discrete cases. The continuous case refers to the analysis of "real" objects, which can be theoretically assumed to have a continuous range of values.

The discrete case refers to analysis in an actual digital image, where there is a finite number of pixels and values.

Intensity image

Some of the analysis engines, like SoLabelAnalysisQuantification, SoLabelFilteringAnalysisQuantification or SoGlobalAnalysisQuantification, takes an intensity image for input.

Providing an intensity image some measures about the gray level statistics of each label may be computed such as histogram or texture features. For instance the intensity integral measurement would sum the gray levels of the intensity image for each label.

Using measures that doesn't take gray levels into account, like geometric features, this input can be also connected to the label image. In this case the intensity integral measurement would amount to multiply the index of each label by its number of voxels.

How to select a measure list

The following engines compute a set of measurements on an image: SoLabelAnalysisQuantification, SoLabelFilteringAnalysisQuantification, SoGlobalAnalysisQuantification.

To select these measurements they have to be added to a SoMFDataMeasure object. Details about each native measure can be found in SoDataMeasurePredefined.

e.g., : To select the equivalent diameter measurement for an analysis:

 labelAnalysis->measureList.set1Value(0,new SoDataMeasurePredefined(SoDataMeasurePredefined.EQUIVALENT_DIAMETER_2D));