Appendix A. What is New in Version 3.1

This appendix describes the differences between versions 3.0 and 3.1 of the ImageVision Library.

keepPrecision() Added to ilOpImg

The ilOpImg method, keepPrecision(), was introduced to the IL library to maintain the data types of operator inputs. Before version 3.1, the data type of operator inputs defaulted to the smallest type that covered its range, for example, 0.0 to 1.0 defaulted to char. This default behavior caused problems for non-integer input values, for example, the range 0.0 to 1.0 might default to char when, in fact, the values were float.

For more information about keepPrecision() see “The keepPrecision() Function”.

Multiprocessing on Single CPU Machines Enabled

Before IL version 3.1, asynchronous requests made on single-CPU machines failed. In version 3.1, asynchronous requests spawn multiple threads to process requests.

Additional Image Formats Supported

In addition to all of the image formats supported by IL version 3.0, version 3.1 supports Alias/Wavefront, SoftImage (by Microsoft®), and YUV (by Abekas) image formats.

For more information about image formats, see “Supported IFL Image File Formats”.

ELT Performance Enhanced

The performance of the Electronic Light Table (ELT) has been enhanced dramatically. For more information about the ELT, see Appendix G, “Using the Electronic Light Table.”

Choosing OpenGL or X Rendering

The ImageVision library supports OpenGL as well as X rendering. IL version 3.1 allows you to choose between the two with the following ilConfigure methods:

ilStatus ilSetRenderingStyle(Display* dpy, ilRenderingStyle style)
ilRenderingStyle ilGetRenderingStyle(Display* dpy)

where ilRenderingStyle is one of the following enumerations: ilOpenGLRendering or ilXRendering. By default, ilOpenGLRendering is chosen if available. ilXRendering is used primarily for rendering to a remote machine that does not support OpenGL.

You use ilSetRenderingStyle() to request a rendering style explicitly. If ilOpenGLRendering is requested but not supported on the X connection, a status of ilUNSUPPORTED is returned, and ilXRendering is set.

ilGetRenderingStyle() returns the current style.

API Change for ilImgStat

The API was changed for ilImgStat so that it behaves much more like ilImage. For more information, see “Generation of Statistical Data”.