OIV.ImageViz.Engines Namespace |
ImageViz engines allow the application of computational algorithms on data extracted from images.
Class | Description | |
---|---|---|
SoImageVizEngine | Abstract base class for all ImageViz engines. | |
SoImageVizEngineAnalysisOutputAnalysisResultType | Image Processing output class to convert SoImageAnalysisResult to result details. | |
SoImageVizEngineFieldContainerOutputFieldContainerType | Image Processing output class to convert SoImageAnalysisResult to result details. | |
SoImageVizEngineMFieldOutputOutputFieldType, OutputType | ||
SoImageVizEngineOutputOutputFieldType, OutputType | Image Processing output class. |
Structure | Description | |
---|---|---|
SoImageVizEngineEventArg | Structure given to callback when an event is raised. |
Enumeration | Description | |
---|---|---|
SoImageVizEngineComputeModes | Compute Mode This enum specifies whether the main input will be interpreted as a 3D volume or a stack of 2D images for processing. | |
SoImageVizEngineNeighborhood3ds | Neighborhood Connectivity 3D. |
Some engines work on images and provide output images, others provide numerical results, and others may work on vector data that represents segments of object edges. Some engines work only with 2D images, or only with 3D images and some work with both.
Engines names may end with 2d or 3d:
2d indicates that an engine only supports 2D images,
3d indicates that an engine only supports 3D images,
If this information is omitted, the engine works on both types of images.
A keyword in the engine name, just before the dimensional information, indicates the kind of action the engine performs.
Generation indicates an engine that creates an image from a vector of integers representing the output image size (e.g., OIV.ImageViz.Engines.ImageManipulation.SyntheticImages.SoRandomImageGeneration)
Processing indicates an engine that transforms an image or a set of images to another image or set of images (e.g., OIV.ImageViz.Engines.ImageFiltering.SmoothingAndDenoising.SoMedianFilterProcessing)
Quantification indicates an engine that provides numerical results (e.g., OIV.ImageViz.Engines.ImageAnalysis.GlobalMeasures.SoAreaQuantification2d)
Approximation indicates an engine that works on segments given by a polygonal approximation (e.g., OIV.ImageViz.Engines.ImageSegmentation.ComputationalGeometry.SoObjectToSegmentApproximation2d).
For cross-functional engines, the most relevant key-word is used (e.g., OIV.ImageViz.Engines.ImageAnalysis.GlobalMeasures.SoObjectCountQuantification provides a numerical result but also an output image that could be created by OIV.ImageViz.Engines.ImageSegmentation.Labeling.SoLabelingProcessing).
An engine field can be
An input data object(generally an image)
An output data object
A computation parameter
By convention :
A field name beginning with in represents an input data object,
A field name beginning with out represents an output data object,
A field name beginning neither with in, nor out represents a parameter.
A field name beginning with in or out represents data. A key-word specifies the type of data:
A field name containing Image represents an image (OIV.ImageViz.Nodes.Images.SoImageDataAdapter object),
A field name containing Analysis represents a result of analysis, i.e., a list of measurements for a set of objects(SoLabelAnalysisResult object),
A field name containing Segment represents a chain of segments, i.e., a list of vertices obtained from a polygonal approximation of objects edges(OIV.ImageViz.Nodes.Geometries.SoSegmentChain object),
A field name named outResult represents a result object specific to the engine. It generally represents the measurement results of a global analysis of an image (e.g., OIV.ImageViz.Engines.ImageAnalysis.GlobalMeasures.SoAreaQuantification2d.SbArea2DDetail ).
See section Data conversion conventions
The automatic memory management of the .NET framework is not efficient with ImageViz engines. Engines are connected to data that can have a consequent size. The garbage collector assesses only the memory allocated in the managed space, omitting the amount of memory allocated in the non managed space. The demo GettingStarted/04.5.MemoryManagement illustrates how a C# .NET user can use features of the garbage collector to improve the memory consumption of an application.