Dmitry Karasik > IPA-1.08 > IPA



Annotate this POD


Open  0
View/Report Bugs
Module Version: 1.08   Source  


IPA - Image Processing Algorithms


IPA stands for Image Processing Algorithms and represents the library of image processing operators and functions. IPA is based on the Prima toolkit ( ), which in turn is a perl-based graphic library. IPA is designed for solving image analysis and object recognition tasks in perl.


IPA works mostly with grayscale images, which can be loaded or created by means of Prima toolkit. See Prima::Image for the information about Prima::Image class functionality. IPA methods are grouped in several modules, that contain the specific functions. The functions usually accept one or more images and optional parameter hash. Each function has its own set of parameters. If error occurs, the functions call die, so it is advisable to use eval blocks around the calls.

The modules namespaces can be used directly, e.g. use IPA::Local qw(/./), use IPA::Point qw(/./) etc, with each module defining its own set of exportable names. In case when all names are to be exported, it is possible to use exporter by using use IPA qw(Local Point) syntax, which is equivalent to two separate 'use' calls above. Moreover, if all modules are to be loaded and namespace exported, special syntax use IPA 'all' is available.

For example, a code that produces a binary thresholded image out of a 8-bit grayscale image:

   use Prima;
   use IPA qw(Point);
   my $i = Prima::Image-> load('8-bit-grayscale.gif');
   die "Cannot load:$@\n" if $@;
   my $binary = threshold( $i, minvalue => 128);

The abbreviations for pixel types are used, derived from the im::XXX image type constants, as follows:

   im::Byte     - 8-bit unsigned integer
   im::Short    - 16-bit signed integer
   im::Long     - 32-bit signed integer
   im::Float    - float
   im::Double   - double
   im::Complex  - complex float
   im::DComplex - complex double

Each function returns the newly created image object with the result of the operation, unless stated otherwise in API.


IPA::Geometry - mapping pixels from one location to another

IPA::Point - single pixel transformations and image arithmetic

IPA::Local - methods that produce images where every pixel is a function of pixels in the neighborhood

IPA::Global - methods that produce images where every pixel is a function of all pixels in the source image

IPA::Region - region data structures

IPA::Morphology - morphological operators

IPA::Misc - miscellaneous uncategorized routines



Prima, iterm,


(c) 1997-2002 The Protein Laboratory, University of Copenhagen (c) 2003-2007 Dmitry Karasik

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


Anton Berezin <>, Vadim Belman <>, Dmitry Karasik <>

syntax highlighting: