Importing common bitmaps
Bill Brown
brown at pike.cecer.army.mil
Mon Sep 12 10:39:02 EDT 1994
>>ideally, we should have r.in.ppm since netpbm (pbmplus) is distributed
>>with grass. That way we don't need r.in.sunrast, r.in.tiff,
>>r.in.gif, etc. Am I correct in this thinking? Is there any instance
>>where ppm is not generic enough?
>
>I agree, but I did notice that converting from PICT -> ppm -> sunrast
>caused the lut's to get stuffed up a bit (this was in my Monash Uni
>incarnation a few months ago).
>
>Simon Cox
The lut's get "stuffed" because while PICT & sunrast use 8bit look up
tables, ppm doesn't, using 8bits for each of Red, Green, & Blue to represent
"True Color" instead. (Actually sunrast has a True Color flavor, but
the one r.in.surast accepts is the color look up table flavor.)
Because ppm is "True Color", you can get all those colors you never see
on your 8bit screen from your "continuous" raster maps if you use r.out.ppm,
then send the ppm to a slide recorder or other 24bit output device.
So in the conversion from ppm to sunrast, the
look up table has to be inferred from a look at the color distributions
in the ppm, and depending on the algorithm used, this is probaly where
it gets messed up. It would be better to go from PICT -> sunrast
directly, since both formats use look up tables.
> However, I am unaware of any public domain "one step, all purpose"
> converters (neither xv or alchemy are PD).
> ...
> --Darrell
And that give me a chance to plug MY favorite FREE image tools,
SDSC Image Tools, from San Diego Supercomputer Center, available at:
ftp.sdsc.edu via anonymous ftp
in the directory: /pub/sdsc/graphics/imtools
This tool suite works with the following formats:
bmp Microsoft Windows bitmap image file
cur Microsoft Windows cursor image file
eps Adobe Encapsulated PostScript file
gif Compuserve Graphics image file
hdf Hierarchical Data File
ico Microsoft Windows icon image file
icon Sun Icon and Cursor file
iff Sun TAAC Image File Format
mpnt Apple Macintosh MacPaint file
pbm PBM Portable Bit Map file
pcx ZSoft IBM PC Paintbrush file
pgm PBM Portable Gray Map file
pic PIXAR picture file
pict Apple Macintosh QuickDraw/PICT file
pix Alias image file
ppm PBM Portable Pixel Map file
pnm PBM Portable aNy Map file
ps Adobe PostScript file (write only)
ras Sun Rasterfile
rgb SGI RGB image file
rla Wavefront raster image file
rle Utah Run length encoded image file
synu SDSC Synu image file
tga Truevision Targa image file
tiff Tagged image file
viff Khoros Visualization image file
x AVS X image file
xbm X11 bitmap file
xwd X Window System window dump image file
And yes, Darrell, it works with standard input/output.
These are the tools you get (imconv being the most useful):
Tool Description
--------------- ------------------------------------------------
imadjust Adjust image colors, desaturate, brighten, etc.
imcat Concatenate images into multi-image files
imcltroll Cycle a color lookup table
imcomp Digitally composite images
imconv Convert between all supported image file formats
imcopy Copy a portion of an image into a new file
imfile Display image attributes
imfill Fill a region of an image with a color or gradient
imflip Flip an image horizontally or vertically
imformats Describe image file format support
imgray Convert to grayscale
imhist Compute an image histogram
immono Convert to monochrome
impaste Paste an image into another
imroll Cycle an image horizontally or vertically
imrotate Free rotate an image
imscale Scale an image up or down
imshear Shear an image horizontally or vertically
imsplit Split apart multi-image files
imconv is especially easy to use - if your image files have the right
extension, all you have to do is type:
imconv infile.ppm outfile.gif
and the conversion automagically happens, creating the new outfile.gif.
There are lots of options to these tools and so far there isn't much
I've found that they can't do (although read support for postscript
would be nice).
> The disk space problem could be minimized if an r.in.ppm command
> worked on stdin. Then, if users would find it simpler, a bunch of
> scripts could be written for specific formats (e.g.,
> #!/bin/sh
> # r.in.gif (sans bells and whistles)
> giftoppm $1 | r.in.ppm -
> exit
> )
>
> [disclaimer - I haven't had a chance to look at the contrib
> program that (Brown?) mentioned earlier - maybe it already
> does this.]
>
> --Darrell
The r.in.ppm I mentioned doesn't allow use of stdin, but that would be
great. I glanced at the code & it looks like it quantizes the colors it
finds in the ppm file to a maximum no. of colors of 32,768, which seems
like a reasonable number to deal with in a GRASS color file. (ppm files
could theoretically contain ~16 million different colors) I don't
know who wrote this - it's from SCS - anybody out there who could
accept credit/responsibility and verify this info?
- Bill B.
***************************************************************************
Bill Brown e-mail: brown at zorro.cecer.army.mil
USACERL - ECS phone: (217) 352-6511 ext 7676
PO Box 9005
Champaign, IL 61826-9005
See our visualization demo at URL:
http://www.cecer.army.mil/grass/viz/VIZ.html
***************************************************************************
More information about the grass-user
mailing list