A long time ago in a lab about 20 miles away, I was working for a company called Mediwatch to develop a new micro-array platform that was internally named Zero-flow. It was a nifty little device that was excellent at controlling the flow of a sample over a sensor system. The company I worked for at the time was small and not flush with cash. So for a while the only resources allocated to the design and development of this technology was me. With this budget of £0 I needed to produce an assay system that could demonstrate sensitivity significant enough to warrant further development. So I did what any over-enthusiastic scientist would do and I bodged together various bits of kit from home and lying around our very sparse lab to build a half decent microarray fluorescent reader system. It was about 90% cardboard and it fell over if you walked past too quickly but it did the job and produced some pretty good photos.
However as nice as these pretty pictures are, the one thing that I didn’t have any access to was image analysis software so I had no way of saying how much of a dot these dots were. This is where ImageJ came in.
ImageJ is free software package that is to image analysis what real butter is to a piece of toast – vital and delicious. Authored by Wayne Rasband at the research services branch of the National Institute of Mental Health in Bethesda, it is an amazing suite of very useful image analysis tools that are totally free!
In the image I showed earlier, if for example, I wanted to know how bright those two dots are – then ImageJ can just simply show me the image intensity over an area by selecting a transect across the dot which ImageJ then plots.
So in no time at all, I can switch from messy photographs to raw data about the profile and intensity of my results. This kind of image analysis is vital for a whole range of the work I do and ImageJ is a fantastic workhorse. I’ve even managed to use ImageJ for more mundane tasks such as calibrating the monolayer troughs I’ve used in the past for coating experiments. During the experiments it is vital to know what area of monolayer is being held on the surface of the trough so it can be dynamically controlled. However, over time the motors can drift and the original calibration can shift so the area needs re-measuring. Previously, people had done this by flipping over the 5kg trough and playing with the little pot motors until they got a sensible value – not very practical. A much easier way was to use ImageJ to calculate the area for me – I took a photograph at the open and closed position of the trough (with a ruler on the trough for scale) and then ImageJ simply provided the answer to the selected area.
Beyond these simple analysis tools, ImageJ is capable of an insane number of other cool things. For example, when showing people the result from the fluorescent photographs from before, one simple way to make it more visually accessible was to convert the 2D photographs into the smoothed 3D surface plots.
Or if I wanted to show a surface within a 3D space, I can simply convert it a rotating 3D animation.
One last thing that i’ve just discovered is that I can hook ImageJ into python so in the future I can have these animation auto generating along side all my data analysis!
Summary: I quite like ImageJ – it makes pretty pictures. I just wish that other authors would be as keen to open up their software and make it available to the community.