Manning Logo
Home | Ordering Info | Shopping Cart | Manage My Account | Login
Attention customers: online shopping is now available exclusively through our main website: http://www.manning.com. Thank you.
PIKS Foundation C

Inside the book

Table of Contents Index Preface

Manning Blog

Why small is sweet?

Author Blogs

Dave Crane more...

Author Calendar

Upcoming Events

Catalog

Java .NET Perl XML All by Subject All by Title

About...

Manning Contact Us Ordering FAQs ebooks Covers Sandbox Forums Distributors Manning Early Access Program (MEAP) Affiliate Program Academia/Publicity User Group Program Press Releases Jobs

Manning Publications Co.
209 Bruce Park Avenue
Greenwich, CT 06830

PIKS Foundation C
Programmer's Guide
William K. Pratt

1995 | 369 pages
ISBN: 131723391
  $55.00 Softbound print book Out of print (?)

Preface

During the past thirty years, the field of digital image processing has experienced phenomenal growth. Today, image processing plays a vital role in a multitude of scientific, industrial, medical, and governmental applications.

In the early years of image processing, most of the processing was performed on special purpose hardware operating under microcode control. As general purpose computers, workstations, and personal computers have become more powerful in terms of processing speed and memory capacity, there has been a shift away from special purpose hardware and software implementations to general purpose hardware using standard computer languages. This, in turn, has led to the desire by many application writers and end users for a common Application Program Interface (API) for image processing. Such an API would permit the portability of image processing computer programs between various computing platforms and computer operating systems.

In the United States, in early 1988, work on an image processing API, called the Programmer's Imaging Kernel (PIK) began under the direction of the American National Standards Institute (ANSI). During this time period, the German national standards body, Deutsches Institut fur Normung (DIN), was developing an imaging API, called the Iconic Kernel System (IKS). Discussions began in 1989 to merge the two standards development efforts under the joint auspices of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC). A new work item was approved by the ISO/ IEC in 1991 to develop a three part standard, called Image Processing and Interchange (IPI). Part 1 of this standard, named a Common Architecture for Imaging (CAM), provides an architectural framework for the Image Processing and Interchange standard. It also specifies an abstract description of image data objects and nonimage objects related to images. Part 2, called the Programmer's Imaging Kernel System (PIKS), is an API for image processing. Part 3, entitled the Image Interchange Facility (IIF), specifies means for transporting images and image-related data objects between an application and PIKS or between two general applications. Parts 2 and 3 of the IPI standard are stand-alone in the sense that conformant implementations may exist for PIKS functionality only, or for IIF capability only, or for combined PIKS-IIF functionality.

The IPI standard is published as a three part Functional Specification. It describes the image processing and interchange functionality in general terms, independent of any particular computer language. In 1991, ISO/IEC undertook the development of a C programming language binding for IPI. It specifies the syntactical usage of PIKS and IFF for the C language.

In July 1993, Parts 1, 2, and 3 of the IPI functional specification were formally approved to become international standards subject to directed editorial revisions. These standards were formally issued in 1994 and 1995. The C language binding document is under international review. It should be published as an international standard in 1995.

The PIKS standard provides several nested levels of standardized functionality, called profiles. They are:

 

  • PIKS Foundation Basic image processing functionality for monochrome and color images whose pixels are represented as Boolean values or as nonnegative or signed integers.

 

  • PIKS Technical Intermediate image processing functionality for monochrome, color, volume, temporal, and spectral images whose pixels are represented, as Boolean, nonnegative and signed integers, real arithmetic values, and complex arithmetic values. PIKS Technical is a superset of PIKS Foundation functionality.

 

  • PIKS ScientiMic Complete set of image processing functionality for all image structures and pixel data types. PIKS Scientific is a superset of PIKS Technical functionality.

 

  • PIKS Full Complete set of image processing functionality for all image structures and pixel data types plus the capability to chain together PIKS elements.

 

This book is a C language programmer's guide for the PIKS Foundation profile. It abstracts sufficient information from the IPI functional specification documents and the IPI C binding document to enable end users and application writers to write PIKS-based image processing programs without the need to access the ISO/IEC documents.

The guide is intended for readers who are familiar with the theory and practice of image processing. It is also intended for readers who are knowledgable of the C programming language.

Chapter 1 of this guide is an overview of the PIKS imaging model. It defines PIKS data objects in abstract terms, introduces the four types of PIKS processing elements-operators, tools, utilities, and mechanisms, and it discusses PIKS system control. Chapters 2 to 5 specify the usage of the PIKS operators, tools, mechanisms, and utilities, respectively. Each element is mathematically defined whenever possible. Chapter 2 provides several photographic examples of the functionality of PIKS operators.

The material in the first five chapters is based upon the IPI functional specification draft international standards of Part 1 edited by Adrian Clark and Part 2 edited by William K. Pratt. Their formal references are:

 

International Standard IS 12087-1
Information Technology
Computer Graphics and Image Processing
Image Processing and Interchange
Functional Specification
Part 1: Common Architecture for Imaging
1 November 1993

International Standard IS 12087-2
Information Technology
Computer Graphics and Image Processing
Image Processing and Interchange
Functional Specification
Part 2: Programmer's Imaging Kernel System Application Program Interface
1 August 1994

 

Chapter 6 discusses the notation and structure of the PIKS C language binding. This chapter also presents three complete C programs with explanations of their functionality. Chapter 7 provides an alphabetical listing of all of the PIKS Foundation element prototypes as well as C code snippets of their usage. The PIKS C language convenience functions and the PixelSoft utilities are defined in Chapter 8.

Chapters 6 to 8 are based upon the ISO C language binding draft international standard document edited by Gerard A. Paquette entitled:

 

Draft International Standard of IS 12088-4
Information Technology
Computer Graphics and Image Processing
Image Processing and Interchange
Application Program Interface Language Bindings
Part 4: C
10 November 1993

 

The appendices present definitions of mathematical functions, a complete listing of PIKS header information, and program listings of the PIKS examples.

ISO/IEC standards are based upon British spelling conventions, which differ from American spelling conventions for some words in the C Binding. For example, the word colour is used as part of the name of several PIKS operators. For consistency, British spelling conventions have been used in the remainder of this guide.

William K. Pratt

DESCRIPTION

PIKS, the "Programmer's Imaging Kernel System," is the SIO-approved image processing Application Program Interface (API). It is the only existing international standard of its kind. This book, by the document editor of the standard, and an authority in the field of image processing, serves as a reference and programming guide to the standard.

PIKS Foundation C Programmers Guide provides valuable assistance to the programmer in understanding how the API works and how it can be used to write imaging programs. It contains descriptions of image processing operators and gives pragmatic examples of their use.

As the only widely available document other than the standard itself, this guide will be useful to readers who want to evaluate PIKS as their future imaging API. For those who choose to adopt PIKS, the Guide will serve as a desktop manual for its use. Readers include:

  • Programmers writing image processing software
  • Scientists doing research that involves processing images
  • Managers responsible for image processing system development
  • Architects of image processing systems

ABOUT THE AUTHOR...

William Pratt is president of PixelSoft, Inc. in Los Altos, California. He was previously with Sun Microsystems, Vicom Systems, and the University of Southern California, working on image processing, video compression, and multimedia software. He is the author of four books including Digital Image Processing which is widely considered to be the bible of the subject.
Home | Catalog | Privacy Policy | About Manning

© 2003-2006 Manning Publications Co.