[comp.graphics] Looking for public domain image processing suite

stein@OSCSUNA (Rick 'Transputer' Stein) (04/24/89)

I'm looking for an image processing suite.  You know, the
standard type of functions: gradient edge detection, histogram
equalization, FFT, binary ops (XOR, OR, AND).  I'll even
accept a reference to a "cheap" off-the-shelf library, but
its gotta' be written in C.

Thanks.
-- 
Richard M. Stein (aka Rick 'Transputer' Stein)
Office of Research Computing @ The Ohio Supercomputer Center
Ghettoblaster vacuum cleaner architect and Trollius semi-guru
Internet: stein@pixelpump.osc.edu

wxh@a.lanl.gov (Billy Harvey) (04/25/89)

In article <145@OSCSUNA>, stein@OSCSUNA (Rick 'Transputer' Stein) writes:
> I'm looking for an image processing suite.  You know, the
> standard type of functions: gradient edge detection, histogram
> equalization, FFT, binary ops (XOR, OR, AND).  I'll even
> accept a reference to a "cheap" off-the-shelf library, but
> its gotta' be written in C.
> 
> Thanks.
> -- 
> Richard M. Stein (aka Rick 'Transputer' Stein)
> Office of Research Computing @ The Ohio Supercomputer Center
> Ghettoblaster vacuum cleaner architect and Trollius semi-guru
> Internet: stein@pixelpump.osc.edu


I use an Atari ST, and there is a PD program called AIM, which seems to be
a complete image processing program.  The documentation was from

 Frans Groen
 Applied Physics Department
 Delft University of Technology
 Lorentzweg 1
 2628 CJ Delft
 The Netherlands
 tel (31) 15-781416


The copy I have does not have source code.  I could send you the docs
(about 38K) if you want, perhaps you could get the source from above.
Billy Harvey            wxh@a.lanl.gov

johnston@lbl-csam.arpa (Bill Johnston [csr]) (04/28/89)

In article <145@OSCSUNA> stein@OSCSUNA (Rick 'Transputer' Stein) writes:
>I'm looking for an image processing suite.  You know, the
>standard type of functions: gradient edge detection, histogram
>equalization, FFT, binary ops (XOR, OR, AND).  I'll even
>accept a reference to a "cheap" off-the-shelf library, but
>its gotta' be written in C.

We have gotten a lot of mileage out of the HIPS image processing
package. It is a significant collection of image processing algorithms
from the NYU Psychology Dept. The algorithms are organized as Unix
filters, together with a library to manipulate a standard image
header.  The distribution also includes a SunView based image
previewer.  HIPS is not public domain, but relatively inexpensive for
"public institutions".  It is distributed as C source code.

For more information contact:
----------------------------------
Mike Landy
[msl@xp.psych.nyu.edu]

	Mike Landy
	SharpImage Software
	P.O. Box 373, Prince Street Station
	New York, NY   10012-0007

----------------------------------
Below is a summary of the kind of things that were found in the HIPS
package a few years ago, I believe it has expanded somewhat since then.

(This message implies no endorsement of the HIPS product - it is
simply meant to reflect the fact that HIPS has been useful to us, and
MIGHT be useful to you.)

	Bill Johnston
	(wejohnston@lbl.gov)

----------------------------------

     (1) abdou - Abdou's edge fitting procedure

     (1) absdiffseq - compute the  absolute  differences  between
     two sequences

     (1) adddesc - add information to a sequence header

     (1) addseq - add two sequences, pixel by pixel

     (1) ahc3 - 3D adaptive hierarchical coding

     (1) ahc3_r.c - decode an ahc3-coded  sequence  into  a  byte
     formatted sequence.

     (1) andseq - compute the logical and of two sequences.

     (1) atob - convert images to byte pixel-format from ASCII

     (1) atof - convert  images  to  floating  pixel-format  from
     ASCII

     (1) atoi - convert   images  to  integer  pixel-format  from
     ASCII

     (1) autodiff - compute the absolute differences between suc-
     cessive frames

     (1) bandpass - apply bandpass filter to a sequence, or  com-
     pute MTF of a filter

     (1) bclean - remove isolated components from binary images

     (1) bdwindow - window on pixels in depth

     (1) betacucnt, betacuew, betacurec, betapause, betaplay, and
     betastop - Control the Betamax

     (1) binquad - binquad adaptive hierarchical coding

     (1) binquad_r - decode a binquad-coded sequence  into  byte-
     format

     (1) bpack.c - pack a thresholded image as a single  bit  per
     pixel

     (1) btc.c - 2-d block truncation coding/encoding

     (1) btcsmooth - smooth a btc image

     (1) btof - convert byte images to floating point

     (1) btoi - convert byte images to integer

     (1) bunpack - unpack a single bit per pixel image

     (1) calcpix - generate and execute a program  which  manipu-
     lates byte-formatted sequences

     (1) catframes.c - concatenate several frame-files  into  one
     file

     (1) checkers - generate a checkered byte-formatted image

     (1) collage - combine 2 or more sequences into a single col-
     lage sequence

     (1) convolve - convolve two sequences.

     (1) cosum - create a sum of spatio-temporal sinusoids.

     (1) ctof - converts complex images  to  floating  by  taking
     complex norm

     (1) cutf - cut a PLOT3D frame

     (1) dframe - display a byte/pixel or float/pixel  HIPS  file
     on a movie workstation or SUN workstation

     (1) diffseq - subtract two sequences, pixel by pixel

     (1) digav - average together six TARGA images

     (1) discedge.c - a discrete domain regional edge detector

     (1) discedge2 - a discrete  domain  regional  edge  detector
     with offsets

     (1) disphist - display histogram files as a bar graph

     (1) dispwbasis.c - output the basis for Walsh transform  for
     16X16 array.

     (1) dog - filter an image by applying  difference  of  Gaus-
     sians mask

     (1) dpcm_r - DPCM decoding program receiver

     (1) dpcm_t - DPCM transmission program.

     (1) drift - drift an image at a constant velocity

     (1) dump_plot3d - examine the ASCII code of a PLOT3D  vector
     plot

     (1) enlarge - enlarge a frame

     (1) entropy  -  compute  the  entropy  of  sub-blocks  in  a
     sequence

     (1) extract - extract a subpicture from  a  byte-  or  float
     formatted frame

     (1) extremum - apply an extremum filter to an image

     (1) fcalcpix - generate and execute a program which  manipu-
     lates float-formatted sequences

     (1) fgenframe - generate a homogeneous float-formatted image

     (1) fgnoise - add Gaussian noise (fast version)

     (1) fmask - generalized convolution (floating point version)

     (1) fourtr - Fourier transform on a sequence.

     (1) fourtr3d - performs 3D Fourier transform on a sequence

     (1) framevar - report mean, max, min, mean-squares  &  vari-
     ance of a frame

     (1) ftoc - convert floating point images to complex

     (1) gabor - create a Gabor packet.

     (1) gcube - generate a 3-D cube.

     (1) genframe - generate a homogeneous byte-formatted image

     (1) genheader - generate a homogeneous byte-formatted image

     (1) gmag - scale a 3-D graph.

     (1) gnoise - add Gaussian noise

     (1) gpoly -   generate a 2-D polygon.

     (1) grabheader - throw out an image sequence, preserving the
     header alone

     (1) graytool - display and manipulate  a  HIPS  image  using
     Suntools

     (1) grot.c - rotate a 3-D graph

     (1) gshift - shift a 3-D graph

     (1) gsync - synchronize plot files

     (1) hc_bin - apply binary tree coding

     (1) hc_bin_r - binary tree coding receiver

     (1) highpass - apply a highpass filter, or compute  the  MTF
     of a filter

     (1) histo - compute grey-level histograms for byte-formatted
     images

     (1) histoeq - histogram equalization

     (1) interlace - interlace the frames of several  frame-files
     into one file

     (1).sp (1) inv.fourtr - inverse Fourier transform a sequence

     (1) inv.walshtr - apply inverse Walsh transform on  a  frame
     in float format

     (1) itof - convert integer images to floating point

     (1) joinframes - synchronize and abut the frames from two or
     more sequences subseq - extract a subsequence of frames

     (1) label - add text to hips image  sequences  label  -  add
     text to hips image sequences

     (1) logimg - take log of input image

     (1) lowpass.c - apply lowpass filter on a sequence, or  com-
     pute the MTF of a filter

     (1) mahe - "clipped" adaptive histogram equalization

     (1) mask - generalized convolution

     (1) maskseq.c - convert a mask into a standard  sequence  in
     floating-point format.

     (1) median - apply a median filter to an image

     (1) mulgauss - enclose a sequence in a spatio-temporal Gaus-
     sian envelope

     (1) mulseq - multiply frames by  a  fixed  frame,  pixel  by
     pixel

     (1) neg - take the photographic negative of an image

     (1) noise - apply bit reversal noise to an image sequence

     (1) oct - octtree coding

     (1) oct_r - octtree coding receiver

     (1) pad - insert frames into a uniform background

     (1) picinvert - invert a frame

     (1) pictranspose - transpose a frame

     (1) pixentropy - compute the entropy of sequence pixels

     (1) pixto3d - convert sequences in  pixel-format  to  PLOT3D
     format

     (1) plot3topix - convert from PLOT3D format to pixel format

     (1) plot3tov - convert PLOT3D images to UNIX PLOT format

     (1) powerpix - raise to a power and normalize each pixel  of
     a frame

     (1) prtdth - print halftones with 64 grey  level  dither  on
     the Anadex

     (1) prthlf - print halftones on the Anadex

     (1) pstrobe - collapse a batch of  PLOT3D  frames  into  one
     frame of output

     (1) psubseq - extract a subsequence of frames in PLOT3D for-
     mat

     (1) ptoa - convert  images from pixel-format to ASCII

     (1) reduce - reduce a frame

     (1) reflect - reflect a frame along its vertical axis

     (1) repframe - repeat or  interpolate  frames  by  different
     methods

     (1) rle - run length encoding

     (1) rle_r - decode an rle-coded sequence into a byte format-
     ted sequence

     (1) rotate180 - rotate a frame by 180 degrees

     (1) rotate90 - rotate a frame by 90 degrees

     (1) scale - scale a sequence of floating  point  or  integer
     images

     (1) seeheader - print the header of a frame sequence

     (1) seeplot - examine the ASCII code of a PLOT3D vector plot

     (1) shiftpix - logically shift pixel values

     (1) sonyfwd, sonyfwdst, sonyrec, sonyrv, sonyrvst -  Control
     the SONY Video Motion Analyzer

     (1) btoi - convert short integer images to (long) integer

     (1) stretchpix - stretch or  compress  the  range  of  gray-
     levels

     (1) stripheader - strip an image sequence of its header

     (1) strobe - average groups of successive frames

     (1) subseq - extract a subsequence of frames

     (1) thicken - thicken white-on-black line drawings

     (1) thin - thin white-on-black images

     (1) thresh - threshold an image

     (1) tmag - scale a 3-D graph

     (1) transf - transform a PLOT3D sequence

     (1) trot - rotate a 3-D graph in time

     (1) tshift - translate a 3-D graph over time

     (1) ttoh - convert a TARGA image file into a HIPS image file

     (1) vectcode - spanning tree coding receiver

     (1) vectgen - spanning tree codin

     (1) verdth - print halftones with 64 grey  level  dither  on
     the Versatec

     (1) view - generate a conic perspective of a 3D graph

     (1) vmag - scale a world around an observer in a  3-D  graph
     over time

     (1) vrot - rotate the 3-D coordinates system over time

     (1) vshift - translate an observer in a 3-D graph over time

     (1) walshtr - perform the Walsh transform

     (1) zc - find zero-crossings in a convolved sequence