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.

6 thoughts on “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.

  3. gladaki – Calgary – I immigrated to beautiful country of Canada in late twenties. After graduating from university, It was not a easy task to find Job, But, persistence and hard work landed me one. I was quite a spendthrift in first few years of life. After I fall in love with a beautiful women, I am more sane, financial literate and fitness enthusiast. So this blog is all about scribbling about fitness, personal finance and travel.
    akshaygulati on said:

    Its interesting work, Few days back one of my friend who works on brain cancer showed me imageJ…and 3d simulations on it…I find it quite amusing

  4. Pingback: What your brain does with colours when you are not “looking” – part 2 | MyCarta

Leave a ReplyCancel reply