IMOD source code

The Availability of IMOD source code.

As of version 4.0.26, IMOD has been released as open source under the General Public License (GPL) Version 2.0. Open source packages are available here; versions before 4.0.26 include just a subset that had been released as GPL earlier: libraries and code using Qt.

A mercurial repository of IMOD source, updated nightly from our master source, is visible here. To clone from it, you need mercurial version 1.7 or later, which you can obtain from the Mercurial download site. Installing mercurial is straightforward for Windows and Mac OS X with the installers there. On Linux systems that supply an older version of mercurial, such as RHEL6, you should be able to find a package with a later version. Otherwise, you will need to download a source package and build it. The steps for doing this are to untar the package, rename the directory if desired, cd into the directory, and run "make local". After this you can run the hg in this directory by its full path or put the directory on your PATH. It will not conflict with the hg installed on the system.

To clone the source, run

    hg clone

Once you have the clone you can cd into it and update it to a specific version or branch with

    hg update -r tag

Use "hg tags" to see all the version tags, or "hg branches" to see the active branch tags, or "hg branches -c" to see all the branch tags.

Programming within IMOD and Writing Plugins to 3dmod.

It is possible to write plugin modules for the 3dmod program. An old version of the Bead Fixer plugin serves as an example and template for writing a plugin, and there are several contributed plugins that can also serve as examples. In addition, one can use the source package to write programs using various IMOD libraries, To assist in this development, there is complete documentation of the C-code libraries in IMOD as well as of the plugin interface in 3dmod.

IMOD 4.0 and onward is built with version 4 of Qt. If you are going to write a plugin, it is advisable to develop it with current IMOD source and Qt 4, with no use of Qt 3 support features.

Requirements for Compiling IMOD.

Supported systems are RedHat or Fedora Linux, Macintosh OSX 10.5 or higher, and Windows under Cygwin with Intel compilers. Compilations have been done on other flavors of Linux including Ubuntu. Other Unix systems would require configuration files to be developed.

For a full build, you will need a Fortran compiler, a C/C++ compiler and csh. A csh script is used to generate a configuration file. The make command uses sh. On a Mac, it is possible to build 3dmod plugins, C libraries and C programs other than 3dmod without a Fortran compiler.

Your system will also need to have Qt and OpenGL libraries and include files. See the file BUILDING for more details on requirements and instructions for building, or see the Makefile in older packages.

OpenGL(R) is a registered trademark of Silicon Graphics, Inc.