This appendix describes the differences between versions 3.0 and 3.1 of the ImageVision Library.
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”.
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.
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”.
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.”
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.
The API was changed for ilImgStat so that it behaves much more like ilImage. For more information, see “Generation of Statistical Data”.