MRC CAMBRIDGE IMAGE PROCESSING SYSTEM 28-Sep-2006
=================================================
Judith Short,
LMB, MRC Centre,
Hills Road,
CAMBRIDGE CB2 2QH
+1223 248011
jms@mrc-lmb.cam.ac.uk
CONTENTS
==========
1. Overview and general philosophy
2. How to get started
2.1 Using
existing libraries
2.2
Implementation
3. Documentation of existing standalone
programs - INDEX
3.1 General
programs for processing micrographs
3.2
2-dimensional crystal processing programs
3.2.1 Image analysis
3.2.2 Electron diffraction patterns
3.3
3-dimensional helical
programs
3.4 Rotational
averaging and filtering
3.5 General
display programs
4. References to published papers which
describe these programs.
5. Image data file Format
1. Overview and general
philosophy
==================================
The system of image processing programs developed by past and
present members of the Laboratory is
used in various forms worldwide
for determining the structure of
macromolecular assemblies. The
approach has been to study specimens
with some form of symmetry, such
as crystals or helical and icosahedral
particles. Programs suitable
for many kinds of 2-D and 3-D analysis
have been written. The
philosophy has been to write largely
stand-alone FORTRAN programs for
carrying out the various steps of
processing. At the present time,
there are about 70 stand-alone programs,
varying in length from a few
lines to many thousands of lines of
code. The unifying principle has
been to use a standard format
(MAPFORMAT) for images and Fourier
transforms and postscript format for
graphics files. These are also
used in the crystallographic CCP4
system. In the later stages of
some of the procedures, for example in
high resolution electron
crystallography, amplitudes and phases
are put into a third standard
format, that of LCF (labelled column
format), which allows direct access
to the X-ray crystallographic software
in CCP4.
Libraries of standard subroutines are
available for reading, writing and
manipulating files. A user
program written to accept files in these
three formats and producing output in
the same three formats thus fits
directly into the system, with no need
for any modifications to existing
structures. The libraries
can be invoked at the linking step under
PC/LINUX, Mac/OSX, DEC/UNIX or SGI/IRIX.
We have produced FORTRAN user
codes that will run under these systems
without modification.
MAPFORMAT involves each image or transform having an initial
header block 1024 bytes long, which
specifies the type and size of the
file, the maximum, minimum and mean
densities and information about a one
line description of the operation and
time of running. More
information about IMAGE format files and
the subroutines (IMSUBS2000)
for manipulating them is given in
section 5. Briefly, the IMSUBS2000
routines are written in FORTRAN and
themselves call lower level routines
for the actual reading and writing;
these lower level routines are
written in FORTRAN and in C. Programs
producing graphical output use
PLOT2K routines and the resulting
postscript format files can be sent to
a laserprinter, or viewed on a terminal,
using programs such as ghostscript
or xview which may be installation
dependent. Thus apart from getting
digitized data into the system and hard
copy out, the system of programs
can be used as a coherent whole,
independent of the particularities of
the installation.
2. How to get started.
================
Installation is described in /image2000/README. First build all
the libraries
and executables using a .bld file specific to your system.
Binaries will
then be written to /image2000/bin and all have the extension .exe
2.1 Using existing libraries
For developing a new program, the
following libraries might need to be
invoked:
ifftlib Fourier
transform routines
imlib2k
Routines for handling image format
genlib Lower
level routines invoked by imlib
plot2klib Graphics routines
misclib Miscellaneous
routines from mtzlib, lcflib, miscsubs
2.2 Implementation
The standalone programs, while
(mostly) written in standard
FORTRAN, call various subroutines which hopefully carry all the
machine
specific subroutines. The following source libraries
will be needed, as
discussed above (section 2.1):
ccplib.for
diskio.for
ifftsub.for
imsubs2000.for
lcflib.for
library.c
library.h
mtzlib.for
miscsubs.for
parser.for
plot2k.c
subs.for
symlib.for
unix.m4
3. Index of existing
stand-alone programs
=========================================
3.1 General programs for processing micrographs :
-----------------
-------------------------------------------
1. BANDPASS
Bandpass filters stack of images.
2. BOXIM
Standard boxing
program for selection of an area.
3. BOXIMAGE
Similar to above, leaves boxed
area in original position.
4. FFTRANS
Fast Fourier
transform.
5.
HEADER
Prints out information in header records.
6. IMEDIT
General editing program for image headers
7. INTERPO
General 2D re-interpolation program
8.
LABEL
Image handling, does a few nice
things.
9.
MRC2TIF
Converts MRC image format to TIFF format.
10. REMORIG
Remove origin peak in transform to correct background.
11. TAPEREDGEK Tapers the edge of an image to remove
spikes.
12.
TIF2MRC
Converts TIFF format files to MRC image format.
13. TRMASK
Masks transform for filtering
14. TRNOUT
Output amplitudes & phases to printer.
15. TWOFILE
Linear combination, or multiply/divide data in two files.
3.2 2-dimensional processing programs :
------------------------------------------------
3.2.1 Image Analysis :
--------------
1. EMTILT
Calculate tilt angles from lattice
parameters
2. MASKTRANA Masks
transform for filtering, like
TRMASK
3.
AUTOCORRL
Autocorrelation calc + expansion - use with QUADSERCH
4. QUADSERCHK
Correlation peak search on lattice, with profile
fit
5.
CCUNBENDK Unbend image
using list of peaks from QUADSERCH
6.
MMBOXA
Sophisticated version of NNBOX, producing Amps, phases
7.
TTBOXK
Corrects for tilted transfer function, gives Amps, phases
8. TTMASK
Combined MASKTRAN and TTBOX, masking + TTF corr on
tilted
9.
TTREFINE
Refines defocus, astig, tilt params on tilted
images
10. CTFSEARCH
Refine or search for correct defocus,
astigmatism
11. CTFAPPLYK
Applies CTF to data from MMBOX, with graphical output
12.
CTFCALCK
Computes CTF curves for chosen values of Cs, KV, Defocus
13. CTFFIND2
Determines defocus and astigmatism.
14.
CTFFINDA
Finds and applies CTF correction.
15.
ORIGTILTK
Combine data from different images using crystal symmetry
16. LATLINEK
David Agard's least squares latline fit of Amps, phases
17. ALLSPACEA
Determines space group, origin, beamtilt on single image
18. AVRGAMPHS Overall averaging of amplitude
and phase projection data
19. MAKETRAN Create
reference transform from MTZ file - given defocus
20. SCALIMAMP3D Scales image amplitudes to selected
reference data
3.2.3 Electron diffraction patterns :
------------------------------------
1. BACKAUTOK
Calculates radial background and finds centre of pattern
2.
AUTOINDEXK Finds two
simplest lattice vectors automatically
3. PICKAUTOK
Integrates and background corrects el.diff. spots
4. MERGEDIFF
Merges e.d. data and does a host of corrections
5.
AVRGFDELF
Averages multiple measurements of delta-F from MERGEDIFF
6.
SYNCFITP3
Fits lattice line curves to output from MERGEDIFF
7. AVRGINTENS
Overall averaging of electron diffraction ints. in projection
3.3 3-dimensional helical programs :
-----------------------------------------
1.
HLXSEARCH
Determine tilt and
origin.
2. HLXDUMP
Dumps layer line data from
transform
3.
HLXFIT
Orientations & origins of different
particles
4. HLXAVG
Averages data from different
particles
5.
HLXFOUR
Fourier
program
6.
HLXPROJ
2D filtered image from layer line
data
7.
HLXDYAD
Imposes twofold normal to
axis
8.
HLXSEPDAT Feeder
for
HLXSEPR
9.
HLXSEPR
Separates overlapping Bessel
functions
10. HLXLLOUT Graphs
standard layer line
data
11.
HLXSIMUL
Simulates image of
helix
12.
HLXFITT
Orientations & origins of different
particles
3.4 Rotational averaging and filtering :
--------------------------------------------
1.
RFILTIM
Rotational filtering
2.
ROTAV
Rotational averaging of 2D images or 3D maps about z axis.
3.
IMROTRAN
Rotates/translates 2D image - search to maximise correlation.
3.5 General display programs :
----------------------------------
1.
LASERTONE
General program for output of tone
files.
2.
LASERTEXT
General program for output of text
files.
3. HISTOK
Makes histogram of densities in
an
image.
4.
Ximdisp
General X-Windows based display
program.
5. THREED
Displays 2D array as simulated 3D
contoured surface.
6.
SURF
Calculates surface
7. LIGHT
Displays 3D maps as shaded
surfaces.
4. References to published papers which describe these
programs.
==============================================
MRC Image Processing Programs
R.A. Crowther, R. Henderson and J.M.Smith
Journal of Structural Biology, 116, Pages 9-16 (1996)
XIMDISP - A visualization
tool to aid structure determination
from electron microscope
images.
Judith M. Smith
Journal of Structural Biology, 125, Pages 223-228 (1999)
5. Image data file Format
=================
Map/Image Header Format
Length = 1024 bytes,
organized as 56 LONG words followed
by space for 10 80 byte text
labels.
1 NX
number of columns (fastest changing in map)
2 NY
number of rows
3 NZ
number of sections (slowest changing in map)
4 MODE data type :
0 image : signed 8-bit bytes range
-128
to 127
1 image : 16-bit halfwords
2 image : 32-bit reals
3 transform : complex 16-bit
integers
4 transform : complex 32-bit reals
5 NXSTART number of first column in
map (Default = 0)
6 NYSTART number of first row in
map "
7 NZSTART number of first section
in map "
8 MX
number of intervals along X
9 MY
number of intervals along Y
10
MZ number of intervals along Z
11-13
CELLA cell dimensions in angstroms
14-16
CELLB cell angles in degrees
17
MAPC axis corresp to cols (1,2,3 for X,Y,Z)
18
MAPR axis corresp to rows (1,2,3 for X,Y,Z)
19
MAPS axis corresp to sections (1,2,3 for X,Y,Z)
20
DMIN minimum density value
21
DMAX maximum density value
22
DMEAN mean density value
23
ISPG space group number 0 or 1 (default=0)
24
NSYMBT number of bytes used for symmetry data (0 or 80)
25-49
EXTRA extra space used for anything - 0 by default
50-52 ORIGIN
origin in X,Y,Z used for transforms
53
MAP character string 'MAP ' to identify file
type
54
MACHST machine stamp
55
RMS rms deviation of map from mean density
56
NLABL number of labels being used
57-256 LABEL(20,10) 10
80-character text labels
Symmetry records follow - if any -
stored as text as in
International Tables, operators
separated by and grouped into
'lines' of 80 characters (ie.
symmetry operators do not cross
the ends of the 80-character
'lines' and the 'lines' do not
terminate in a ).
Data records follow.