Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
CAN/CSA-ISO/IEC 12087-3-01 is the Canadian adoption of the international standard ISO/IEC 12087-3:2001, which defines the Image Interchange Facility (IIF). This standard forms the third part of the ISO/IEC 12087 series on Image Processing and Interchange (IPI). The IIF provides a formal specification for the interchange of digital images and associated metadata between heterogeneous systems. It establishes a standard set of object types, attributes, and functional interfaces that enable consistent representation, manipulation, and exchange of image data across different platforms and applications.
The IIF is designed to support a wide range of image processing tasks, including but not limited to medical imaging, remote sensing, desktop publishing, and multimedia content creation. By defining a common interchange format and a suite of abstract functions, the standard ensures that images created in one environment can be accurately interpreted and processed in another without loss of semantic information. The scope encompasses both pixel data and associated metadata such as colour models, geometry, and processing history.
The IPI framework is structured into three complementary parts. Part 1 defines the Common Architecture for image processing, Part 2 specifies the Programmer’s Imaging Kernel (PIK) for low-level image operations, and Part 3, the IIF, focuses on the interchange of images. The IIF relies on the abstract data types and interfaces described in Part 1 but is independent of any particular implementation language or platform.
At the core of the IIF is a hierarchy of object types. Each object encapsulates image data or associated metadata. The standard defines mandatory and optional attributes for each type, along with constraints on their values. The following table summarizes the primary IIF object types as defined in the specification.
| Object Type | Description | Mandatory Attributes (examples) |
|---|---|---|
| Image | Represents a complete digital image with pixel data and spatial attributes. | Width, Height, Pixel Type, Data Offset |
| Channel | Contains the actual pixel samples for a single colour component (e.g., red, green, blue). | Bits per Sample, Sample Format, Channel ID |
| Colour Model | Describes the colour encoding used, such as RGB, CMYK, or CIE L*a*b*. | Colour Space Type, White Point, Primary Coordinates |
| Curve | Defines a piecewise linear or other function used for tone mapping or calibration. | Knot Points, Interpolation Method |
| Region of Interest (ROI) | Specifies a rectangular or arbitrary area within an image. | Origin, Extent, Mask (optional) |
| Metadata | Holds arbitrary key-value pairs for application-specific information. | Key (string), Value (any IIF type) |
In addition to object types, the IIF defines a set of functional services, such as IIF_CreateObject, IIF_GetAttribute, and IIF_WriteObject, which provide operations for creating, querying, and serializing objects. These services are language-neutral and can be mapped to C, C++, Java, or other programming languages via standard binding mechanisms.
The standard specifies a number of encoding formats for the interchange files, including a binary encoding for compact storage and a clear-text encoding for human readability. The binary encoding uses a type-length-value scheme that is both efficient and extensible. The text encoding is based on a tagged plain text representation, useful for debugging and documentation.
Implementors should pay careful attention to the IIF object containment hierarchy. The standard mandates that an Image object may contain one or more Channel objects, a Colour Model object, and an optional sequence of Transform or Metadata objects. Adherence to this hierarchy ensures that the data can be correctly interpreted by any conforming IIF implementation.
Another critical aspect is error handling. The IIF specification defines a set of error codes and conditions for invalid or unsupported data. Developers should implement robust validation routines that check for required attributes, appropriate value ranges, and consistency of object references.
For performance‑sensitive applications, the standard’s tiled access mechanism is particularly useful. By decomposing large images into rectangles (tiles), applications can process or stream only the required region without loading the entire image into memory. This technique is essential for handling very high‑resolution imagery (e.g., satellite or medical scans) on resource‑constrained devices.
Conformance to CAN/CSA-ISO/IEC 12087-3-01 is assessed through verification that an implementation supports all mandatory functional services and object types defined in the standard. The conformance criteria are divided into three levels:
Because the standard is an adoption of an international ISO/IEC document, any deviations introduced by the Canadian committee must be clearly identified in an annex. Currently, no national deviations exist for the 2001 edition, but implementors should always verify the latest amendment status with the CSA Group.
© 2026. This article is for informational purposes only. Always consult the latest official standard for authoritative requirements.