From teaching classes over the years I frequently hear that many agencies are using Photoshop 6 and 7, Paint, Photoshop Elements, Microsoft Picture It and other applications due to the lack of funds to purchase upgrades. There is nothing wrong using some of the older versions but there are several functions that the older versions do not support, like high bit depth processing, limited color space/model options and the lack of more sophisticated image processing algorithms (de-convolution, pattern removal using FFT).  I also understand that many agencies who would love to have PS CS3 Extended with all of the great plugins that have been developed will never get the funds to make these purchases.

One solution to the funding issue is Image J (http://rsb.info.nih.gov/ij/index.html) Image J is a free, open source application provided by the National Institutes of Health (NIH).  I not only have used this application for case work but to learn more about digital image processing algorithms. Image J is a very robust image processing and analysis tool set that has been referred to on the FVA list serve and recently in the book written by George Reis. This write-up is not a tutorial about Image J, it is meant to provide information about the application that may assist some readers.

The Image J web site lists the following features:

  • Runs Everywhere: ImageJ runs on Linux, Mac OS 9, Mac OS X, Windows, and the Sharp Zaurus PDA.
  • Open Source: ImageJ and its Java source code are freely available and in the public domain. No license is required.
  • User Community: ImageJ has a large and knowledgeable worldwide user community. More than 1400 users and developers subscribe to the ImageJ mailing list.
  • Macros: Automate tasks and create custom tools using macros. Automatically generate macro code using the command recorder. More than 200 macros are available on the ImageJ Web site.
  • Plug-in: Extend ImageJ by developing plug-ins using ImageJ's built in text editor and Java compiler. More than 300 plug-in are available.
  • Toolkit: Use ImageJ as an image processing toolkit (class library) to develop applets, servlets or applications.
  • Speed: ImageJ is the world's fastest pure Java image processing program. It can filter a 2048x2048 image in 0.1 seconds (*). That's 40 million pixels per second!
  • Data Types: 8-bit grayscale or indexed color, 16-bit unsigned integer, 32-bit floating-point and RGB color.
  • File Formats: Open and save all supported data types as TIFF (uncompressed) or as raw data. Open and save GIF, JPEG, BMP, PNG, PGM, FITS and ASCII. Open DICOM. Open TIFFs, GIFs, JPEGs, DICOMs and raw data using a URL. Open and save many other formats using plug-in.
  • Image display: Tools are provided for zooming (1:32 to 32:1) and scrolling images. All analysis and processing functions work at any magnification factor.Selections:Create rectangular, elliptical or irregular area selections. Create line and point selections. Edit selections and automatically create them using the wand tool. Draw, fill, clear, filter or measure selections. Save selections and transfer them to other images.
  • Image Enhancement: Supports smoothing, sharpening, edge detection, median filtering and thresholding on both 8-bit grayscale and RGB color images. Interactively adjust brightness and contrast of 8, 16 and 32-bit images.
  • Geometric Operations: Crop, scale, resize and rotate. Flip vertically or horizontally.
  • Analysis: Measure area, mean, standard deviation, min and max of selection or entire image. Measure lengths and angles. Use real world measurement units such as millimeters. Calibrate using density standards. Generate histograms and profile plots.
  • Editing: Cut, copy or paste images or selections. Paste using AND, OR, XOR or "Blend" modes. Add text, arrows, rectangles, ellipses or polygons to images.
  • Color Processing: Split a 32-bit color image into RGB or HSV components. Merge 8-bit components into a color image. Convert an RGB image to 8-bit indexed color. Apply pseudo-color palettes to grayscale images.
  • Stacks: Display a "stack" of related images in a single window. Process an entire stack using a single command. Open a folder of images as a stack. Save stacks as multi-image TIFF files.

I have used Image J sporadically over the years and have found the latest version 1.39, has improved significantly over the last few versions. The interface is easier to use and there have been many more free plug-ins (http://rsb.info.nih.gov/ij/plugins/index.html#analysis) developed in the recent years. I won’t list out all of the plug-ins (go to the link, it is quite impressive) but there are free plug-ins for pattern removal (FFT), deconvolution, hybrid media filters and color space/model conversions to list a few.

As with any application it is recommended to test any of the filters or recommended procedures prior to using them in case work. If nothing else download the program and some of the plug-ins to see, for example how a hybrid median filter works. Most of the code writers do a nice job explaining how a filter works and some include text book references if you want to learn more about digital image processing.

As my friend George Reis would say, “If it’s free, take two”.

Casey Caudle
Forensic Video Analyst
Target Forensic Services
Digital and Multimedia Section