H C   S O F T W A R E   L T D

commanderbond cryptosaurus image jdep spambuddy superstopwatch textscape textscape2 utilities xmogrify xql yago

download

images.zip

unzip somewhere like /usr/local

java -jar imagemonkey.jar

A few programs for manipulating image files; most use JAI and require Java 5+.

They are available as a bundled download (see right).

ImageMonkey image viewer

Image viewer app for flicking through image files and classifying them.

Opens files one at a time, scales the image to fit in the window and displays it. Has quick keys for adding the current file's name to a textfile (and removing it).

For example:

  1. java -jar imagemonkey.jar *jpg (reads all JAI formats)
  2. use PgUp, PgDn, Home, End to look through the files
  3. press F1 to append the image file's name to a file called 'imagenames_f1' in the working directory (F2 adds it to imagenames_f2 and so on to F5)
  4. Once you've sorted imagefiles into various piles, use scripts to do something with them.. for example:
     cat imagenames_f1 | xargs xv (open them in xv)
     cat imagenames_f2 | xargs rm (delete them) 
     cat snapz | xargs -I a -R 1 cp a /tmp/pix/ (copy them) 

Can pre-load (cache) files while you browse and has various other commands java -jar imagemonkey.jar to see the full usage.

A 'workflow' could go something like this:

..copy raw files off the card
 for each image run dcraw -h (generates low quality ppm)
 create thumbs directory, for each ppm run ppmtojpeg (makes files smaller)

 run ImageMonkey, sort pictures into 'yes' (F1) 'no' (F2) and various other categories
 delete all the F2 files (and their counterpart raw files)
 convert F1 files with dcraw high quality settings, open in gimp
 edit (e.g. crop) and save to relevant gallery directory
 run ThumbGenerator to scale for website
 rsync to website
 optionally add caption files, rsync again
 FINISHED! 
 (the green parts are automatic scripts which can take minutes to hours depending on computer)

Caption script to generate captions for a gallery:

  1. write a caption-file, one caption per line, each caption corresponding to a picture, leave a blank line to ignore the picture (example)
  2. invoke the script: java Caption captionfile *jpg
  3. for each caption line/jpg-file a new file will be generated, containing the caption, named ...jpg.blurb

Of course, your website generator has to know to display a .blurb file alongside its corresponding picture..

ThumbGenerator

Generates scaled images in a set directory structure. Useful for quickly creating websites that look neat from a varied collection of images like this one. download

Example:

  1. create dir structure as follows:
    imageroot/
        gallery1/
          image1.jpg
          image2.jpg
        gallery2/
          image1.jpg
  2. now run: ThumbGenerator -s jpg -t 120 -f 700 --imagesxml imageroot
    directory structure now looks like this:
    imageroot/
        images.xml (contains image metadata, can be used by web servlet) 
        gallery1/
          thumbs/
            image1-small.jpg
            image2-small.jpg
          fullsize/
            image1-big.jpg
            image2-big.jpg
          image1.jpg
          image2.jpg
        gallery2/
          thumbs/
               image1-small.jpg
          fullsize/
            image1-big.jpg
        image1.jpg
  3. you can now write webpages referencing the thumb and fullsize images and they will which are consistent sizes regardless of the input image (or use a servlet to autogenerate the pages).

Chop

Chop image(s) up into tiles, moving left to right top to bottom across the input image. Specify width and height of each tile. Save each tile to a separate file.

Useful if, for example, you need to print out an image on multiple sheets of paper.

notes on paper sizes:

 a4 dimensions:  210x297mm, 8.25x11.75in.
 assume imageable area is 1in all round less than that = 7.25x10.75in
 according to here a 600-720dpi printer gives about 150-200 dpi of image resolution (because of needing multiple dots to simulate colors)
 so if you have a 600dpi printer, you can fit:
   200x7.25 by 200x10.75 pixels per page
 =   x  would be a good size to split the images into then the same site PDF has some suggestions:
 for photo-quality inkjets on photo paper: 240-300dpi
 hp laser (the imageable area only excludes 5mm or so:
   x   seems quite legible  
   x  can't try this becaus MS photo editor says 'too many bytes'