ISO/IEC 12087-2:1994
(Main)Information technology — Computer graphics and image processing — Image Processing and Interchange (IPI) — Functional specification — Part 2: Programmer's imaging kernel system application programme interface
General Information
- Abstract
Establishes the specification of the application program interface (API), called the Programmer's Imaging Kernel System (PIKS). PIKS is intended to provide a rich set of both low-level and high-level services on image and image-derived data objects. These services can be used as building blocks for a broad range of common imaging applications. Lists are included containing a summary of technological capabilities provided by PIKS and not provided by PIKS. It should be noted that PIKS functionality may be useful as a pre-processor or co-processor for many of the technologies in the "Not provided by PIKS" list.
- Status
- Published
- Publication Date
- 31-Aug-1994
- Current Stage
- 9060 - Close of review
- Completion Date
- 02-Dec-2031
Buy Documents
ISO/IEC 12087-2:1994 - Information technology — Computer graphics and image processing — Image Processing and Interchange (IPI) — Functional specification — Part 2: Programmer's imaging kernel system application programme interface Released:9/1/1994
Overview
ISO/IEC 12087-2:1994 defines the Programmer’s Imaging Kernel System (PIKS) - an application programming interface (API) for image processing within the Image Processing and Interchange (IPI) family. As Part 2 of the IPI functional specification, this standard specifies a portable, implementation-neutral imaging kernel API that provides both low‑level and high‑level services on image and image‑derived data objects. PIKS is designed as reusable building blocks for a broad range of imaging applications and supports implementations from personal computers to hardware accelerators and distributed systems.
Key topics and technical requirements
- PIKS imaging model: formalizes data flow and control flow between applications, the kernel, and the Image Interchange Facility (IIF).
- Data objects: defines image and non‑image objects (image arrays, LUTs, ROI objects, impulse response arrays, color conversion matrices, tuples, virtual registers).
- Operators, tools and utilities: catalogs functional elements (image→image, image→non‑image, non‑image→non‑image) for filtering, resampling, neighborhood processing, histogram and more.
- System mechanisms: specifies resource and execution control such as data object allocation, match point and ROI control, element chaining (chain construction/execution), asynchronous control, and error handling.
- Import/export and interface: describes how PIKS exchanges data with applications and the IIF; includes data type conversion and interchange utilities.
- Profiles and conformance: defines Foundation, Application, and Full profiles and IIF capability profiles to guide implementations and interoperability.
- Annexes and utilities: mathematical definitions, element templates, operator indices, resampling rules, error codes, and lists of elements by profile.
The standard lists capabilities provided by PIKS (e.g., image enhancement, restoration, basic classification, visualization primitives) and capabilities not provided by PIKS (e.g., image acquisition, compression/decompression, device control, window systems), noting that PIKS can serve as a pre‑processor or co‑processor for those technologies.
Applications and practical value
PIKS is intended for:
- Imaging library developers building a standards‑based API for image processing.
- Software engineers creating portable imaging applications (medical imaging, remote sensing, industrial inspection, scientific visualization).
- Hardware vendors implementing accelerated imaging kernels on DSPs, GPUs, or dedicated ASICs.
- Integrators needing predictable interfaces for image manipulation, ROI management, resampling, and color conversion.
Using ISO/IEC 12087-2 helps improve portability, interoperability, and reuse of image processing components across platforms and products.
Related standards
- ISO/IEC 12087-1: Common Architecture for Imaging (IPI)
- ISO/IEC 12087-3: Image Interchange Facility (IIF)
Keywords: ISO/IEC 12087-2, PIKS, image processing API, imaging kernel, IPI, Image Interchange Facility, image data objects, ROI, resampling, color conversion, image operators.
Buy Documents
ISO/IEC 12087-2:1994 - Information technology — Computer graphics and image processing — Image Processing and Interchange (IPI) — Functional specification — Part 2: Programmer's imaging kernel system application programme interface Released:9/1/1994
Get Certified
Connect with accredited certification bodies for this standard

BSI Group
BSI (British Standards Institution) is the business standards company that helps organizations make excellence a habit.

NYCE
Mexican standards and certification body.
Sponsored listings
Frequently Asked Questions
ISO/IEC 12087-2:1994 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology — Computer graphics and image processing — Image Processing and Interchange (IPI) — Functional specification — Part 2: Programmer's imaging kernel system application programme interface". This standard covers: Establishes the specification of the application program interface (API), called the Programmer's Imaging Kernel System (PIKS). PIKS is intended to provide a rich set of both low-level and high-level services on image and image-derived data objects. These services can be used as building blocks for a broad range of common imaging applications. Lists are included containing a summary of technological capabilities provided by PIKS and not provided by PIKS. It should be noted that PIKS functionality may be useful as a pre-processor or co-processor for many of the technologies in the "Not provided by PIKS" list.
Establishes the specification of the application program interface (API), called the Programmer's Imaging Kernel System (PIKS). PIKS is intended to provide a rich set of both low-level and high-level services on image and image-derived data objects. These services can be used as building blocks for a broad range of common imaging applications. Lists are included containing a summary of technological capabilities provided by PIKS and not provided by PIKS. It should be noted that PIKS functionality may be useful as a pre-processor or co-processor for many of the technologies in the "Not provided by PIKS" list.
ISO/IEC 12087-2:1994 is classified under the following ICS (International Classification for Standards) categories: 35.140 - Computer graphics. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO/IEC 12087-2:1994 is available in PDF format for immediate download after purchase. The document can be added to your cart and obtained through the secure checkout process. Digital delivery ensures instant access to the complete standard document.
Standards Content (Sample)
INTERNATIONAL
ISO/IEC
STANDARD
12087-2
First edition
1994-08-o 1
Information technology - Computer
graphics and image processing - Image
Processing and Interchange (IPI) -
-
Functional specification
Part 2:
Programmer’s imaging kernel system
application program interface
Technologies de Yin formation - Infographie et traitement de /‘image -
Traitement de /‘image et 6change (IPI) - Spbcification fonctionnelle -
Partie 2: Interface de programme d’application P/KS
Reference number
&O/l EC 12087-2: 1994(E)
ISO/IEC 12087-2: 1994(E)
Contents
. . .
Vlll
Foreword
1 scope
2 Normative references
3 Symbols and abbreviations
4 Programmer’s Imaging Kernel System specification
4.1 PIKS imaging model
4.1.1 Image data objects
4.1.2 Non-image data objects
4.1.3 Data object creation
4.2 PIKS operators, tools, data object repository utilities, and system mechanisms
4.2.1 Operators
4.2.2 Tools
4.2.3 Data object repository
4.2.3.1 Impulse response function arrays 17
4.2.3.2 Dither arrays
4.2.3.3 Colour conversion matrices 17
4.2.4 Utilities
4.2.5 System mechanisms 18
0 ISO/IEC 1994
All rights reserved. LJnless otherwise specified, no part of this publication may be
reproduced or utilized in any form or by any means, electronic or mechanical, including
photocopying and microfilm, without permission in writing from the publisher.
ISO/IEC Copyright Office l Case postale 56 l CH- 12 11 Geneve 20 l Switzerland
Printed in Switzerland
ii
ISO/IEC 1208%2:1994(E)
0 ISO/IEC
Contents
4.3 PIKS operator model
4.3.1 Non-image to non-image operators
4.3.2 Image to non-image operators
4.3.3 Image to image operators
4.3.4 Neighbourhood operators
4.3.5 Operator index assignment
4.4 PIKS system mechanisms
4.4.1 Data object allocation
4.4.2 Match point control
4.4.3 kOI control
4.4.4 ROI data object creation and manipulation
4.4.5 Asynchronous control
4.4.6 Element chaining
4.4.6.1 Chain construction
.
4.4.6.2 Chain execution
4.4.7 Vial register control
4.4.7.1 Virtual registers for storage of PIKS temporary variables
4.4.7.2 Virtual registers for asynchronous control
4.4.7.3 Virtual registers for chain iteration and conditional execution
4.4.7.4 Virtual registers for auditing asynchronous state
4.4.8 Global element control
4.4.9 Composite image management
4.4.9.1 Composite image identifkr arrays
4.4.9.2. Composite image identifier lists
4.4.9.3 Composite image identifier records
4.4.10 PIKS error handling
4.4.11 PIKS operational states
4.5 PIKS utilities
4.5.1 Inquiry
4.5.2 Import and export
4.5.2.1 Data object import and export utilities
4.5.2.2 PIKS to application data type conversion
. . .
0 ISO/IEC
ISO/IEC 12087-2: 1994(E)
Contents
and extension methods
5 PKSconfornI
51 . 1 Foundation profile
52 . Application profiles
53 . Full profile
54 . IIF capability profiles
. PIKS profile definitions
Extension methods
56 .
6 PIKS element specification template
7 PIKS element specifications
iv
ISO/IEC 12087=2:1994(E)
0 ISO/IEC
Contents
Annexes:
A Definitions of mathematical functions
A.1 Conventional mathematical symbols
A.2 Operational symbols
A.3 Mathematical titions
B PIKS element support - source image structure
C PIKS element support - destination image structure
D PIKS element support - source and destination image data type
E PIKS operator support - operator order
F PIKS element functionality
G PIKS data object repository
G-1 Impulse response function arrays
G.2 Dither arrays
G.3 Colour conversion matrices
H PIKS image resampling
J PIKS emor codes
K Bibliography of image processing books
L Alphabetical listings of PIKS elements by profile
L.l Alphabetical listing of PIKS elements in the Foundation profile
L.2 Alphabetical listing of PIKS elements in the Technical profile
L.3 Alphabetical listing of PIKS elements in the Scientific profile 938
L.4 Alphabetical listing of PIKS elements in the Full profile
0 ISO/IEC
ISO/IEC 12087-2: 1994(E)
List of figures
List of figures
1 PIKS imaging model
PIKS operator model: non-image to non-image operators 30
3 PIKS operator model: image to non-image operators
4 PIKS operator model: image to image operators
5 Operator index assignment
6 Example of match point translation fos image subtraction
Examples of ROI operation
8 Example of the relationship between a ROI and an image
Examples of PIKS element chains
10 PIKS operational state diagram
11 PIKS interface to the IIF gateway and an application
12 PIES to application interface
ISO/IEC 12087=2:1994(E)
0 ISO/IEC
List of tables
List of tables
PIKS image objects
2 PIKS operators listed by functional class
3 PIKS tools listed by functional class
4 PIKS utilities listed by functional class
PIKS system mechanisms listed by fi~~tional class 28
6 PIKS data type codes
7 External physical data types supported by PIKS
Data types of PIKS non-image data objects supported in the Foundation profile 62
PIKS conformance profles 63
10 Number d qxxators, tools, utilities, mechanisms, and total elements in each profile
11 PIKS elements in each profile
Vii
ISO/IEC 12087-2: 1994(E)
0 ISO/IEC
Foreword
IS0 (the International Organization for Standardization) and IEC (the Inter-
national Electrotechnical Commission) form the specialized system for worldwide
standardization. National bodies that are members of IS0 or IEC participate in the
development of International Standards through technical committees established
by the respective organization to deal with particular fields of technical activity.
IS0 and IEC technical committees collaborate in fields of mutual interest. Other
international organizations, governmental and non-governmental, in liaison with
IS0 and IEC, also take part in the work.
In the field of information technology, IS0 and IEC have established a joint
technical committee, ISO/IEC JTC 1. Draft International Standards adopted by the
joint technical committee are circulated to national bodies for voting. Publication
as an International Standard requires approval by at least 75 % of the national
bodies casting a vote.
International Standard ISO/IEC 12087-2 was prepared by Joint Technical
Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 24,
Computer graphics and image processing.
ISO/IEC 12087 consists of the following parts, under the general title Information
technology - Computer graphics and image processing - Image processing and
interchange (IPI) - Functional specification:
- Part 1: Common architecture for imaging
- Part 2: Programmer’s imaging kernel system application program
interface
- Part 3: Image Interchange Facility
Annexes A, G, H and J form an integral part of this part of ISO/IEC 12087.
Annexes B, C, D, E, F, IS and L are for information only.
. . .
Vlll
ISO/IEC 12087=2:1994(E)
INTERNATIONAL STANDARD 0 ISO/IEC
Information technology -
Computer graphics and
image processing -
Image Processing and Interchange
(IPI) - Functional specification -
Part 2:
Programmer’s imaging kernel system application -program
interface
1 Scope
This part of ISO/IEC 12087 establishes the specification of the application program interface (API),
called the Programmer’s Imaging Kernel System (PIKS). ISO/IEC 120874 establishes the conceptual
and architectural definitions of the Common Architecture for Imaging (WI). ISO/IEC 12087-3
establishes the specification of the Image Interchange Facility (IIF).
PIKS is intended to provide a rich set of both low-level and high-level services on image and image-
derived data objects. These services can be used as building blocks for a broad range of common
imaging applications.
A conscious effort has been made by the developers of PIKS to create a standard that does not favor any
Implementations of PIKS should be possible on computing systems
particular computing system.
ranging in architecture from general purpose computers to specialised hardware accelerators, ranging in
size from personal computers to mainframe supercomputers, and ranging in connectivity from stand-
alone machines to distributed computing networks.
Where applicable, PIKS relies on other APIs and data format standards to provide capabilities that are
not unique to imaging. The following lists contain a summary of technological capabilites provided by
PIKS and not provided by PIKS. However, it should be noted that PIKS functionality may be useful as
a pre-processor or coprocessor for many of the technologies in the “Not provided by PIKS” list.
ISO/IEC 12087-2: 1994(E) 0 ISO/IEC
Scope
Provided by PIKS
analysis
image
image classikation (basic)
image enhancement
image interchange between PIKS and an application
image interchange between PIKS and the IIF
manipulation primitives
image
image processing data object generation tools (e.g., image filter functions)
image restoration
image visualization (basic)
standard colour models
Not provided by PIKS
audio
computer graphics
device control
image acquisition
image communication
image compression and decompression
image display
image transport between applications
image understanding
multimedia
pattern recognition
specific implementations
video
window systems
NOTE - The Image Interchange Facility of ISO/IEC 12087-3 specifies image compression and decompression functionality and
image transport between applications and between an application and PIKS.
0 ISO/IEC ISO/IEC 12087-2: 1994(E)
Normative references
2 Normative references
The following standards contain provisions which, through references in this text, constitute provisions
of this part of the ISO/IEC 12087. At the time of publication, the editions indicated were valid. All
standards are subject to revision, and parties to agreements based on this part of ISO/IEC 12087 are
encouraged to investigate the possibility of applying the most recent standards indicated below.
Members of IEC and IS0 maintain registers of currently valid In&national Standards.
ISO/IEC 12087- 1:--l), Information technology - Computer graphics and image processing - Image
Processing and Interchange (IPI) - Functional specification - Part I: Common Architecture for
Imaging.
Computer graphics and image processing - Image
ISOIIEC 12087-3:-l), Information technology -
- Part 3: Image Interchange Facility.
Processing and Interchange (IPI) - Functional specification
1) to be published.
ISO/IEC 12087-2: 1994(E)
0 ISO/IEC
Normative references
This page intentionally blank.
0 ISO/IEC
Symbols and abbreviations
3 Symbols and abbreviations
The following are symbols and abbreviations utilized in this standard. The mathematical functions are
defined in Annex A.
zero-dimensional
OD
one-dimensional
1D
2D two-dimensional
three-dimensional
3D
fourdimensional
4D
five-dimensional
5D
ACOS arccosinefunctian
logical AND operator
Application Program Interface
API
ASIN arc sine fiulction
index assignment function between image and operator input indices
ASSIGN
ASN.l abstract syntax notation one
AIAN arc tangent fbnction
arc tangent ratio function
ATAN
b spectral band index of an image
B image spectral band size
BD Boolean data type (PIKS internal)
BER basic encoding rules
BI external Boolean pixel data type
BITEXI-
bit extraction fimction
BITINS bit insertion function
BP Boolean data type (PIKS parameter)
CAI Common Architecture for Imaging
CAS Hartley cas function
CCIR
Comite Consultatif International des Radiocommunications
CD complex arithmetic data type (PIKS internal)
cl! external complex floating point pixel data type
chain data object
CHOICE choice function
0 ISO/IEC
ISO/IEC 12087-2: 1994(E)
Symbols and abbreviations
Commission Intemationale de 1’IWiirage
colour image
COLR
CONJ complex conjugate function
cos cosine function
CP complex arithmetic data type (PIKS parameter)
cs character string data type
D single operator output image
DE-I- determinant of matrix argument
DOB destination non-image object
q-th operator output image, 1
sqsQ
Ds
DST single destination image
DSTq q-th destination image, 11 q s Q
EBU European Broadcasting Union
El? enumerated parameter
Gaussian error function
exponential htion
external data type
GEN generic image
HIST histogram data object
i squarerootofminusone,i=+l
ID data object identifier (PIKS internal)
IDARRAY composite image identifier array
-
ID-LI!3T composite image identifier list
IDJtEcoRD composite imageidentifier record
IEC International Electrotechnical Commissian
Institute Electrical and Electronic Engineers
IIF Image Interchange Facility
IMAG imaginary part of complex number argument function
in input parameter
IP
data object identifier (PIKS parameter)
IPI Image Processing and Interchange
IS0 International Organisation far Standardisation
ISOAEC 12087=2:1994(E)
0 ISOAEC
Symbols and abbreviations
first operator index
j
first operator index size
J
k second operator index
K second operator index size
third operator index
L third operator index size
lowest integer value of argument function
LIV
LOG base e natural logarithm function
lookup table function
LOOK
lookup table data object
LUT
fourth operator index
m
fourth operator index size
M
matrix data object
maximum of argument sequence function
minimum of argument sequence function
MOD modulus function
MON monochrome image
fifth operator index
n
N fZth operator index size
not applicable
NA
NAND logical NAND operator
NBHOOD_ARRAY neighbourhood array data object
ND non-negative integer data type (PJKS internal)
NI external non-negative integer pixel data type
nearest integer value of argument function
NOR logical NOR operator
NOT logical NOT operator
NP non-negative integer data type (PIKS parameter)
NTSC National Television Systems Committee
null data type
OR logical OR operator
output parameter
0 ISO/IEC
ISO/IEC 12087-2: 1994(E)
Symbols and abbreviations
PIKS Programmer’s Imaging Kernel System
PIXEL RECORD pixel record data object ’
-
POW power law function of two arguments
RD real arithmetic data type (PIKS internal)
real part of complex number argument function
REASSIGN index reassignment function between operator output aud image indices
RESl one-dimensional resampling fuuction
REs2 two-dimensional resampling function
three-dimensional resampling function
REs3
RE!s4 four4imensional resampling function
five-dimensional resampling function
RESS
RF external real floating point pixel data type
ROI Region-of-h&rest
ROI ARRAY array Region-of-Interest data object
-
coordinate collection Region-of-Interest data object
ROI COORD
-
ROI ELLIP elliptical Region-of-Interest data object
-
generic Region-of-Interest data object
ROI GEN
-
ROI POLY polygon Region-of-Interest data object
-
rectangular Region-of-Interest data object
ROI - RECT
ROID Region-of-interest of destination image
Region-of-interest of q-th destination image, 1 s q 2 Q
ROIDq
ROIS Region-of-interest of source image
ROISp Region-of-interest of p-th source image, 1 s p s P
RP
real arithmetic data type (PIKS parameter)
S single operator input image
SD signed integer data type (PIKS internal)
SI signed integer number
sine function
SIN
SMPTE Society of Motion Picture and Television Eugiueers
source non-image object
SOB
SORT sort function
p-th operator input image, 1 2 p s P
SP
ISOAEC 12087=2:1994(E)
0 ISO/IEC
Symbols and abbreviations
SP signed integer data type (PIKS parameter)
spectral image
SPE
SRC single sourm image
p-thsourceimage, 1splP
SRCp
STWICJWRAY static array data object
t temporal index of an image
T image temporal size
tangent function
TAN
temporal image
TC temporal-color image _
TI two’s complement fixed point integer number
TS temporal-spectral image
tuple data object
TUPLE
VALUE BOUNDS value bounds collection data object
-
VOL volume image
VC volume-colour image
VREG virtual register data object
vs volume-spectral
VT volume4emporal image
VTC volume4emporaLcolour image
VTS volume-temporal-spectral image
X horizontal index (along rows) of an image
X image horizontal size (image width)
XOR exclusive OR operator
vertical index (along columns) of an image
Y
Y image vertical size (image height)
Z depth index of an image
z
image depth size
n
boolean intersection symbol
U
boolean union symbol
.
n overbar indicates complement of boolean argument
. vertical lines indicate magnitude of arithmetic vent
I[ II
ISO/IEC 12087-2: 1994(E)
0 ISO/IEC
Symbols and abbreviations
T
.
Cl superscript T indicates matrix transpose
+
plus or positive symbol
minus or negative symbol
x
multiply symbol
I arithmetic divide symbol
A
.
integer divide symbol
a3 logical AND symbol
logical OR symbol
@
logical XOR symbol
@ convolution symbol
El
morphological dilation symbol
El
morphological erosion symbol
sequence summation symbol
c
II
sequence product symbol
M
sequence maxima symbol
N
minima symbol
=l=J=
u
sequae union symbol
n
fseqmme intersection symbol
0 ISO/IEC ISO/IEC 12087-2: 1994(E)
PIKS specification
4 Programmer’s Imaging Kernel System specification
This clause establishes the specification of the Programmer’s Imaging Kernel System (PIKS) application
program interface.
4.1 PIKS imaging model
Figure 1 describes the PIKS imaging model. The solid lines indicate data flow and the dashed lines
indicate control flow. The PIKS application program interface consists of four major parts:
l data objects
operators, tools, and utilities
l
system mechanisms
import and export
The PIKS data objects are specified in ISO/IEC 120874. They include both image and non-image data
objects. The operators, tools, and utilities are functional elements that are used to process images or
data objects extracted from images. The system mechanisms manage and control the processing. PIKS
receives information from the application to invoke its system mechanisms, operators, tools, and
utilities, and returns certain status and error information to the application. The import and export
facility provides the means of accepting images and image-related data objects from an application, and
for returning processed images and image-related data objects to the application. PIKS can transmit its
internal data objects to an external facility through the Image Interchange Facility (IIF) specified in
ISO/IEC 12087-3. Also, PIKS can receive data objects in its internal format, which have been supplied
by the IIF. PIKS can operate independently of the IIF.
Fig& 1 - PIKS imaging model
0 ISO/IEC
ISO/IEC 12087-2: 1994(E)
PIKS specification
4.1.1 Image data objects
ISO/IEC 120874 describes the image data objects supported by PIKS. This subclause summakes this
information and establishes notation used in this part of ISO/IEC 12087.
As specified in ISQ/IEC 120874, PKS supports a general five-dimensional image object with ordered
.
iIld.i~S
O~X~X-1
OsysY-1
OSZ5.Z~1
Ost ST-1
OsblB-1
where x is the horizontal index, y is the vertical index, z is the depth index, t is the time index, and b is
the band index. The characters X, Y, Z, T, B represent the maximum sizes of the image coordinates x,
y, z, t, b, respectively.
NOTE - Some of the image dimensions may be unpopulated, e.g., for a monochrome image, 2 = 1, T = 1 and B = 1.
A two-dimensional pixel array involving only two indices is called a pixel plane. A pixel plane
involving the x-y indices is called a x-y pixel plane. Conceptually, a five-dimensional image object can
be considered to be organized as a set of depth, time, and band x-y pixel planes.
NOTE - PIKS operators are able to access and process arbitrary pixel planes.
In this part of ISO/IEC 12087, a single source image is expressed notationally as a five-dimensional
=aY
SRCk y, z, t, b)
and the p-th source image in a set of P images is expressed notationally as
SRCpb, y, z. t, b)
where 1 1. p s P.
NOTE - In general, source images can be of different sizes.
In this part of ISO/IEC 12087, a single destination image is expressed notationally as a five-dimensional
=aY
DST(x, y, z, t, b)
and the q-th destination image in a set of Q images is expressed notationally as
DSTqk yv z, t, b)
where 1 s q s Q.
NOTE - In general, source and destination images can be of different sizes. However, some PIKS operators require that source
e.g., the Fourier transform operator.
and destination images be of the same size,
PKS gives semantic meaning to certain dimensional subsets of a general five-dimensional image object.
These are listed in Table 1. Definitions of these image objects are presented in ISO/lEC 12087-l.
0 ISO/IEC ISO/IEC 12087-2:1994(E)
PIKS specification
Table 1 - PIKS image objects
image indices code
Semantic description
monochrome MON
x, y. a 0.0
volume
temporal
COLR
I I
volume-temporal
volume-colour
x, y, z, 0, b
volumeapectfal
x, y. z, 0, b
temporal-colour TC
x, y, 0, t, b
I
temporal-spectral TS
x, y, 0, t, b
I
volume-temporal-colour
K y, z, t, b
volume4emporakpectral
x, y, z, t, b
generic
x, y, z, t, b
NOTE - The generic category represents images whose indices do not have any semantic meaning. For notational consistency, the
generic image uses the same index notation as the semantic categories.
As specifkd in ISO/IEC 120874, PIE supports the following abstract data types for the internal
representation of image pixels.
code Data
BD
Boolean
ND non-negative integer
SD
signed integer
RD real arithmetic
CD complex arithmetic
All image pixels accessed by the x, y, z, t indices shall be of the same pixel data type. The pixel data
type may differ between bands. An image whose pixels are of different data types across bands is called
a heterogeneous band image.
ISO/IEC 12087-2: 1994(E) 0 ISO/IEC
PIKS specification
A PIKS implementation shall be free to provide any form of physical representation of the image pixel
data types provided that the physical representation satisfies the abstract data type definitions, as
specified in ISO/IEC 12087-l. The minimum levels of storage precision for the ND, SD, RD, and CD
pixel types shall be
ND 8 bits per pixel
SD 16 bits per pixel
RD
32 bits per pixel
CD 32 bits per real component and per imaginary component per pixel
4.1.2 Non-image data objects
ISO/IEC 12087-l describes the non-image data objects supported by PIKS. This subclause summa&es
this information and establishes notation used in ISO/IEC 12087-2.
PIKS supports the following internal, non-image data objects, which are defined in ISO/IEC 12087-l:
Chain
HIST hiStOgWl
IDARRAY composite identifier array
ID-LIST composite identifier list
&RECORD composite identifier record
LUT lookup table
matrix
NBHOODJUUWY neighbourhood array
PIXEZ RECORD pixel record
ROI&RAY region-of-interest, array
ROI_cooRD region-of-interest, coordinate collection
ROIJLLIP region-of&erest, elliptical
ROI-GEN region-of-interest, generic
ROI-POLY region-of-interest, polygon
ROI RECT region-of-interest, rectangular
ST&C_ARRAY static array
TUPLE
tuPle
VALUE~BOUNDS value bounds collection
virtual register
Non-image data objects that are created by PIKS elements and returned directly to an application are not
regarded as PIKS mn-image data objects. The data structures of directly-returned non-image data
objects are defined by the elements providing the return. Collectively, such data objects are called
external data objects, and are referenced by the code EXT.
In this part of ISO/IEC 12087, a single source non-image data object is expressed notationally as SOB,
and the p-th source non-image data object in a set of P objects is expressed as SOBp where 1 s p < P. In
this standard, single destination non-image data object is expressed notationally as DOB, and the q-th
destination non-image data object in a set of Q objects is expressed as DOBq where 1 s q s Q.
ISO/IEC 12087=2:1994(E)
0 ISO/IEC
PIKS specification
4.1.3 Data object creation
PIKS source and destination data objects that are referenced by an operator, tool, or utility shall be
allocated by a system management allocation mechanism, as described in 4.4, prior to the invocation of
an operator, tool, or utility. There are three classes of allocated data objects:
Class A - identified with object attributes and data;
Class B - identified with object attributes only;
Class C - identifkd only
When an image is allocated, an identifier is assigned to the image data object by the PIE
implementation. The image allocation mechanism allows an application to specify certain image
attributes, such as size, structure, and colour space, upon allocation, or to leave the attributes
unspecified. When a class C data object is specified as a destination, many of the PIKS operators, tools,
and utilities will supply the “missing” data object attributes.
object at the time that the data object is
NOTE - A PIKS implementation may reserve data storage for a Class B data allocated, or
the implementation may defer data storage reservation until the time that the data for a data object is first available.
4.2 PIKS operators, tools, data object repository, utilities, and system mechanisms
This subclause establishes the general specification of the PIKS operators, tools, object
repository,
utilities, and system mechanisms.
4.2.1 Operators
PIKS operators are functional elements that perform manipulations of images or of data objects
extracted from images in order to enhance images, restore images, or to assist in the extraction of
information from images. Operators can be classified as being primitive or high-level operators.
Primitive operators are a small set of low-level operators, fundamental to image processing, which can
be used to implement high-level operators. Examples are image convolution and image histogram
generation. High-level operators are operators of greater complexity. Examples are adaptive histogram
equalization and Hough transform.
NOTE - There is no requirement in the PIKS specification that high-level operators shall be constructed from primitive operators.
Another form of operator classification is by functionality, e.g., operators that perform geometric
manipulations such as rotate or operators that detect image edges. Table 2 contains a list of the PIKS
operators arranged by functionality class. These operators are specified in clause 7.
Still another form of operator classification, as listed below, is by the types of source and destination
objects supported by an operator.
Destination
zisE!m
non-image non-image
image non-image
image image
NOTE - PIKS does not provide any non-image to image operators. PIKS does provide several image generation tools.
Table 2 indicates
the type of source and destination objects by each fLUlCtiOIUl class of
supported
operators.
0 ISO/IEC
ISO/IEC 12087-2: 1994(E)
PIKS specification
PIKS operators that have an image as a source data object can also be classified by their neighbourhood
tmcessing dimensionality as defined below.
*
OD A zero-dimensional operator is one that operates on each pixel of a source image independently
of its neighbouring pixels. An example is taking the logarithm of a spectral image.
1D A one-dimensional operator is one that operates on a group of pixels along one dimension of an
image. An example is a one-dimensional moving window average along the rows of a
monochrome image. Another example is a one-dimensional Fourier transform along the columns
of a monochrome image.
2D A twodimensional operator is one that operates on a group of pixels along two dimensions of an
image. An example is erosion of a monochrome image with a twodimensional morphological
structuring element.
3D A threedimensional operator is one that operates on a group of pixels along three dimensions of
an image. An example is convolution of a volume image with a three-dimensional impulse
response function array.
4D A four-dimensional operator is one that operates on a group of pixels along four dimensions of an
image. An example is computation of the four-dimensional Fourier transform of a volume-
temporal image.
A five-dimensional operator is one that operates on a group of pixels along five dimensions of an
5D
image. An example is computation of the extrema pixels of a five-dimensional image.
NOTES
1 - By this form of operator classification, the neighbourhood need not be compact. Also, the neighbourhood may contain all of
the pixels along an image dimension.
2 - In subsequent clauses, an *‘rD” operator is called an operator of order r. The words “dimensional” and “dimension” are
reserved, whenever possible, for image descriptors.
Annexes B to F contain alphabetical listings of PIKS elements with indications of the supported image
structure, image data type, operator order, and element functionality.
4.2.2 Tools
PIKS tools are elements that create data objects to be used by PIKS operators. Examples are the
generation of test images, the creation of impulse response function arrays, and the generation of
Region-of-Interest objects.
Table 3 contains a list of PIKS tools. The PIKS tools are specifkd in clause 7.
4.2.3 Data object repository
Many data objects are routinely used by operators. An example is the set of Sobel edge detection
horizontal and vertical edge gradient impulse response function arrays. PIKS provides a repository of
commonly used data objects. Annex G contains a specification of the PIKS data object repository.
The data object repository contains three types of data:
impulse response function arrays
dither arrays
colour conversion matrices
ISO/IEC 12087=2:1994(E)
0 ISO/IEC
PIKS specification
4.2.3.1 Impulse response function arrays
Impulse response function arrays in the data object repository are commonly-used instant&ions of two-
dimensional neighbourhood array data objects. In the repository, each array is specified according to the
following general form:
. .H(C- 1, 0)
‘HW) H(L 0)
.
.
-
. .H(C- 1, r)
H (0, r) HU, f)
S
I
.
. .H(C- l,R- 1) ]
H(~,R-1) H(l,R-1)
where S is a scale factor.
NOTES
- The impulse response function arrays am specified with signed integer scale factors and signed integer atray terms. The
physical storage data format is implementation dependent.
2 - The impulse response array indexing is the same as the indexing of a two-dimensional image array.
4.2.3.2 Dither arrays
Dither arrays in the data object repository are commonly-used instant&ions of two-dimensional
neighbourhood apray data objects. In the repository, each dither array is specifkd according to the same
general form as an impulse response function array.
4.2.3.3 Colour conversion matrices
Colour conversion matrices in the data object repository are commonly-used instantiations of matrix
data objects. In the repository, each 3x3 matrix is specified according to the following general form:
w, 0 w, 2) w, 3j
T (291) T(2,2) w&3)
T(3, 0 T(W) T(W)
i m
All colour conversion matrices are specified for the transformation of an input column vector to an
output column vector.
NOTES
1 - ISO/IEC 12087-1 defines the &our spaces and associated chromaticity coordinates and white points used to generate each
colour conversion matrix.
2 - In order to minimize quantization error in colour component conversion, the colour conversion matrices are specified in terms
of six decimal digits of precision, even though the original definitions specify fewer digits of precision.
3 - The colour conversion matrix names specify the proper input and output colour spaces for colour component conversion.
ISO/IEC 12087-2: 1994(E) 0 ISO/IEC
PIKS specification
4.2.4 Utilities
PIKS utilities are elements that perform basic mechanical image manipulation tasks such as extracting a
pixel f&n an image and composing a volumetric image from a set of monochromatic images. Table 4
contains a list of PIKS utilities. These utilities are specifkd in clause 7.
4.2.5 System mechanisms
PIECS system mechanisms are elements that perform control and management tasks such as allocating
data storage references for PIKS data objects, opening and closing PIKS sessions, error handling, and
element chaining. Table 5 contains a list of PIKS mechanisms.
ISO/IEC 12087=2:1994(E)
0 ISO/IEC
PIKS specification
Table 2 - PIKS operators listed by functional class
ANALYSIS OPERATORS
Class of image to non-image operators that extract numerical information from an image.
accumulator
difference measures
extrema
histogram, one-dimensional
histogram, two-dimensional
Hough transform
line profile
moments
value bounds
CLASSIFICATION OPERATORS
Class of image to image operators that classifies each pixel of a multispectral image into one of a
specified number of classes based upon the amplitudes of pixels across image bands.
classifier, Bayes
classifier, nearest neighbour
COLOUR OPERAIORS
Class of image to image operators that convert a colour image from one colour space to another.
colour conversion, linear
colour conversion, nonlinear
colour conversion, subtractive
colour lookup, interpolated
luminance generation
COMPLEX IMAGE OPERATORS
Class of image to image operators that perform basic manipulations of images in real and imaginary or
magnitude and phase form.
complex composition
complex conjugate
complex decomposition
complex magnitude
CORRELATION OPERATORS
Class of image to non-image operators that compute a correlation array of a pair of images.
cross-correlation
template match
0 ISO/IEC
ISO/IEC 12087-2: 1994(E)
PIKS specification
Table 2 - PIKS operators listed by functional class (coaztimed)
EDGE DETECIYION OPERATORS
Class of image to image operators that detect the edge boundary of objects within an image.
edge detection, orthogonal gradient
edge detection, second derivative
edge detection, template gradient
ENHANCEMENT OPERM.ORS
Glass of image to image operators that improve the visual appearance of an image or that convert an image
to a form better suited for analysis by a human or a machine.
adaptive histogram equalization
false colour
histogram modifkation
outlier removal
pseudocolour
unsharpmask
Wallis statistical difkrencing
ENSEMBLE OPERATORS
Class of image to image operators that perform arithmetic (add, subtract, multiply), extremal (maximum,
minimum), and logical (and, or) combination of a pair of images.
alpha blend, constant
alpha blend, variable
dyadic, arithmetic
dyadic, complex
dyadic, logical
dyadic, predicate
split image
Z merge
F’EWURE EX’IRACIlON OPERATORS
Class of image to image operators that compute a set of image features at each pixel of an image.
label objects
Laws texture features
window statistics
FIL’TEZRING OPERATORS
Class of image to image operators that perform neighbourhood combinations of pixels directly or by
Fourier transform domain processing.
convolve, five-dimensional
convolve, two-dimensional
filtering, homomorphic
filtering, linear
0 ISO/IEC
PIKS specification
Table 2 - PIKS operators listed by functional class (continued)
I?ILlTERING OPERAI’ORS (continued)
filtering, median
filtering, pseudomedian
filtering, rank or&r
GEOMETRIC OPERATORS
Class of image to image operators that perform geometric manipulations such as minification,
magnification, rotation, and rubber sheet warping.
Cartesian to polar
flip, spin, transpose
polar to Cartesian
resale
resize
rotate
subsample
translate
warp, control point
warp, lookup table
warp, polynomial
ZCXMIl
HISTOGRAM SHAPE OPERATORS
Class of non-image to non-image operators that generate shape measurements of a pixel amplitude
histogram of an image.
histogram shape, one-dimensional
histogram shape, two-dimensional
MORPHOLOGICAL OPERATORS
Class of image to image operators that perform morphological operations such as erosion, dilation, and
skeletonization on boolean and grey scale images.
erosion or dilation, Boolean
erosion or dilation, grey
fill region
hit or miss transformation
morphic processor
morphology
neighbour count
open and close
PIXEL, MODIFWUION OPERATORS
Class of image to image operators that modify an image by pixel drawing or painting.
draw pixels
paint pixels
0 ISO/IEC
ISO/IEC 12087-2: 1994(E)
PIKS specification
Table 2 - PIKS operators listed by functional class (continued)
POINT OPERATORS
Class of image to image operators that perform point manipulation such as magnitude, logarithm, and
threshold on a pixel-by-pixel basis.
bit shift
complement
error function scaling
gammacorrection
histogramscaling
level slice
lookup
lookup, interpolated
monadic, arithmetic
monadic, complex
monadic, logical
noise combination
power law scaling
rubber band scaling
threshold
unary, integer
ulI1LIIIy, Ial
window-level
PRFCENTATTON OPERATORS
Class of image to image operators that prepare an image for display.
cliese
dither
SHAPE OPlZRAZORS
Class of image tonon-image operators that label objects and perform measurements of the shape of objects
within an image.
perimeter code generatar
shape metrics
spatial maments, invariant
spatial maments, scaled
UNITARY TRANSFORM OPERAXORS
Class of image to image operators that perform multidimensional forward and inverse unitary transforms
of an image.
transfom, cosine
trainshrm,Ftier
trandorm, Hadamard
transform, Hartley
0 ISO/IEC
PIKS specification
Table 2 - PIKS operators listed by functional class (concluded)
3D SPECIFIC OPERATORS
Class af image to image operators that perform manipulations of three-dimensional image data.
sequence average
sequence Karhunen-Loeve transform
sequence running measures
3D slice
ISO/IEC 12087-2: 1994(E)
0 ISO/IEC
PM3 specification
Table 3 - PIKS tools listed by functional class
IMAGE GENEMTION
Class of tools that create test images.
image, bar chart
image, constant
image, Gaussian image
image, grey scale image
image, random number image
IMPULSE RE!PONSE FUNCHON ARRAY GENERATION
Class of tools that create impulse response function neighborhood array data objects.
impulse, boxcar
impulse, derivative of Gaussian
impulse, difference of Gaussians
impulse, elliptical
impulse, Gaussian
impulse, Laplacian of Gaussian
impulse, pyramid
impulse, rectangular
impulse, sine function
LOOKUE’TABLEGENEWUION
Class of tools that create entries of a lookup table data object.
array to LUT
MAIRIXG-ON
Class of tools that create matrix data
objects.
colour conversion matrix
ISO/IEC 12087=2:1994(E)
0 ISO/IEC
PIKS specification
Table 3 - PIKS tools listed by functional class (concluded)
REGION-OF- INTEREST GENEWEION
Class of tools that create region-of-interest data objects frclan a mathematical description of the region-6
interest.
ROI, coordinate
ROI, elliptical
RW plygm
ROI, rectangular
STAXIC ARRAY GENERALZlON
Class of tools that create filter tram&r fimction, power spectrum, and windowing titian static array data
objects.
filter, Butterworth
filter, Gaussian
filter, inverse
filter, matched
filter, Wiener
filter, zonal
Markov process power spectrum
windowing fimction
ISO/IEC 12087-2: 1994(E) 0 ISO/IEC
PIKS specification
Table 4 - PIKS utilities listed by functional class
EXPORT FROM PIKS
Class of utilities that export image and non-image data objects from PIKS to an application or to the III!,
export histqgram
export image
export LUT
export matrix
export neighbourhood array
export ROI array
export static array
export tuple
export value bounds
get colour pixel
get pixel
get pixel array
get pixel record
output object
IMPoKr To PIKS
Class of utilities that import image and non-image data objects to PIKS from an application or from the
IIF
.
inqm histogram
importimage
impoftLuT
importmatrix
importneighbourhoodarray
import ROI array
import static array
import tuple
importvaluebounds
input object
put colour pixel
put pixel
put pixel array
put pixel record
INQUIRY
Class of utilities that return infomzation to the application regarding PIKS data objects, status, and
implementation.
inquire chain environment
inquirechainstatus
inquireelements
inquireimage
inquire index assignment
inquire non-image object
inquire PIKS implementation
inquirePnss status
inquire repository
inquire
0 ISO/IEC ISO/IEC 12087=2:1994(E)
PIKS specification
Table 4 - PIKS utilities listed by functional class (concluded)
INTERNAL
Class of utilities that perform manipulation and conversion of PIKS internal image and non-image data
objects.
constant predicate
convert array to image
convert image data type
convert image to array
convert image to ROI
convert ROI to image
copy window
create tuple
equal predicate
extract pixel plane
insert pixel plane
ISO/IEC 12087-2: 1994(E) 0 ISO/IEC
PIKS specification
Table 5 - PIKS system mechanisms listed by functional class
CHAINING
Class of system mechanisms that manage execution of PIKS elements inserted in chains.
chain abort
chain begin
chain delete
chain end
chain execute
chain reload
coh!rPosrrEID~ MANAGEMENT
Class of system mechanisms that perform manipulation of image identifiers inserted in arrays, lists, and
records.
composite identifier array equal
composite identifier array get
composite identifier array put
composite identifier list empty
composite identifier list equal
composite identifier list get
composite identifier list insert
composite identier list remove
composite identifier record equal
composite identifier record get
composite identifier record put
CONTROL
Class of system mechanisms that control the basic operational functionality of PIKS.
abort asynchronous execution
close PIKS
close PIE, emergency
OpenPlKS
synchronize
ERROR
Class of system mechanisms that provide means of reporting operational errors.
error handler
error logger
error test
0 ISO/IEC
PIKS specification
Table 5 - PIKS system mechanisms listed by fimctional class (conc&uied)
SYSTEM MANAGEMENT
Class of system mechanisms that allocate, deallocate, bind, and set attributes of data objects and set global
varia
...



