iPOX was an image processing system initiated at the Department
of Earth Sciences, University of Oxford in the early 1990s, primarily to restore
and enhance GLORIA data. (GLORIA is a side-scan sonar system that produces
images of the seafloor.) iPOX, however, was not limited to the
processing of GLORIA data. iPOX was conceived as a state of the
art, general purpose system for the processing of single band imagery, and which
could be extended to embrace the special needs of sidescan sonar data processing.
iPOX design features included:
Modular design, each independent module performing a single limited task.
Modules to read and write image data in other file formats, including
WHIPS, GMT grd, USGS-mips, PGM, PBM, AVS field and PostScript.
Ability to handle images in any of six data types; 8-bit byte,
16-bit short integer, 32-bit integer, float, double, and complex.
Incorporation of the object-oriented programming techniques of data
abstraction and polymorphism. These enable common ANSI C code to be used
for all of the six image data types.
Portable between UNIX systems; modules coded in ANSI C.
External data representation (XDR) used to transfer images between
computers with different architectures. XDR also is an extremely useful
data representation for images that are to be archived.
Algorithms configured to use a "line in, line out" paradigm.
This minimises memory usage and so enables large images to be processed.
Modules driven via command line options.
Each module reads an image from standard input and writes to
standard output. This allows modules to be
"pipelined" and eliminates the need to store intermediate images
on disk.
Modules can be driven from a shell script (command procedure).
X Windows pipeline editor tool (never implemented) can create and
execute this shell script interactively.
X Windows image viewer tool (never implemented) can view the image
exiting from the pipeline.
Binary image data prefaced by an ASCII text header consisting of key-value
pairs. This allows the image header to be viewed using standard text
reading utilities such as more.
iPOX contained 36 modules and consisted of over 14,000 lines
of ANSI C code.
iPOX Modules
deshade
Deshade a sidescan sonar image.
bell
Remove/apply bell (MU) transform from a sidescan sonar image.
iread
Read an image in another file format (WHIPS, GMT grd, USGS-mips,
AVS field, PGM ASCII, PGM raw, PBM ASCII, PBM raw or iPOX).
iwrite
Write an image in another file format (WHIPS, GMT grd, USGS-mips,
AVS field, PGM ASCII, PGM raw, iPOX or raw).
itostat
Calculate image statistics.
itotext
Convert image values to text (suitable for inputting into xmgr/xvgr).
itops
Convert an image to PostScript.
pstopbm
Convert PostScript to a PBM raw image (uses Ghostscript).
pbmtovp
Plot a PBM raw image onto a Versatec electrostatic plotter.
chtype
Change image data type ("byte", "short",
"int", "float", "double" or "complex").
chrep
Change image data representation ("native" or "xdr").
addhist
Add a History record to an image header.
zaphist
Trim the History in an image header.
smooth
Smooth an image.
median
Median filter an image.
convol
Apply a convolution filter to an image.
cross
Cross-correlate an image with a template image.
laplac
Laplacian filter an image (small filters have unbalanced weights).
mklap3
Make an image file containing a 3 by 3 Laplacian filter kernel.
sample
Reduce the size of an image by sampling.
average
Reduce the size of an image by averaging.
mag
Magnify the size of an image.
sub
Extract a sub-image from an image.
rotate
Rotate an image.
xflip
Flip an image horizontally.
dft
Fourier transform an image (uses a mixed radix FFT).
ctod
Convert complex image to double.
pogram
Calculate line periodograms for an image.
imath
Perform arithmetic on a pair of images.
abut
Abut two images.
scale
Scale the intensity values in an image.
clip
Clip the intensity values in an image.
xzap
Linear interpolate over column dropouts.
yzap
Linear interpolate over line dropouts.
mkflat
Make an image containing a constant pixel value.
meter
Meter the progress of the processing pipeline.
Webmaster:
Martin
J
Leese
/ martin.leesestanfordalumni.org
I do not wish to receive unsolicited commercial electronic messages.