Naming Objects in IMOD


Why is it Important to Name Objects Consistently?

A common problem in segmentation programs, such as IMOD/3dmod, is that users often don't know how or forget to provide adequate labeling for the structures they segment. All over the world, science/electron tomography labs tell the same story of having tens to hundreds of IMOD models with object names such as "blue object", "round things" or (more commonly) no label at all. Segmentation is usually carried out by students who are never taught the importance of labeling objects, who are allowed to chose their own colors and who only stay in the lab for a short-to-medium time period. Anyone else in the group who opens these model files thus has no idea what they're looking at.

Without a consistent naming system it become very difficult for scientists for analyze single models - let alone analyze differences between several models by several different people. As a result, such models often get disregarded: wether it's poor segmentation or poor labeling no-body wants to go back and fix someone else's model, thus if a model is to have a chance of being analyzed and reused for publication, it's important the lab trains new users to identify, segment and label all objects correctly!

How to Name Objects in IMOD

To name an object in 3dmod you can simply go: Edit > Object > Type then enter a "name", and to change it's color go Edit > Object > Color. Making people name objects is only half the battle: the other half is doing it right! Even if students have been sufficiently trained to correctly identify an organelle, if left to their own devices, multiple students will give the same object type different labels and different colors. For example, what one student may (accurately) name "Mitochondrial Outer Membrane", others may name "Mitochondria", "mitochondrion", "Mito memb", "MITO23" and so on. To reduce these differences, every group should try and build and then enforce a set of standard names and colors which can be expressed as a simple table. As an example of this, below is an excerpt from a table used to segment pancreatic beta cells:

Standard Names and Colors for Beta Cell Segmentation

# Object Name Color (red green blue)
1 Plasma Membrane pink 255 60 255
2 Nucleus yellow 255 255 0
3 Mitochondrial Membrane Outer dark green 0 125 0
4 Multivesicular Body orange 255 155 0
5 Golgi Apparatus grey 100 100 100
6 Microtubule green 0 255 0
7 Transport Vesicle white 255 255 255

Notice here that:

  1. all names are in Title Case (i.e. first letter capitalized, the rest in lowercase)
  2. all names are Singular (eg: "Microtubule" instead of "Microtubules", even thought the object is likely to contain many microtubules)
  3. all these names were taken from the NeuroLex "Subcellular Parts Table". (to ensure consistency with other cell biology groups)

Your own group can and should build a similar table using standard names from your field. Although difficult, it's also a good idea to try and use the same ordering of object types across similar models, since most IMOD analysis tools (such as mtk) require you to list the object's number. You can renumber objects using: Edit > Object > Renumber....

Using the "Name Wizard" Plugin

To help encourage consistent naming and coloring of objects I created an IMOD plugin called "Name Wizard". This plugin works by loading a table of standard names and colors, plus optional hyperlinks and unique IDs from a CSV (comma separated value) file in the "IMOD_CALIB_DIR" at: "/usr/local/standard_names_persistent.csv" or (if this does not exist) at in the IMOD_DIR under "$IMOD_DIR/lib/imodplug/standard_names.csv" (NOTE: The former file location is preferred because it will not get overwritten when IMOD is reinstalled). By default there are just over 200 entries which were taken from the NeuroLex "Subcellular Parts Table", and you can open these csv files to modify them or create your own entries. In addition to auto-complete, this plugin helps rapidly enter and verify that all names match the entries in the csv file. There are also options here to manage objects by reordering, deleting, merging or splitting. Thus, if you are serious about making your group use consistent labels, I recommending installing the same "standard_names_persistent.csv" and installing Name Wizard on all computers in your group.

Click here to see the Name Wizard video tutorial on my IMOD plugin page

Shared Vocabularies and Ontologies

To ensure proper names are used between groups, cellular biology organizations/initiatives such as the "Neuroscience Information Framework (NIF) " have built large ontologies containing shared vocabularies. An ontology is much more than just using standardized names: and ontology is "a formal representation of knowledge as a set of concepts with a domain and the relationship between those concepts". Effectively it's like a set of rules... for example:

This tells us where-ever there is an organelle, it must be contained within a cell. This information can be very useful for analysis and even in segmentation algorithms. Since IMOD can be used over a broad number of domains (including material science), it does not contain or enforce any ontology rules/logic, however it's still a good idea to be aware of such ontologies, and adhere to the most relevant naming conventions.

Finding Correct Names for Cellular and Sub-cellular Compartments using the NIF Website

Although there are (unfortunately) no enforced standards, a good standard to use in the field of cellular biology are the " NIF Vocabularies". NIF, an initiative at the University of San Diego California, provides the following website interface where you can being typing the name of an organelle and an auto-complete feature will suggest the appropriate name:

NIF ontology, they also provide a list of common subcellular compartments here:

Clicking on any of these organelles will link to information and often pictures of that organelle. Note that each "object" in NeuroLex contains a unique identifier. For example " Microtubule" has the unique identifier "sao1846835077".

Single Object Per Compartment Type vs. Multiple Objects

Within IMOD each "Object" contains: many contours and these contours are meshed together across the volume to form multiple surfaces. Although many groups create a SINGLE object for each type of organelle..... other groups prefer to segment each individual organelle (each surface) in a new object. When you do this it's still important to name objects consistently, and you may also want to add a number to the end, for example:

Segmenting Each Surface into a Separate IMOD Object

# Object Name Color (red green blue)
1 Axon.001 blue 0 0 255
2 Axon.002 blue 0 0 255
3 Axon.003 blue 0 0 255
50 Axon.050 blue 0 0 255

Notice that an accurate label ("Axon") has been used, and a number suffixed to each object, separated by a period. The big drawback of this method is that you'll probably end up with a LOT of objects in your model file, and each will have to be individually renamed and colored, however there are also some advantages to such a method. The pros and cons of having multiple objects versus one object per "object type", are summarized in this table:

Single Object (per organelle type) Multiple Objects (one object/surface)
  • Few objects per model (usually < 10) means it's much easier to mange (i.e. to setup/recolor and rename objects).
  • Don't need to think about what contour belongs to what surface during segmentation (useful for convoluted surfaces).
  • Easy to show/hide whole "layers" at a time.
  • Easier to find and compare individual surface if needed.
  • Easy to see meshing errors since expect each object to mesh into 1 surface.
  • Can't show/hide individual surfaces in ModelView.
  • Harder to see and find meshing errors.
  • Each time you modify then mesh contours, surfaces may be in a different order.
  • Can result in hundreds of objects, making it VERY difficult to mange.
  • Must create a new object for each new surface you segment (laborious).

Naming Non-Standard Objects in Capitals

Within IMOD you may often find yourself wanting or needing to create objects which don't represent standard 3D structures. For example, you may want to create an object with scattered points to show interesting features within your tomogram, or an object with open contours to measure distances between two types of organelles, or to show section boundaries, and so on. For such "non-standard" objects I suggest you use capital letters to make them stand out. I've listed some examples of these objects below:

Examples of Non-Standard Objects

Object Name Red Green Blue Color Description
POINTS OF INTEREST 255 0 255 purple When segmenting a cellular tomogram it's not uncommon to find interesting/unusual features which you want to show other people. To flag these interesting areas I recommend creating an object of type "scattered points", which you should call "POINTS OF INTEREST", set sphere size to about 20 and points per contour to 1. You may also want to add a label to each contour (to comment on what you see) by going Edit > Contour > Type... then enter a label. Next time your supervisor is around you can then use [c] to iterate through these points of interest, and see if any are biologically interesting.
MEASURING STICK 255 255 255 white Use this to measure from one point to another. Make sure you set the object type to "open contours" and you may also want to increase the line width to about 3 and set points per contour to 2 so that each "MEASURING STICK" appears as a nice thick white line. After clicking two points (often spanning several sections) you can then measure the (selected) line's length by going: Edit > Contour > Info.
TOMOGRAM BOUNDARIES 0 0 255 blue To just show a plain box around your boundary you can do so in the ModelView window via: Edit > View > Bounding Box, and you can change the color from yellow in the Objects dialog. However when I have multiple sections joined together in Z I sometime like to delimit/model the boundaries by creating a blue "TOMOGRAM BOUNDARIES" object.
UNKNOWN 255 255 0 yellow Often during segmentation you'll see organelles which you are unsure of. In this cases it makes sense to create an object such as this. At a later time you'll want to go through this object with someone more experienced, and make sure you shift all surfaces from here into their appropriate object.
GOLD FIDUCIAL 0 255 0 green Not often, but in some situations you may want to segment the gold fiducial particles which typically occur at the very top and bottom of your tomogram. To segment these you should use scattered points with a small sphere size for the object. These gold particles are typically 10, 15 or 20 nm in diameter and appear as dark dots. They are NOT part of the cell, but are often added to both sides of a section to aid in aligning tilt series, and if done well their distribution should be quite uniform with no clumping.
NOTE: If you are doing fiducial tracking on a tilt series it's not really necessary to label your objects, because it's pretty obvious that all your objects/contours are gold particles.
IMMUNOGOLD 255 200 0 gold Immunogold labelling or Immunogold staining (IGS) is a staining technique used in electron microscopy. Colloidal gold particles are most often attached to secondary antibodies which are in turn attached to primary antibodies designed to bind a specific protein or other cell component. It can also be attached to protein A or protein G instead of a secondary antibody, as these proteins bind mammalian IgG Fc regions in a nonspecific way. Gold is used for its high electron density which increases electron scatter to give high contrast "dark spots". To segment these, use a scattered point object, with a small sphere size of about 1-5 (whatever fits best).
NOTE: Although they appear the same, these gold particles are different from "gold fiducials" (which are used purely for alignment).
MINDIST.Microtubules AND Vesicles 0 0 255 red Using the program mtk you can automatically generate lines, representing the minimum distance between surfaces in two objects. If you come back to such objects in a few weeks time you'll forget what you did, hence I advise giving such objects long descriptive names!


In this article I've explained the importance of naming conventions, and suggested a set of standards you should follow. To revise:

Each group should create a table of standard object names and colors for all the common compartments which students will need to name and segment.

I hope this has convinced you to develop your own table of standard object names and colors to enforce within your group. If this article has convinced you (even a little bit) to create such a table I encourage you to forward this article to other people!

You can find the full article at: