Note -- I would appreciate any comments on ho to improve the question -- I did the best I could but it I feel it may still be sup-par.
HIPS was/is an excellent image processing software. It was basically a large number of unix command line tools each that did something very well and you used UNIX pipes to combine them.
I'm either looking for something equivalent or a library that has equivalent functions that I can write command line wrappers around.
A library in Java would be Devine, Open Source is a must.
Thanks.
Some example of the tools HIPS had (full list here):
Geometric and Other Operations on Pictures
- abspix - take the absolute value of pixels
- bnoise - add binomial noise to an image
- calcpix - generate and execute a program which manipulates byte-formatted sequences
- exppix - take the exponential of an image
- fcalcpix - generate and execute a program which manipulates float-formatted sequences
- gnoise - pipe sequence through a channel with Gaussian noise
- histoeq - histogram equalization
- histostretch - stretch contrast by ignoring outlier pixel values
- logimg - take the natural logarithm of an image
- mean0 - subtract the mean from an image so that it has a mean of zero
- neg - take the photographic negative of an image
- noise - simulate a noisy digital communication channel
- powerpix - raise to a power and normalize each pixel of a frame
- scale - scale a sequence of images
- scalemeansd - scale images to have a specified mean and standard deviation
- shiftpix - shift pixel values
- stretchpix - stretch or compress the range of gray-levels
- thresh - apply a threshold
Frame Arithmetic
- absdiffseq - compute the absolute value of the difference of image pixels
- addseq - add two sequences, pixel by pixel
- andseq - compute the logical AND of two sequences
- autodiff - absolute value of the difference between successive frames
- calccomb - generate and execute a program which combines byte-formatted sequences
- colorkey - perform a `color keying' operation for merging several images
- diffseq - subtract two sequences, pixel by pixel
- divseq - divide two sequences, pixel by pixel
- fcalccomb - generate and execute a program which combines float-formatted sequences
- maxabsseq - compute the maximum absolute value of two sequences, pixel by pixel
- maxseq - compute the maximum of two sequences, pixel by pixel
- minabsseq - compute the minimum absolute value of two sequences, pixel by pixel
- minseq - compute the minimum of two sequences, pixel by pixel
- mulseq - multiply two sequences, pixel by pixel
- orseq - compute the logical OR of two sequences
- xorseq - compute the logical XOR of two sequences
Convolution, Correlation, Edge Detection and Other Spatial Operations
- abdou - Abdou's edge fitting procedure
- bclean - remove small 8-connected components
- btcsmooth - smooth a btc image
- convolve - 3D convolution
- correl - cross-correlate two images
- discedge - a discrete domain regional edge detector
- discedge2 - a discrete domain regional edge detector with offsets
- dog - filter an image by applying difference of Gaussians mask
- extremum - apply an extremum filter to an image
- mask - generalized filtering program
- maskseq - convert a mask set into a HIPS sequence
- median - apply a median filter to an image
- morphdilate - apply the morphological operator of dilation
- morpherode - apply the morphological operator of erosion
- nonisot - nonisotropic convolution
- thicken - thicken a white-on-black image
- thin - thin and categorize a white-on-black image
- zc - find zero-crossings in a convolved sequence
Digital Transforms and Filters
- bandpass - apply a bandpass filter to a sequence
- bandreject - apply a band rejection filter to a sequence
- dct - discrete cosine transform
- dispwbasis - output the basis set for the Walsh transform of a 16X16 array
- flipquad - swap opposite image quadrants
- fourtr - Fourier transform and spectrum
- fourtr3d - 3D Fourier transform and spectrum
- highpass - apply a highpass filter to a sequence
- inv.dct - inverse discrete cosine transform
- inv.fourtr - inverse Fourier transform
- inv.walshtr - inverse Walsh transform
- lowpass - apply a lowpass filter to a sequence
- walshtr - Walsh transform
Gaussian and Laplacian Pyramid Operations
- imgtopyr - compute a Laplacian or Gaussian pyramid
- pyrdisplay - convert an image pyramid to a single image for display
- pyrexpand - apply the pyramid expand operation to an image or pyramid
- pyrextract - extract a subset of pyramid levels
- pyrmerge - merge several images or pyramids into a single pyramid
- pyrreduce - apply the pyramid reduce operation to an image or pyramid
- pyrtoimg - reconstruct an image from a Laplacian pyramid -Image Compression
- ahc3 - 3D adaptive hierarchical coding into binary trees of binary images
- ahc3_r - decode an ahc3-coded sequence into a byte formatted sequence
- binquad - 3D binary (temporal) and quadtree (spatial)