ImageVision Library
Programming Guide

Document Number: 007-1387-050

Front Matter

| List of Figures | List of Examples | List of Tables |

Table of Contents

About This Guide
What This Guide Contains
Suggestions for Further Reading
Adding a User Interface to Your ImageVision Library Program
Style Conventions

1. Writing an ImageVision Library Program
A Sample Program in C++
The C Interface
A Sample Program in C

2. The ImageVision Library Foundation
The IL Class Hierarchy
Foundation Classes
Image Attributes
The Cache
Accessing Image Data
The IL Execution Model
Working with Image Chains
Object Properties

3. Accessing External Image Data
Supported IFL Image File Formats
Using IL to Access an Image
Importing and Exporting Image Data

4. Operating on an Image
Image Processing Operators Provided with IL
Defining a Region of Interest

5. Displaying an Image
Overview of the Display Facility
A Simple Interactive Display Program
Creating an ilDisplay
Choosing OpenGL or X Rendering
View and Display Basics
Managing Views
Applying a Display Operator
A More Complicated Interactive Display Program

6. Extending ImageVision Library
Deriving From ilImage
Deriving From ilCacheImg
Deriving From ilMemCacheImg
Implementing an Image Processing Operator
Deriving From ilRoi

7. Optimizing Your Application
Managing Memory Usage
Using Hardware Acceleration
Hardware-Specific Acceleration Restrictions
Hardware Hints

8. The Programming Environment
Compiling and Linking an IL Program
Reading the Reference Pages
Image Tools
Online Source Code
Environment Variables

A. What is New in Version 3.1
keepPrecision() Added to ilOpImg
Multiprocessing on Single CPU Machines Enabled
Additional Image Formats Supported
ELT Performance Enhanced
Choosing OpenGL or X Rendering
API Change for ilImgStat

B. What is New in Version 3.0
Overview of Changes in 3.0
Understanding the New Features
Understanding the Changes to the Existing Features
Backwards Compatibility with IL 2.5
New Derivations for Classes

C. Introduction to C++
Objects and Classes
Public versus Protected versus Private
Passing by Reference
Default Values
Class Declaration Format
Linking with Libraries in Other Languages
Referring to Function Names

D. Summary of All Classes

E. Implementing Your Own Image File Format
Deriving and Implementing Your Image File Format Class
Deriving an Image File Format from iflFormat
Registering an Image File Format

F. Auxiliary Classes, Functions, and Definitions
Auxiliary Classes
Useful Functions
Convenient Structures
Error Codes
Enumerated Types and Constants

G. Using the Electronic Light Table
Understanding How ELT Works
Setting Operator Values
Understanding Accelerated Performance
Choosing a Display in ELT Applications
Creating an ELT Application
Understanding the ilELTImg API

H. Results of Operators
Color Conversion
Arithmetic and Logical Transformations
Geometric Transformations
Spatial Domain Transformations
Edge Detection
Frequency Domain Transformations
Radiometric Transformations
Combining Images