Lending you a hand with impage processing – introduction to ImageJ

In a previous post I used an x-ray of my left hand to showcase some basic image visualization techniques in Matlab.

If you are interested in learning image processing and analysis on your own (just like I did) but are not too interested in the programming side of things or would rather find a noncommercial alternative I’d recommend ImageJ. I just stumbled into it a few weeks ago and was immediately drawn to it.

ImageJ is a completely free, open source, Java-based image processing environment. It allows users to display, edit, analyze, process, and filter images, and its capabilities are greatly increased by hundreds of plugins on the official webpage and elsewhere.

It is used extensively by biomedical and medical image processing professionals (check this fantastic tutorial by the Montpellier RIO imaging lab), but is popular in many fields, from A-stronomy (you can read a brief review in here) to Z-oology (check this site).

I decided to give it a try right away. Within an hour of installing it on my iMac I had added the Interactive 3D SurfacePlot plugin, loaded the hand x-ray image, displayed it and adjusted the z scale, smoothing, lighting, and intensity thresholds to what (preliminarily) seemed optimal.

For each discrete adjustment I saved a screen capture, then I reimported as an image sequence in ImageJ and easily saved the sequence as an AVI movie, which is here below. I’m hoping this will give you a sense of how I iteratively converged to a good result.

And here’s a static capture of that result:

This seems a far better result that what I managed to get in Matlab.

In my next ImageJ post I will try some of its processing capabilities like edge enhancement and edge detection filters, some simple operations like finding the difference between two similar images, and some more advanced techniques like image segmentation with the watershed algorithm, for example comparing the results of unsupervised segmentation versus marker controlled segmentation.

Meanwhile if you’re wondering where to start I’d look at the userguide and also check around in Stack Overflow.

Let me know what you think.

5 responses to “Lending you a hand with impage processing – introduction to ImageJ

  1. Pingback: An example of Forensic Image Processing in ImageJ «·

  2. Welcome to the ImageJ community. I’ve been using ImageJ for about 5 years. I consult for medical imaging companies and often use the plugin capabilities of ImageJ to prototype new product ideas. You have already done the most important thing – subscribing to the list-server. I learn something useful at least once a week from perusing the daily digests. On several occasions, I have described problems I was having and solutions bounced back in a few days. Hope you continue to enjoy ImageJ.

    • Indeed it is really good environment. All I’ve seen so far makes me think at some point I will have to try and switch to it altogether. Thanks

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s