1、 INCITS/ISO/IEC 12087-2-1994 (R1999)(formerly ANSI/ISO/IEC 12087-2-1994 (R1999)for Information Technology Computer Graphics andImage Processing Image Processingand Interchange (IPI) Functional Specification Part 2: Programmers ImagingKernel System ApplicationProgram InterfaceAmericanNationalStandard
2、Approval of an American National Standard requires review by ANSI that therequirements for due process, consensus, and other criteria for approval havebeen met by the standards developer.Consensus is established when, in the judgment of the ANSI Board of StandardsReview, substantial agreement has be
3、en reached by directly and materiallyaffected interests. Substantial agreement means much more than a simplemajority, but not necessarily unanimity. Consensus requires that all views andobjections be considered, and that a concerted effort be made toward theirresolution.The use of American National
4、Standards is completely voluntary; their existencedoes not in any respect preclude anyone, whether he has approved the standardsor not, from manufacturing, marketing, purchasing, or using products, processes,or procedures not conforming to the standards.The American National Standards Institute does
5、 not develop standards and will inno circumstances give an interpretation of any American National Standard.Moreover, no person shall have the right or authority to issue an interpretation ofan American National Standard in the name of the American National StandardsInstitute. Requests for interpret
6、ations should be addressed to the secretariat orsponsor whose name appears on the title page of this standard.CAUTION NOTICE: This American National Standard may be revised orwithdrawn at any time. The procedures of the American National StandardsInstitute require that action be taken periodically t
7、o reaffirm, revise, or withdrawthis standard. Purchasers of American National Standards may receive currentinformation on all standards by calling or writing the American National StandardsInstitute.Published byAmerican National Standards Institute11 West 42nd Street, New York, New York 10036Copyrig
8、ht 1995 by Information Technology Industry Council (ITI)All rights reserved.These materials are subject to copyright claims of International Standardization Organization (ISO),International Electrotechnical Commission (IEC), American National Standards Institute (ANSI), andInformation Technology Ind
9、ustry Council (ITI). Not for resale. No part of this publication may bereproduced in any form, including an electronic retrieval system, without the prior written permission of ITI.All requests pertaining to this standard should be submitted to ITI, 1250 Eye Street NW, Washington, DC20005.Printed in
10、 the United States of AmericaANSI/ISO/IEC 12087-2-l 994 American National Standard for Information Technology - Computer Graphics and Image Processing - Image Processing and Interchange (IPI) - Functional Specification - Part 2: Programmers Imaging Kernel System Application Program Interface Secreta
11、riat Information Technology Industry Council Approved June 6, 1995 American National Standards Institute, Inc. ISO/IEC 12087-2: 1994(E) Contents Fareword 1 scope 2 Normative dxences 3 Symbols and abbreviations 4 Programmers Imaging Kernel system spdkatioll 4.1 PIKSimagingmodel 4.1.1 Image data objec
12、ts 4.1.2 Non-image data objects 4.1.3 Data object creation 4.2 PIKS operators, tools. data object repository utilities, and system mednkms T 4.2.1 0perata.s 4.2.2 Tools 4_213 of _ ._ 4.2.3.1 Impulse respaase function arrays - 4.2.3.2 Dither 4- arrays 4.2.3.3 Colour conversia matrices 4.2.4 Utilities
13、 4.2.5 System mechanisms . . . Vlll 1 3 5 11 11 12 14 15 15 15 16 16 17 17 17 18 18 - ii - 0 ISO/IEC ISOAEC 12087-2:1994(E) Contents 4.3 PXS 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 operatops 4.3.5 Ope
14、rator index assignment 4.4 PIKS system me!GEN ROI_POLY ROI_RECT ROlD ROng ROISp RP S SD SI SIN SMFTE SOB SORT - SP 8 Programmers Imaging Kernel system pixel recmd data object power law function of two arguments real arithmetic data type (PK.5 internal) real part of complex number argument functim in
15、dex reassignment fmction between operator output and image indices ooe-dimensional resampling fuxztion two-dimensional resampliug function three-dimensional resampling function fourdimeIlsional Iesampling function five-dimensional resampling function external real floating point pixel data type Regi
16、on-of-Interest array Region+f-Interest data object coordinate collection Region-of-Interest data object elliptical Region-of-Interest data object generic Region-of-Interest data object polygon Region-of-Interest data object recmgular Region-of-Interest data object Region-of-interest of destination i
17、mage Region-of-interest of q-th destination image, 1 I q 5 Q Region-of-interest of some image Region4interest of pth source image, 15 p I P real arithmetic data type BIK!4 parameter) single operator input image signed integer data type (PIKS internal) signed integer number sine function Society of M
18、otion Picture and Television Engineers source non-image object sort function 0 ISOiIEC ISO/IEC 12087-2:1994(E) Symbols and abbreviations SP SPE SRC SRCp STATIC_ARRAY TC TI S TS TUPLE VALUE_BOUNDS t T TAN X X XOR Y Y z Z n u - n IL11 signed integer data type (-Fms parameter) spectral image singlesour
19、ceimage pthsoimage.lspsP static array data object klIpXidill Class B - identiikd with object attributes only; Class C - identified only When an image is allocated, au identifier is assigned to the image data object implementation. The image allocation mechanism allows an application to specify attri
20、butes, such as size. structure. and colour space. upon allocation. or to leave by the PIKS GXrtainimage 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 hissing” data object attributes. NOTE - A PI
21、KS implementboo may reserve da18 slaage for a Class B data object P the dme that be data object is alloued. or the implementation may defer data atonge -stioauntilthetimthIbcfadacsobjeaisvaikblc. 4.2 PIKS operators, tools, data object repository, utilities, and system mechanisms This subclause estab
22、lish the general sficaticm of the PIIG operators. tools. data object repository, utilities, and system rf.Whnism.s. 4.2.1 Operators PMS operators are functional elements that perform manipulations of images or of data objects extracted fra images in order to M images, restore images. or to assist in
23、 the extrh 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. filnrtnmt?ntnl to image prcic4zssing. which can be used to implement high-level operatars. Examples are image convolution and ima
24、ge histogram generation. High-level operators are operators of greater complexity. Examples m adaptive histogram equalization and Hough trausform. NOTE - Ihen ia no requimment in the PIKS specification that high-k4 operatom &all be amgruclcd from primitive opentom. Anothx farm of operator classifica
25、tiao 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 PMS operators arranged by functionality class. These operators are specified in clause 7. Still another form of operator clastication. as
26、 listed below. is by the types of source and destination objects supported by an operator. SouKG non-image non-imfq3e image non-image image image NOTE - PIKS dom not provide any non-image to image opentom. PIKS das provide kvcml image generatioa took. Table 2 indicates the type of source aud destina
27、tion objects supported by each ftmctiouaI class of operat=s. 15 1 ISO/IJX 12087-2: 1994(E) PIKS specification 0 ISO/-IEC PMS operators that have an image as a source data object can also be classilied by theii neighbourhood processing dimensionality as defined below. OD 1D 2D 3D 4D . 5D KWE.5 A zzro
28、dimensional operator is one that operates on each pixel of a source image independently of its neighbouring pixels. An example is taking the 1ogaritb.m of a spectral image. A one-dimensional operator is one that operates on a group of pixels along one dimension of an image. An example is a one-dimen
29、sional moving window average along the rows of a monochrome image. Another example is a one+dimensional Four& transform along the columns of a monochrome image. A hv&ensional operator is one that operates on a group of pixels along two dimensions of an image. An example is erosion of a monochrome im
30、age with a hvodimensional morphological struchning element. A threedimensianal 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. A four-dimensional operator is A
31、XE 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 image. An example is wmputation
32、of the extrema pixels of a five-dimensional image. _ 1 -=By this form of operator cla&fkation. the neighbourhood need not be compti. Also. UK neighbourhood may contain all of thqkels along an image dinsion. 2 - ln subsequent clausa, an “13” operator is called an operator of order r. The words “dimen
33、sional” and “dimension” are reserved, whenever possible. for image descriptor% 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.223 Tools PIKS tools are elements that create
34、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 Regiond-Interest objects. Table 3 contains a list of PIKS tools. The PIKS tools are specilied in clause 7. 4.2.3 Data object repository Many
35、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 PM.5 data object repository. The data
36、object repository contains three types of data: impulse response function arrays dither arrays colour conversion ma&ices - 16 F 0 ISO/IEC ISOAEC 12087-2: 1994(E) PMS specification 5 4.23.1 Impulse response function arrays Impulse respouse function arrays iu the data object repository are cummdy-used
37、 iustautisfious of tw* dimensional neighbourhood array data objects. In the repository. each array is specSed according to the following general form: 1 s H t&O H(LO) . H(C- 1, 0) H (0, r) H(Lr) H(O,R- 1) H(l,R- 1) where S is a scale factor. NOTES . H(C- 1,r) . H(C-l.R-1) 1 - The impulse nspotw fimc
38、tion arrays #ue specified with signed imeger scak ftiaa and signed integer array terms. ?bc physical storage dam format is implementation dependent 2 - The impulse response army indexing is the same as the iadking of a twdiensioaal image army. 4.2.32 Dither arrays - a- Dither arrays iu the data obje
39、ct repository anz commonly-used instantiations of hv*dimensianal neighbourhood array data objects. In the repository. each dither array is specified 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 obj
40、ect repository axe commonly-used instantiatiaxs of matrix data objects. In the repository, each 3x3 matrix is specikd according to the following general form: 1) T(L 2) T(L 3) -I-(2,2) T(2,3) 1 T(312) T(3,3) All cdour conversion matrices are specified for the transformation of an input column vectat
41、 to au output column vector. NOTES 1 - ISOAEC 12087-I deEnes the c&our spaces and associabzd chromaticity coordinates and whitc points used to genera each colour conversion mauix. 2 - In order to minimize qumtization error in colour component convemion. the colour conversion matrices are specified i
42、n term9 of six decimal digits of prccisioo, even though the original detinitions specify fewer digits of precision. 3 - The colour conversion matrix names specify the proper input and output colow spaas for colour component ccmvasion. - 17 ISO/IEC 12087-2: 1994(E) PIKS specification 0 ISO/IEC 4.2.4
43、Utilities PIKS utilities are elements that perform basic mpr.hnnicnl image manipulation tasks such as extracting a pixel frcnn an image and composing a volumetric image from a set of monochromatic images. Table 4 contains a list of PIKS utilities. These utilities are specified in clause 7. 4.25 System mechanisms pm system me&nkms are elements that pehm control and management tasks such as allocating data storage reference s for PIKS data objects. opening and closing PIKS sessions, error handling. and element chainiq. Table 5 wntains a list of PIKS mechanisms. 18