IMOD - tutorial
In late 2010, shortly after moving to San Diego, I ran a little IMOD tutorial for a handful of people at NCMIR. Since then I've run a few more IMOD tutorials, so I decided to create this small page to collect together a list of helpful webpages, slides/images and a quick explanation of what IMOD is.
What is IMOD?
As it says on the official website, "IMOD a set of image processing, modeling and display programs used for tomographic reconstruction and for 3D reconstruction of EM serial sections and optical sections". In other words: IMOD is a suite of several programs for reconstruction (taking tilt series, tracking fiducials, making tomograms, stitching tomograms), segmentation (either tracing by hand or using one of IMODs built-in basic filtering or edge detection algorithms), meshing (a pretty trivial step once all the contours are drawn) and analysis (outputting surface areas, numbers, volumes and measure distances between compartments if you know how) of 3D electron topographic datasets.
IMOD isn't an easy program to master - the learning curve is steep - but it is a valuable program to learn. IMOD is perhaps the best known and most used programs for tomographic reconstruction, with well over two hundred sites using it, and the reason for this popularity is because it offers several big advantages:
- (a) it's free .... (and open source too if you're interested in adding plugins like I have done)
- (b) it works on any platform .... (important when you realize most labs have a colorful mixture of Linux plus Mac and Windows machines)
- (c) it's been around for ages
- (d) it's designed specifically with 3D electron tomography in mind ... (although yes, I've seen people use it for 3D light microscope stuff too)
- (e) it handles the whole electron tomography process.... (many programs do segmentation - (see "Tomography software") - but few handle reconstruction and tie in so nicely with microscopy software)
- (f) it's quite large and versatile .... (although to appreciate it's power this you first have to understand and master some of it's numerous command line programs)
You can read more about IMOD on my IMOD wiki page, but the best source of information is the official IMOD website at:
- http://bio3d.colorado.edu/imod/ - from here you can access all the many page on IMOD, including an all important listing of IMOD programs.
IMOD must be installed via command line/terminal interface. If you're using Window you have to install "Cygwin" to get it working and I've made a video tutorial of that process here. Detailed instructions to install IMOD are here: IMOD User Guide. If you've played with IMOD before one thing I often suggest to people is that instead of downloading the stable build, they may as well download the beta version which you can access from this ftp site: ftp://bio3d.colorado.edu/latestIMOD/. Once you've downloaded the ".csh" file which matches your operating system, you can often install by opening a Unix / Terminal (for OSX) or Cygwin (for Windows) window and install by entering:
sudo csh imod_4.1.2_RHEL5.csh
... and after you hit enter you'll also need to enter "Y" at the prompt. To test it has installed you can type "3dmod" to open the main program, but you typically have to close and reopen the terminal window before this works! If this doesn't work refer straight to the guide for longer instructions.
Learning to use IMOD
Once IMOD is installed you'll quickly realized IMOD has a very steep learning curve and a bunch of features you'd probably never find unless someone points them out! For many users however, the only IMOD program you'll need to use is 3dmod, and there is a pretty nice introduction to 3dmod here:
Reconstructing tomograms in IMOD
If you want to use IMOD for reconstruction, there are two very nice little tutorials to get you started:
- IMOD dual axis reconstruction totorial - shows how to take a tilt series (in this case two, because it's dual axis), track fiducials and use eTomo to turn it into a 3D "serial tomogram" volume. Estimated time: ~1.5 hrs.
- IMOD join tutorial - demonstrates how to join together multiple serial tomograms (in this case three) into a single (larger) volume. Estimated time 30 mins.
Quick segmentation in IMOD
If you are going to do a large amount of segmentation in IMOD (drawing the outline of organelles), that's something I'm very familiar with! Manual segmentation is a slow process, so I'd highly recommend you learn to use the "Drawing Tools" and "Interpolator" plugin. You can access information about and a videos showing how to use my plugins here. The quickest way to segment a dataset is to use automatic segmentation, however the problem with this is that electron tomography is inherently noisy (the image appear speckled / blurry), so most automatic segmentation does a bad job, hence most electron tomography groups trace all their data by hand.
IMOD/3dmod opens image files in the "MRC" format, which typically have the extension .rec or .mrc and represent a stack of 2D images in a tilt series (straight off the microscope), or a stack of 2D images making up a 3D tomogram. IMOD can also open single tif files, and if you have a stack of tiffs these are two often used command line program tif2mrc and mrc2tif to convert back and forth. In addition to loading a MRC file, you'll also usually want to draw lines, which are saved to a "IMOD Binary Model" file format, which should be given a .mod extension. This is IMOD's own binary format, which is pretty hard to replicate, but for anyone interested there is a way to export this to an IMOD ASCII format if you wanted something to parse into a different program, although it does lose most of the "fine grain" properties, such like the ability to add multiple gaps, colors and labels to individual contours (features which can come in handy in the really complex models).
Within IMOD you'll notice that each model contain a list of Object (think of them as "layers"), objects contains Contours and contours contain Points. Contours are usually closed, but can also be open (first and last point not connected) - which is handy if you want to draw microtubules, or any other contour that spans multiple slices. When you mesh an object it connect contour points together and a mesh is added to that object and each mesh (thus each Object) can contain multiple surfaces (i.e. you can model multiple organelles in one surface if you like, but that's mostly personal preference - see IMOD - naming objects).
Images and Slides
The image above is a slide I like to show everyone to illustrate the "electron tomography pipeline". As mentioned, IMOD takes care of both reconstruction, segmentation and analysis. At a later date I hope to upload a few presentations I've given on IMOD segmentation and data analysis. This page will hopefully continue to expand as I get more requests from people and/or get asked to do more little tutorials.
Cheers, - Andrew.