Cryo-electron tomography emerges as an important component for structural system biology. It not only allows the structural characterization of macromolecular complexes, but also the detection of their cellular localizations in near living conditions. However, the method is hampered by low resolution, missing data and low signal-to-noise ratio (SNR). To overcome some of these difficulties and enhance the nominal resolution one can align and average a large set of subtomograms. Existing methods for obtaining the optimal alignments are mostly based on an exhaustive scanning of all but discrete relative rigid transformations (i.e. rotations and translations) of one subtomogram with respect to the other.
In this paper, we propose gradient-guided alignment methods based on two popular subtomogram similarity measures, a real space as well as a Fourier-space constrained score. We also propose a stochastic parallel refinement method that increases significantly the efficiency for the simultaneous refinement of a set of alignment candidates. We estimate that our stochastic parallel refinement is on average about 20 to 40 fold faster in comparison to the standard independent refinement approach. Results on simulated data of model complexes and experimental structures of protein complexes show that even for highly distorted subtomograms and with only a small number of very sparsely distributed initial alignment seeds, our combined methods can accurately recover true transformations with a substantially higher precision than the scanning based alignment methods.
Our methods increase significantly the efficiency and accuracy for subtomogram alignments, which is a key factor for the systematic classification of macromolecular complexes in cryo-electron tomograms of whole cells.
Cryo-electron tomography emerges as an important component for structural system biology approaches [1,2]. Cryo-electron tomograms of whole cells essentially contain information on the systems level about the abundance, spatial distributions and orientations of all large macromolecular complexes at a given time point in a cell [3-9]. However, detecting these complexes in cryo-electron tomograms is a challenging task due to low signal-to-noise ratio (SNR), distortions and low non-isotropic resolution (> 4 nm) of the tomograms . Therefore traditional image registration methods , developed for images at low distortion levels, usually cannot be directly applied to alignment of subtomograms. One strategy to enhance the nominal resolution of the detected density maps of individual complexes is to segment the tomogram into a large number of single complex subtomograms, which are then classified into similar objects by a pair-wise comparison. After subtomogram classification averaging of the aligned subtomograms in each class reveals the shapes of macromolecular complexes in each class at an increased SNR, which can then be assigned to the corresponding positions in the whole cell tomogram.
Subtomogram alignment and classification methods [6,11-26] are key to such processes and have been applied to several complexes, including membrane-bound complexes [27,28]. However, due to the potentially large number of subto-mograms in whole cell tomograms alignment protocols must not only be precise but also computationally efficient. Existing alignment methods are typically based on the exhaustive sampling over a discrete set of rigid transformations of one subtomogram with respect to a second. The optimal alignment is then detected using the dissimilarity measure between both subtomograms [11-13]. However, due to the heavy computational cost, the exhaustive rotational search can only sample a limited number of angles. Moreover the typically applied Fast Fourier Transform (FFT) based translational alignment can only approximate best translations at the resolution of the unit voxels. To enhance computational efficiency an approximate alignment method has been proposed to generate alignment candidates based on a fast translation-invariant rotational search [14,15]. Then a local refinement was used starting from the alignment candidates close to the optimal solution. However, the full potential of using only local refinements on very sparsely distributed starting candidates has not been investigated yet. In this paper, we propose an efficient gradient-guided alignment method based on two popular subtomogram dissimilarity scores. In addition, we design a stochastic parallel framework that significantly speeds up the simultaneous refinement of multiple alignment candidates.
We demonstrate on realistically simulated data of models and real macromolecular structures that for highly distorted subtomograms, even given a small number of evenly sampled initial angles with a large interval of 60° or 45°, our method can accurately recover true transformation with very high precision.
Here we provide a gradient-guided refinement framework for subtomogram alignment that minimizes a dissimilarity score as defined by the squared sum of the differences between a parameter fixed function and a function whose parameters are optimized. We consider two types of dissimilarity scores for subtomogram alignments, which both incorporate missing wedge corrections: A real space constrained dissimilarity score (Section 2.2) and a Fourier space constrained dissimilarity score (Section 2.4). In addition, we adapt our refinement protocol also to the case where the rotational search is restricted to only certain axis of rotations, for instance when the search is constrained to rotations around a membrane surface normal when membrane bound complexes are aligned (Section 2.5). In principle, it is beneficial to refine independently each of the candidate solutions from an exhaustive rotational scanning, however this is computationally expensive and not feasible for large scale subtomogram classifications, which is necessary in whole cell tomography. We therefore provide also a stochastic parallel refinement framework (Section 2.3) to efficiently reduce the total number of refinement steps.
For simplicity, we denote two subtomograms as two integrable functions f, g : ℝ3 → ℝ. For a ∈ ℝ3 , let τa be the translation operator (τag)(x) := g(x - a). For a rotation R in the three-dimensional rotational group SO(3), let ΛR be the rotation operator, such that (ΛRg)(x) := g[R-1(x)]. R can be represented as a 3 by 3 rotation matrix R. In this case, (τaΛRg)(x) = g(R-1(x - a)).
The rigid transformation parameters combine both rotation and translation and are expressed as β = (R, a) = (φ, θ, ψ, a1, a2, a3)⊤, where (φ, θ, ψ)⊤ are Euler angles in the 'ZYZ' convention , with the rotation R, and translation parameters a = (a1,a2,a3)⊤. In addition, for simplicity, we denote the combined rigid transformation operator κβ := τaΛR.
Local optimization of subtomogram alignment based on a real space constrained dissimilarity score (RCS)
We now describe the gradient-guided refinement for the subtomogram alignment, given a coarse initial solution for R and a. The goal is to identify a local optimal solution given the current values of R and a as the starting parameters. To perform the alignment one must define a dissimilarity measure for the alignment of the two subtomograms. Besides the low resolution and SNR of subtomograms, distortions due to missing data (ie, the missing wedge effect) make subtomogram alignment challenging, and these effects must be explicitly considered in the alignment process.
To address this problem, Förster et al proposed a constrained correlation measure with missing wedge corrections . It is based on a transform that eliminates the coefficients in the missing wedge region. Let be a missing wedge mask function. The missing wedge mask function defines for each subtomogram the valid and missing Fourier coefficients in Fourier space. For example, in single tilt electron tomography with tilt angle range ±θ, the constrained correlation can be defined as . Then for a given subtomogram f one can define a Fourier space constrained subtomogram function as
, where denotes the real part of a complex function, and is the Fourier transform operator, and ensures that only those Fourier coefficients are considered that are defined in both subtomograms, i.e. these Fourier coefficients are not part of the missing wedge regions in any of the two subtomograms. Correspondingly, a Fourier space constrained subtomogram function for the second subtomogram g is defined as
The normalized subtomogram transforms can be defined as , and ,
where μ is the mean operator, defined as , and denotes the size of the subtomogram f. μf is therefore the average intensity value of subtomogram f.
Then the constrained correlation is calculated as
Because of the subtomogram normalization, this constrained correlation is equivalent to a constrained dissimilarity score:
For a given initial guess of the rotation R (for instance one of the local minima in a rotational search) one can determine the corresponding best translation τa that minimizes the distance criteria d efficiently using Fast Fourier Transform (FFT)). Given any ΛR and τa, we seek to obtain an increment ΛΔR and corresponding τΔa so that
Since is fixed with respect to β, we use the Levenberg-Marquardt algorithm  to obtain such increments. This algorithm converges very fast.
Let xj, j = 1... n be the locations of all n voxels in the grid of the subtomogram, then we have a discrete form of the constrained dissimilarity score
According to the Levenberg-Marquardt algorithm, Δβ = (ΔR, Δa) can be obtained by computing
Here f and gβ are the vector representations
J is the Jacobian matrix whose jth row is , which is approximated by numerical differentiation; the operator diag(E) converts a matrix E to a diagonal matrix consisting of only diagonal elements of E; λ is a damping factor to control the rate of convergence.
The final result of this section provides the refined alignment parameters R2 = R1 + ΔR1 and a2 = a1 + Δa1 given the initial parameter set R1 and a1. To perform a complete alignment refinement this process must be repeated iteratively until convergence is achieved (next section).
Stochastic parallel refinement process
To carry out a global optimization it is necessary to perform multiple refinement runs starting each time from a different candidate rotation angle. However, to carry out these individual optimizations independently is time consuming, which would prevent large-scale applications of subtomogram alignments. Therefore, we propose a stochastic parallel refinement framework to prioritize for those candidate transform parameters with smaller dissimilarity scores (Figure 1). The basic idea of this iterative algorithm is to store the scores of all m candidate transformation parameters β1,..., βm, where each β = (R, a) consists of both rotation and translation parameters. The choice of which βj to refine next is stochastically decided according to a probability obtained from . In other words, at each iteration candidate angles βj with smaller have a higher probability of being selected for refinement using the incremental method described in section 2.2.
Figure 1. Flow chart. Flow chart of the stochastic parallel refinement process.
We define a sampling probability that considers both rank and magnitude of d. Suppose the candidate parameters are ordered such that
Then for j = 1... m the sampling probability of βj is proportional to pj with
where p1 = 1 and t is a scaling threshold such that the distinction between pj and pj-1 is at least 10t/(m-1), and pm/p1 ≥ 10t.
To further enhance the computational efficiency, similar candidate transforms β are removed from the list to omit redundant optimization runs. The similarity of two transforms βj and βk is defined as the Frobenius norm , where
∀j, k = 1,..., m. If is lower than a predefined threshold γ, then the transform leading to the larger of the two dissimilarity scores d is removed from the target list.
To terminate the optimization process, at each iteration the ratio between the smallest and the initial minimum score is calculated. The iterative process is terminated when convergence is achieved, which in turn is identified by a linear regression ratio tregress over the minimal scores in the last iterations. In case convergence cannot be achieved the optimization is terminated after a large number of iterations nmax_iter.
Similar to other stochastic optimization methods, such as genetic algorithms, our method also stores and evolves a population of candidate solutions. However, our method represents solutions by continuous values, and improves individual solutions by gradually refining them. By contrast, genetic algorithms usually encode solutions in strings of discrete bits, and generate new solutions by applying mutation and recombination on multiple existing solutions.
In this section we have introduced a parallel iterative refinement method that relies on a dissimilarity measure and local optimization process as described in Section 2.2. In the following section, we introduce another refinement method based on a different dissimilarity measure between subtomograms.
Local optimization of subtomogram alignment based on a Fourier space constrained subtomogram dissimilarity score (FCS)
After having introduced an iterative refinement process, and introduced a dissimilarity measure in Section 2.2, we now test the refinement process further with a second dissimilarity score. This new score is based on a constrained dissimilarity score computed directly in Fourier space :
By properties of the Fourier transform
, given a fixed initial R, the initial a can be efficiently calculated using FFT. Because is not expressed as the summed square of differences, here the Levenberg-Marquardt algorithm cannot be directly applied. However, because has a regular structure containing only binary 0 and 1 values, one can approximate as
where is treated as a constant in the whole refinement step.
Let ξj, j = 1... n be the locations of all n voxels in the grid of the Fourier transform of the tomogram such that . Then a discrete form of the dissimilarity score can be formulated as
Because the above score is based on complex functions, the Levenberg-Marquardt algorithm cannot be directly applied. Therefore we derive a new version of the Levenberg-Marquardt algorithm for complex functions. In this version, Δβ can be obtained by computing
and where and denote real and imaginary parts and
Here f and gβ are vector representations of the Fourier transform of the two subtomograms
J is the Jacobian matrix whose jth row is , where the derivative with respect to the translation parameters can be determined analytically (according to Equation (14)) and the derivative with respect to the rotation parameters is approximated by numerical differentiation. λ is a damping factor to control convergence speed.
In summary, in this section a Fourier-based similarity score is introduced and combined with a Levenberg-Marquardt algorithm adapted for complex functions.
Constrained rotational search around a rotation axis
If knowledge about the macromolecule's preferred orientation is available, it is beneficial to reduce the rotational search space to a range of only those preferred orientations. Then a significantly smaller number of rigid candidate transformations is sufficient to find the optimal alignment. For example, when the macro-molecules are membrane-bound protein complexes (e.g. [7,27]), the feasible search is often constrained to rotations around an axis, which is the membrane surface normal at the position where the complex is attached to the membrane. In such a case, both subtomograms f and g can first be rotated so that their membrane surface normal are aligned (i.e., they are rotated to the direction that is parallel to z-axis). Then the alignment search is reduced to rotations of g around the z-axis in combination with a full translational search to minimize the dissimilarity score.
To minimize distortions due to the interpolation step in rigid transformations, one wants to reduce the number of sequential transformations for the original subtomograms. Therefore, we perform the constrained search by rotating only g using ΛR while keeping the original subtomogram f fixed. This procedure consists of three components:
where Rf and Rg are the rotations of f and g so that the membrane surface normal are parallel to the z-axis. Rn represents a rotation around the z-axis, defined in the form of (φ, 0,0)⊤. During the refinement process, Rf and Rg are kept constant, and the only rotational parameter to be optimized is φ, which is the rotation around the z-axis.
Generating simulated cryo-electron tomograms
For a reliable assessment of the method, tomograms must be simulated as realistic as possible. We follow a previously applied methodology for realistically simulating the tomographic image formation [4,6,11,31].
Initial density maps at 4 nm resolution are generated and used as samples for simulating electron micrograph images at different tilt angles. The tilt angles are set within a certain maximal range with steps of 1°. As a result our data contains a wedge-shaped region in Fourier space for which no data has been measured (missing wedge effects), similar to experimental measurements. The missing wedge effect leads to distortions of the density maps in real spaces. To generate realistic micrographs, noise is added to the images and the resulting image map is convoluted with a Contrast Transfer Function (CTF), which describes the imaging in the transmission electron microscope in a linear approximation. Any negative contrast values beyond the first zero of the CTF are eliminated. We also consider the modulation Transfer Function (MTF) of a typical detector used in whole cell tomography, and convolute the density map with the corresponding MTF. The CTF and MTF describe distortions from interactions between electrons and the specimen and distortions due to the image detector [31,32]. Typical acquisition parameters used during actual experimental measurements of whole cell tomograms  were used: voxel spacing = 1 nm, the spherical aberration = 2 × 10-3m, the defocus value = -4 × 10-6m, the MTF corresponded to a realistic electron detector , defined as sinc(πω/2) where ω is the fraction of the Nyquist frequency.
Finally, we use a backprojection reconstruction algorithm to generate a tomogram from the individual 2D micrographs that were generated at the various tilt angles . To test the influence of increasing noise, we add different amount of noise to the images, so that the SNRs range between ∞ and 0.1, respectively. Figure 2(b) shows the reconstructed subtomograms of a phantom model at different noise levels and different tilt angle ranges.
Figure 2. Simulated subtomograms from phantom model. (a) Density map of an unsymmetric phantom model consisting of four different 3D Gaussian functions. This density map is used to simulate subtomograms of 323 voxels. (b) A slice of the reconstructed tomograms at different levels of noise (∞, 1, 0.5, 0.1), and different tilt angle ranges leading to different levels of missing wedge distortions. The isosurface are generated using the Chimera software package . The slices are plotted using MATLAB.
All our methods are implemented in MATLAB.
We test our methods on phantom models and actual structures of protein complexes.
Pairwise alignment of subtomograms from phantom models
To assess the general performance, 100 pairs of subtomograms with randomly placed phantom models were generated for different SNR levels and tilt angle ranges (Figure 2(b)). Our stochastic parallel refinement method is tested using both the RCS and FCS dissimilarity scores. We use following termination criterion for the optimization: tregress ≤ 0.001 and nmax_iter = 1000. We test our approach with respect to two factors. First, the average alignment error obtained from the refinement and second, the number of iterative steps that are needed to determine the optimal solution.
We show that even at a low SNR level of 0.5 and a typical range of tilt angles between -70° and +70° our method can still achieve a very low alignment error (Table 1). For example even when the rotational sampling is performed at only 60° intervals the stochastic iterative refinement process together with the RCS scoring produces on average errors of 3.1°, while the FCS scoring achieves 2.9° error (Table 1). This angle error is significantly lower than would be expected from exhaustive scanning where sampling of rotational angles is usually performed at 10° or 5° sampling intervals without additional refinement. When the rotational sampling is performed at 45° intervals, the performance is marginally improved to 2.7° (Table 1), indicating that the 60° interval is already sufficient for most alignment refinements.
Table 1. Alignment rotation error. Subtomogram alignment error in terms of the difference in the determined and true rotational angle of the subtomograms. Shown are the medians and median absolute deviations of all 100 subtomogram alignments. Bold font shows all the alignments with errors larger than 5°, which are considered inaccurate.
Our method therefore allows substantially larger sampling interval while maintaining a high accuracy in subtomogram alignment.
Using a sampling angle interval as large as 60° has major advantages in terms of computational efficiency. For the standard exhaustive scanning at 5° intervals a total of 168,634 candidate orientations must be processed while at 60° rotational intervals only 108 candidate orientations are refined. Also our method can in general achieve a small error for the translation of subtomograms that cannot be reached by an FFT based exhaustive sampling, which on average cannot be less than 0.5 (Table 2).
Table 2. Alignment translation error. Subtomogram alignment error in terms of the difference in the Euclidean distance between determined and true subtomogram translations. Shown are the medians and median absolute deviations of all 100 subtomogram alignments.
In addition, the parallel stochastic refinement process reduces considerably the number of refinement iterations that are needed to reach a good solution in an optimization. At a rotational sampling of 60°, there are 108 candidate orientations that can potentially serve as starting points for a refinement process. Without the parallel stochastic optimization method, a refinement of a candidate orientation takes on average about 60 iterations per run. When all candidate orientations are refined independently a total of about 6480 iterative refinement steps are needed to find the global optimum among all candidate orientations. However, our parallel stochastic refinement process reaches convergence already within only 200-300 iterative refinement steps (Figure 3). We estimate that the parallel stochastic refinement is on average about 20 to 40 fold faster in comparison to the independent refinement of all candidate orientations (Figure 4). At a rotational sampling of 45°, the speedup leads to an 84 fold faster alignment (Figure 4).
Figure 3. Convergence example. Top panels: The minimum dissimilarity scores obtained at different iterations subtracted from the true dissimilarity score. Bottom panels: The difference between predicted and true transforms at those iterations where minimum dissimilarity scores are obtained. Left, subtomogram alignments based on the real space constrained dissimilarity score (RCS). Right, alignment based on the Fourier space constrained dissimilarity score (FCS). Shown is the performance for subtomograms with SNR 0.5, tilt angle range ±60°. The method was tested with rotation angle seeds sampled at angle interval 60°.
Figure 4. Computation speedup. Computational speed up of the stochastic parallel optimization method compared to the traditional exhaustive refinement method. Shown is the ratio of the number of iterations needed to find the optimal solution for the exhaustive and stochastic parallel optimization methods (The numbers show the fold increase in number of iterations when the exhaustive method is used). Shown are the median deviations of all 100 subtomogram alignments for the RCS method (left column) and FCS method (right column) for optimizations using a rotational search at 60° intervals (a) and 45° intervals (b), respectively.
Next, we test the alignment when the search space is constrained to rotations around a single axis. When rotational sampling is performed at 60° and 45° intervals, only 6 and 8 initial candidate rotation angles are used, respectively. The alignment performance is shown in Tables 3 and 4.
Table 3. Constrained alignment rotation error. Constraining the search to rotations around a single axis. Subtomogram alignment error in terms of the difference in the determined and true rotational angle. Shown are the medians and median absolute deviations of all 100 subtomogram alignments. Bold font shows all the alignments with errors larger than 5°, which are considered inaccurate.
Table 4. Constrained alignment translation error. Constraining the search to rotations around a single axis. Subtomogram alignment error in terms of the difference in the Euclidean distance between determined and true subtomogram translations. Shown are the medians and median absolute deviations of all 100 subtomogram alignments.
When the information about the orientation of the membrane surface normal is included in the search process, the alignment accuracy increases significantly for subtomograms at high distortion levels. Without surface normal information, the alignment fails for subtomograms at very low SNR of 0.1, resulting in average angluar alignment errors of at least 10°. With surface normal information, the average anglular alignment errors are less than 6° even for subtomograms generated from a small tilt angle range of ±50°.
Next, we further test our alignment methods for refining the density maps of the complexes by averaging over all aligned subtomograms. For each complex, we generated 1000 subtomograms (at SNR 0.5, tilt angle range ±60°) containing randomly oriented models. We then aligned the tomograms against the initial templates with a rotational sampling of 60° angle intervals. From the resulting averaged density maps it can be seen that our methods can successfully recover the initial structures (Figure 5).
Figure 5. Averaged subtomogram after alignment. Averaged subtomograms. Left, aligned using RCS. Right, aligned using FCS.
Pairwise alignment of subtomograms from real macromolecular complexes
A whole cell cryo-electron tomogram consists of instances of macromolecular complexes of different types. In principle, these instances can be segmented into individual subtomograms and classified after pairwise alignments. Therefore, subtomogram alignment and classification is fundamental for successful structural systems biology analysis of complexes using whole cell tomograms. In this section, we test our methods on subtomograms of four macromolecular complexes obtained from the Protein Data Bank (PDB id 1KP8, 2GHO, 1W6T, 1YG6). The density map of each complex is calculated from its atomic structure by applying a low pass filter at 4 nm resolution using the PDB2VOL program of the Situs 2.0 package  and voxel spacing of 1 nm. The resulting density maps are used to simulate 20 subtomograms for each randomly placed macromolecular complex, at SNR 0.5 and tilt angle range ±60° (Section 2.6).
We perform all pairwise alignments between all 80 subtomograms with sampling of 60° rotational angle intervals. After alignment the resulting dissimilarity score matrix for subtomogram classification is significantly improved in comparison to the dissimilarity score matrix generated from the initial starting structures (Figure 6(a)).
Figure 6. Pairwise alignment of protein complexes. (a) Dissimilarity score matrices for subtomogram classification. The matrix elements representing the same complexes are in consecutive order. (Top row) Dissimilarity score matrix based on the initial subtomogram orientations before alignment for (left column) RCS score and (right column) FCS score. (Bottom row) RCS and FCS score matrices after subtomogram alignments. The alignment is performed at a sampling with 60° rotation angle intervals. (b) Density maps of complexes generated after averaging of the aligned subtomograms in the same class. (Left column) isosurface of the density distribution in single subtomogram for each complex. (Middle and right columns) isosurface of the resulting density maps generated by averaging the 20 subtomograms aligned with the RCS and FCS scores, respectively.
After classification and alignment, the resulting averaged tomograms are very similar to the original density maps. The distortions, as evident in the individual subtomograms are greatly reduced after averaging (Figure 6(b)).
In this paper, we have proposed a new gradient-based method for high precision subtomogram alignments. Combined with the RCS and FCS scores, this method can achieve significantly lower alignment errors in comparison to an exhaustive sampling method. We show that this accuracy can already be reached with only a relatively small number of sampled candidate orientations, for example at rotational intervals of 60° and 45°. The improvement in performance when using rotational intervals of 45° instead of 45° intervals is only marginal, indicating that 60° intervals are already sufficient for most alignments. We further extended the method to a special case when the alignment search is constrained to rotations around a single axis. For instance, alignment of membrane bound complexes allow the rotational search to be restricted to rotations around an axis parallel to a surface normal. This constrained alignment can achieve even higher alignment precision and is more robust to distortions in subtomograms, even when only 6 to 8 initial rotation angle candidates are used.
The RCS and FCS scores both have certain advantages. In contrast to FCS the RCS score takes into account the contrast difference between subtomograms. On the other hand, the FCS score has closed form partial derivatives with respect to the translation parameters, therefore introducing less numerical instability in the gradient refinement process. Moreover it is more efficiently computed because a smaller number of computational intensive rigid transform operations are needed.
Moreover, we have proposed a very efficient stochastic parallel refinement method, which is able to find the global optimum with only a small fraction of iterations in comparison to the independent sampling and refinement with the same sampling angle intervals. Together, these improvements increase significantly the efficiency and accuracy for subtomogram alignments, which is a key factor for the systematic classification of macromolecular complexes in cryo-electron tomograms of whole cells.
The authors declare that they have no competing interests.
F.A. and M.X conceived the project. M.X. performed the research and carried out experiments. F.A. and M.X. wrote the manuscript.
The authors would like to thank Dr. Martin Beck and Dr. Kay Gruenwald for providing valuable suggestions and tomography simulation code. This work is supported by the Human Frontier Science Program grant RGY0079/2009-C to F.A., Alfred P. Sloan Research foundation grant to F.A.; NIH grant 1R01GM096089 and 2U54RR022220 to F.A.; NSF grant CAREER 1150287 to F.A.. F.A. is a Pew Scholar in Biomedical Sciences, supported by the Pew Charitable Trusts.
This article has been published as part of BMC Systems Biology Volume 6 Supplement 1, 2012: Selected articles from The 5th IEEE International Conference on Systems Biology (ISB 2011). The full contents of the supplement are available online at http://www.biomedcentral.com/bmcsystbiol/supplements/6/S1.
Image and vision computing 2003, 21(11):977-1000. Publisher Full Text