Search tips
Search criteria 


Logo of bioinfoLink to Publisher's site
Bioinformatics. 2010 April 15; 26(8): 1091–1097.
Published online 2010 February 19. doi:  10.1093/bioinformatics/btq072
PMCID: PMC2853683

A principal skeleton algorithm for standardizing confocal images of fruit fly nervous systems


Motivation: The fruit fly (Drosophila melanogaster) is a commonly used model organism in biology. We are currently building a 3D digital atlas of the fruit fly larval nervous system (LNS) based on a large collection of fly larva GAL4 lines, each of which targets a subset of neurons. To achieve such a goal, we need to automatically align a number of high-resolution confocal image stacks of these GAL4 lines. One commonly employed strategy in image pattern registration is to first globally align images using an affine transform, followed by local non-linear warping. Unfortunately, the spatially articulated and often twisted LNS makes it difficult to globally align the images directly using the affine method. In a parallel project to build a 3D digital map of the adult fly ventral nerve cord (VNC), we are confronted with a similar problem.

Results: We proposed to standardize a larval image by best aligning its principal skeleton (PS), and thus used this method as an alternative of the usually considered affine alignment. The PS of a shape was defined as a series of connected polylines that spans the entire shape as broadly as possible, but with the shortest overall length. We developed an automatic PS detection algorithm to robustly detect the PS from an image. Then for a pair of larval images, we designed an automatic image registration method to align their PSs and the entire images simultaneously. Our experimental results on both simulated images and real datasets showed that our method does not only produce satisfactory results for real confocal larval images, but also perform robustly and consistently when there is a lot of noise in the data. We also applied this method successfully to confocal images of some other patterns such as the adult fruit fly VNC and center brain, which have more complicated PS. This demonstrates the flexibility and extensibility of our method.

Availability: The supplementary movies, full size figures, test data, software, and tutorial on the software can be downloaded freely from our website

Contact: gro.imhh.ailenaj@hgnep

Supplementary information: Supplementary data are available at Bioinformatics online.


The fruit fly (Drosophila melanogaster) is one of most studied model organisms in biology. It is currently widely used to understand how a real nervous system works. A systems biology approach that we are taking to study the fruit fly brain is to produce 3D digital atlases of this animal's nervous system at various developmental time points, including adult, larval and embryonic stages. We have been taking advantage of an on-going effort to generate a collection of 8000 enhancer-trap GAL4 lines that would have their neuronal patterns cover the entire set of neurons in the fruit fly nervous system (Pfeiffer et al., 2008). High-resolution 3D confocal images of these GAL4 lines were produced. The scale of the problem is large, in terms of both the large size of each 3D confocal image (hundreds of megabytes to multi-gigabytes each) and the large number of the images in the database (two to five times the number of GAL4 lines, as multiple flies of the same GAL4 line need to be imaged). Therefore, an informatics challenge is how to map the neuronal patterns onto a ‘standard’ brain in an accurate, reliable and automatic way.

A brain mapping study needs several enabling techniques, including 3D image registration (alignment), neurite tracing, neuronal pattern classification, visualization and mining methods (Peng, 2008). It is often critical to align image patterns that have various orientations, sizes, shape deformations and intensity changes. A classic routine for 3D image pattern registration is to first align patterns globally, followed by a local alignment to transform one pattern to the other (Rueckert et al., 1999; Toga, 1999). For a pair of image patterns, the purpose of the global alignment is to standardize the patterns as a whole so that they possess similar scales, positions and directions. The affine transformation is commonly used for global alignment. Once two patterns have been roughly aligned globally, it is much easier to use the more sophisticated local alignment (e.g. Rueckert et al., 1999; Sorzano et al., 2005), which is often non-linear and deformable, to register the patterns precisely. The affine alignment was already successfully used in recent efforts to build digitized atlases for model animals, such as the Allen mouse brain atlas (Lein et al., 2007), the adult fruit fly brain atlas (unpublished work of Peng lab) and the single-nucleus resolution atlas of the nematode Caenorhabditis elegans (Long et al., 2009).

However, for the alignment problem of the fruit fly larval nervous system (LNS) in this article, we found that the global affine alignment can hardly be used. As shown in Figure 1a, in the LNS the two brain hemispheres and the ventral nerve cord (VNC) form an articulated structure, which is flexible and often skews toward one side. This deformation cannot be described using global rotation, translation, scaling and shear as used in the affine transform.Figure 1c, which is an example of the adult VNC, displays a similar deformation of the shape. Therefore, we need a more sophisticated global alignment method to standardize the shape of these patterns, before we can proceed further to the local alignment.

Fig. 1.
Original and standardized fruit fly larva (a and b) and adult VNC images (c and d) along with their PSs (dotted polylines).

Intuitively, we considered aligning the ‘backbone’, or ‘mid-line’, of a curved fruit fly LNS or an adult VNC (red skeletons in Fig. 1). A related study was to straighten the strongly curved body of C.elegans (Peng et al., 2008) by first detecting the curved anterior–posterior axis of a worm, and then restacking the resampled image data on the entire series of 1-pixel spacing cutting-planes orthogonal to such a detected ‘backbone’. This earlier method is very efficient for C.elegans confocal images and other similar cases where the backbone is a simple smooth curve, and the body of the pattern is not fat (wide) enough so that the slightly non-parallel cutting planes next to each other will not intersect within the pattern. Unfortunately, this method cannot be directly used in standardizing a fruit fly larval pattern because the articulated pattern cannot be described as a simple curve, and the fruit fly patterns are often fat/wide enough so that restacking the cutting planes may introduce artifacts especially in the articulated image regions. There are several other skeleton extraction methods (Brandt et al., 1992; Chuang et al., 2004; Lam et al., 1992; Malandain et al., 1998). However, they cannot easily produce skeletons of the same topological structure for different input images, and thus will not be very useful for the registration.

Therefore, in this work we proposed a new approach to standardize the confocal images of fruit fly LNS and adult VNC. We detected the principal skeleton (PS) of a shape using an automatic skeleton deformation algorithm (Section 2). Then we designed a smooth warping method to best align the PS of a pair of image patterns (Section 3). Our method introduces a minimum amount of degradation of the image quality during the standardization. It is also robust under a variety of conditions. In addition, our method is general. It is not limited to fly larval patterns; indeed it can be applied to any image patterns that have a reasonable PS1 (Section 4).


Intuitively, the PS of a shape can be understood as its ‘backbone’, which describes the basic structure as well as the major deformation of this shape. In this article, we define the PS as a set of connected polylines that spans the entire shape as broadly as possible and at the same time has the shortest overall length and sufficient smoothness. We call each polyline a segment. Each segment consists of multiple ordered control points.

Let us use the LNS (Fig. 1a) as an example. We view the nervous system as an articulated composition of three main parts: VNC, and left and right brain hemispheres. Despite the complexity in the articulation region, the deformation within each part can be approximated using a gentler curve. We define the PS of the LNS as a structure with six segments, including three branching segments, which represent the VNC, and left and right hemispheres, joined to another three segments of a triangle that models the ‘hole’ where the non-neuronal tissues (gut and heart) pass through the articulation area.

Naturally, the PS can be viewed as a conceptual extension of the simple ‘backbone’ curve of a C.elegans body (Peng et al., 2008), which is essentially the principal curve (Hastie, 1994) of a distribution of image pixels. However, the PS is more than a simple collection of multiple principal curves due to the connection of segments. In addition, instead of using a smooth curve to model each skeleton segment, without loss of generality, we model them by polylines. The control points in a polyline can be further used to fit a smooth cubic-spline curve (Bartels et al., 1998), similar to the C.elegans case.

Similar to the case of LNS, the PS of a fruit fly adult VNC can be defined as an ¥-shape (Fig. 1c). The same algorithm is used to find the PSs for both cases. Throughout this article, we focus on LNS; experimental results on adult VNC and some other cases will be presented at the end of this article, and the corresponding movies can be found in the Supplementary Material.

2.1 Shape prior of larval PS

The shape prior defines the initial PS including its topology and constraints of its segments and control points. It should be as simple as possible but complicated enough to capture the major topology of the shape. During the optimization, which is described below, the topology of a PS remains unchanged; however, the locations of all segment-control points will be iteratively updated.

The shape prior of LNS is defined in Figure 2. It contains totally 11 control points c1,…, c11, which are arranged as 6 segments B1,…, B6 in Equation (1). The control points c3, c4, and c7 join these six segments.

equation image

We minimize the length of each segment. Sometimes we may need to minimize the overall length of multiple segments, which indeed has a similar effect to maximizing the total smoothness of these segments when their length is short enough. For example, for the LNS, we would like to produce a very smooth skeleton for the junction area of the two brain hemispheres, which contains three segments B1, B4 and B2. This is similar to forcing B1, B4 and B2 to line up in an almost straight line; thus, their total length is as short as possible. To attain this goal, in Equation (2) we define four optimization ‘domains’ D1,…, D4, each of which is a polyline and may cover multiple segments (e.g. D1).

equation image

Fig. 2.
The shape prior of the fruit fly larva PS, where 11 control points c1,…, c11 form six connected segments and four domains. The domains, indicated by dotted eclipses, are used for the length constraint.

2.2 Energy minimizing deformable PS model

We design a deformable model to detect the PS, given its shape prior. We formulate an energy function consisting of an external energy term and an internal energy term. The external term is based on the image information, thus also called the ‘image term’, to force the PS spanning as broadly as possible to cover an entire LNS. The internal term is based on the topology and constraints of skeleton domains; this term is minimized to guarantee the least total length and maximum smoothness of the skeleton.

Let p denote an image pixel, W the image area and Ω the set of all control points of skeleton. The Voronoi region Θ(ci) of the control point ci is defined as the set of pixels in W that are closer to ci than to any other control points:

equation image

We define the external term Eexternal as:

equation image

where O(Θ) denotes the center of mass of a Voronoi region Θ.

We define the internal energy term by aggregating all optimization domains defined in Equation (2). Since there are only a few control points in each domain (e.g. five in D2 and six in D1), minimizing their length has a comparable effect to smoothing. For simplicity, we only aggregate the length energy of each domain in the internal term. Let U={D1, D2, D3, D4} be the set of domain, we have:

equation image

where w(Dk) is a coefficient that defines the contribution of domain Dk. For LNS, due to the vertical asymmetry of the shape prior, in order to avoid point c3 and c4 will be pulled downwards seriously by D3 and D4, we give D1 more weight (w(D1)=10, all other weights equal 1). For a general case, the weights can be uniform. Elength(Dk) in Equation (6) denotes the length of domain Dk:

equation image

where D[n] is the n-th element (control point) in domain D.

The overall energy E takes the form:

equation image

where α and β are two positive coefficients (both equal 0.5 in our experiments).

To minimize Equation (7), we solve the following equation for every ci, i=1,…, 11:

equation image

It is easy to derive an iterative optimization method from Equation (8) to estimate the new location of each non-tip control point, cit+1, based on the Voronoi region's center of mass of its current position cit, and the positions of its connected neighbor control points:

equation image

where N(ci )=∑Dk[set membership]U,ci[set membership]Dk w(Dk) and P(D, ci) denotes the set of neighboring control points of ci in domain D (in our case, since each domain is a polyline, this set includes both the left and right control points of ci). Note that P(D, ci) is null if ci[negated set membership]D.

For the end points of the PS, i.e. c1, c6 and c11, we use an empirically more robust formula based on two respective neighboring control points. Let us use c1 as an example, the simplified formula is:

equation image

Other end points can be updated similarly. Normally, the algorithm converges within 100 loops.

We have implemented the PS detection method as a plugin of the V3D software (; Peng et al., 2010). We provide a tutorial in the Supplementary Material on how to use the program.


Since the PS of a fly LNS has a more complicated topology than the simple curved ‘backbone’ of nematode C.elegans, we cannot simply reuse the cutting-plane restacking strategy in the earlier work (Peng et al., 2008) to standardize an LNS image. Instead, we generate a smooth displacement field (DF) to warp the fly larvae from one to another, based on their PS information.

There are three general requirements of a DF. (i) No singularity. Thus, the DF should be smooth everywhere. (ii) There should be a minimum amount of distortion to geometrically warp the PS, as well as the entire LNS. (iii) The algorithm should be extensible to other PSs; at the same time, when a PS consists of only one segment, the standardization should approximate the cutting-plane restacking method.

We produce a DF using thin plate spline (TPS; Bookstein, 1989), which is defined as the least-bending smooth surface spanning a set of anchor points. Thus, the requirements (i) and (ii) are met naturally. For requirement (iii), we first consider all control points of the PS as TPS anchor points. Then, we use cubic spline to find a smooth curve through each domain of the PS (as shown in Fig. 3a), and then for every consecutive pair of control points, we add the halfway point on the smooth curve as a TPS anchor point. We call the set of anchor points that consists of nicely spaced points on the PS as the PS-set. Next, we define additional anchor points based on this PS-set: for each PS-set anchor point, we compute the orthogonal cutting line that intersects at this anchor point location with the respective smooth curve in the PS, and then we define two anchor points on each of the left and right sides of the cutting line (spacing = 75 pixels for LNS). We call the set of anchor points that are not on the PS as the non-PS-set. If a non-PS-set anchor point falls into the intersection region of multiple cutting lines of different domains (as highlighted in Fig. 3a), we remove it from the set of the all anchor points, and thus avoid the non-smooth wrapping around of the DF.

Fig. 3.
Anchor points definition. (a) The curve is the cubic spline smoothed PS; the surrounded gray masks illustrate where cutting lines may take place; the overlapped/highlighted mask region in the center of hemisphere indicates where the cutting lines of different ...

While the choices of the number of anchor points of both PS-set and non-PS-set, as well as the spacing among anchoring points, are empirical, a general guideline is to make the anchoring points distribute evenly to cover the entire image pattern. The selected parameters are then used for all images.

The entire algorithm for LNS standardization is as follows:

  1. Define/initialize the shape prior of PS.
  2. Find the Voronoi region of each control point in an input image (called ‘subject’ image below for simplicity).
  3. Update the positions of control points using Equations (9) and (10).
  4. Check whether or not the positions of control points have converged (i.e. the maximal distance between the new and old positions of control points is <0.01). If yes, go to Step 5. Otherwise go back to Step 2.
  5. Use cubic spline to interpolate PS and produce a smooth skeleton according to the defined domains.
  6. Define both the PS-set and non-PS-set of TPS anchor points, remove some non-PS-set points if they fall into the cutting line overlapping/intersection region.
  7. Compute the TPS DF of this image using the corresponding anchor points between this image and a predefined target image.
  8. Warp the subject image to a ‘standard’ shape using the DF.
  9. Set the warped (standardized) subject image as the input image and repeat Steps 1–8 until the PS of the image does not vary significantly (defined as the average displace of control points between two consequent iteration <3 pixels).

Our standardization method is general; it can be applied to both 2D and 3D image patterns. For fruit fly LNS, although our image stacks are 3D, the major variation of the shape is in the 2D plane of two brain hemispheres and the VNC. Therefore, we simplify the processing using 2D maximum intensity projection, and detect the PS in 2D. Accordingly, the TPS DF is produced in 2D; all z-sections of a fly LNS image stack will share the same DF.

Of note, in our algorithm it is necessary to consider Step 9, i.e. the iterative alignment of a PS. Because TPS warping is non-linear and will cause some regions expand or shrink smoothly, the redetected PS of a warped image is slightly different from that of target image. Several iterations of the optimization will produce nicely aligned image patterns whose PSs match well. Normally, it takes about three loops to generate satisfactorily aligned PSs (Section 4.4).


We first evaluated the robustness and consistency of the PS detection algorithm, and then compared our method with the commonly used morphological thinning and affine-transform-based alignment method. In the end, we show some PS detection results of other cases.

For the fruit fly larva data, N-cadherin-labeled LNS was imaged in 3D using a confocal laser scanning microscope (Zeiss LSM 510) in the laboratory of J. Truman. The voxel resolution is 0.46 × 0.46 × 2.0 μm. For the adult fly VNC data, NC-labeled VNC was imaged using a confocal microscope (Zeiss LSM Pascal 5) in J. Simpson's laboratory. The voxel resolution is 0.58 × 0.58 × 0.8 μm in 3D.

4.1 Robustness

We tested the robustness of detecting the PS when the LNS patterns in images have different orientations, scales, contrasts, articulated and twisted parts, as well as other noises.

Figure 4a shows robustness test results for the twisted LNS. We simulated the deformation by rotating the right brain hemisphere from −45 to 45, with a 15 interval, to produce seven rows from top to bottom. For every row, we rotated the VNC from −45 to 45 similarly to produce seven columns. The detected PSs (red) from the same initialization (green) are correct, indicating that our method is robust for twisted patterns. We further added noise to the test images and changed the scale of the initialization. The results (Supplementary Material) were also robust.

Fig. 4.
Robustness evaluation using (a) different simulated twisted LNS and (b) different larva orientations. Green: initialization and red: detected PS.

Figure 4b shows a perturbation test based on real LNS images. We randomly selected four LNS images that have differently twisted nervous systems. Similarly to Figure 4a, we rotated them with different angles (−45, −30, −15, 0, 15, 30 and 45). From exactly the same initialization (green), our algorithm successfully detected the PSs (red), except two errors in the left-bottom corner and in the last column of the third row, which correspond to −45 and +45 rotations, respectively. The errors occurred when the angle between the longest axis (along the brain-VNC direction) of an LNS and the initialization of the PS is bigger than 45, the VNC part of the larva would more likely be interpreted as B1 or B2 rather than B3 according to the shape prior we assumed in Section 2. In other words, the PS was initialized too poorly. However, practically speaking, this situation is rare in the real data. We can also avoid it completely by preprocessing an image so that its longest axis is roughly aligned with the B3 segment. We also changed the contrast of the test images and found that our method robustly produced meaningful results (Supplementary Material).

4.2 Consistency

We quantified the consistency of PS detection given different initializations. For four LNS images, we rotated the respective initial shape prior of the PS in the range of ±30 (interval = 15). For any pair of the five PSs detected for each image, we computed the mean square error (MSE) of the corresponding control points of this pair of skeletons. Table 1 shows the maximal and average MSE scores for all possible pairs. The MSE scores are much <1 pixel, indicating that PSs were detected very consistently from different initializations.

Table 1.
Consistency of PS detection under different initializations

4.3 Comparison with morphology thinning

Morphology thinning (Lam et al., 1992) is a commonly used algorithm to extract the ‘backbone’ of an image object that has closed contour. In order to use thinning, one needs to first segment the object from the image background. Unfortunately, the thinning algorithm is very sensitive to the segmentation. As shown in Figure 5a, direct thinning on a binary image generated too many artificial branches due to spurs in the contour of the object and unstained areas (holes). Here, we simply took the foreground as the set of the pixels whose intensity was above the mean value of all pixels in the image. After we carefully smoothed the contour and filled the holes using additional morphological opening and closing operations (with morphological element set to be ‘disk’ shape, with 10 and 20 pixels in diameter, respectively), we achieved better thinning results in Figure 5b and c, which however were still not as good as the detected PS in Figure 5d.

Fig. 5.
Skeletons detected using image thinning (ac) under different conditions and using the PS method (d).

4.4 Standardization of real LNS images

As a real application, we used the PS method to standardize a randomly selected set of 237 3D confocal images of the third instar larval stage LNS. The comparison results of overlaid patterns are shown in Figure 6a–c, as well as the respective PSs are shown in Figure 6d–f, before and after standardization. Obviously, the affine transform-based standardization (Fig. 6b and e) did not align LNS patterns well, especially the big deviation in the VNC of an LNS. This was due to that the articulated LNS could not be well approximated by an affine transformation. On the contrary, the PS-based standardization scheme (Fig. 6c and f) successfully registered all images, with the PSs almost exactly overlapping on top of each other.

Fig. 6.
Comparison of LNS standardization using the PS method and the affine-based alignment. Overlaid patterns (ac), as well as the respective PSs (df): before standardization (a and d), after a global alignment using affine transformation ...

We also quantified the spatial variations of the aligned PSs. As explained at the end of Section 3, the iterative optimization of the PS standardization, i.e. Step 9, is important.Figure 6g–i show that with 1, 2 and 3 iterations, the standard deviation of the entire set of PSs became smaller and smaller. Indeed, the average ‘pair-wise distance’ of the entire population of PSs dropped from 50.225 pixels before standardization to 5.661, 3.220 and 2.323 pixels in three iterations. For a better visualization, see the Supplementary Material for large frame-size movies of this experiment.

4.5 Quality of standardized images

We also visually inspected the image quality of an LNS pattern before and after our standardization process.Figure 7 shows that all the local features of an image before standardization (Fig. 7a and b) were well preserved in the post-standardization image (Fig. 7c and d). No visible artifact was seen. The processed image was a little bit smoother, due to the interpolation process during the TPS warping. The overall loss of information was negligible.

Fig. 7.
Comparison of the image content before (a and b) and after (c and d) standardization. (b and d) are the zoom-in view of the red boxes in (a and c). Red image channel: GFP-tagged GAL4 patterns. Green: neurotactin and blue channel: N-cadherin.

4.6 Results of adult fruit fly VNC and others patterns

By modifying the shape prior of the PS, our algorithm can be easily adapted to other shape analysis applications. For example, in Figure 1c and d, we show that the PS method can be used to standardize an adult fruit fly VNC. Indeed the adult VNC has a more complicated shape prior, which has nine segments and seven optimization domains (Fig. 8a), than an LNS.

Fig. 8.
(a) Shape prior of the adult VNC PS. (b) Results of PS detection (upper row) and thinning (lower row) on five adult VNC images (background image of the upper row). Green: initialization of the PS and red: detected PS. (c) PS detection of an adult fruit ...

Similar to the LNS case, the key to standardizing an adult VNC is to detect the PS robustly.Figure 8b shows the results on five arbitrarily selected adult VNC patterns (data from J. Simpson laboratory; NC82 neuropile staining was used in place of N-cadherin). It is evident that our algorithm (upper row of Fig. 8b) detected meaningful PSs, while the image thinning (lower row, Fig. 8b) produced results that were not very useful. Figure 8c and d shows additional PS detection results of adult fruit fly center brain and C.elegans. It can be noted that even when the PS was poorly initialized to even outside the object in the C.elegans case (Fig. 8d), our method still detected reasonable PS. Additional PS deformation movies can be found in the Supplementary Material.

One potential problem of our PS approach is that, when a skeleton becomes more complicated, the deformation to the optimum may be more likely trapped into local minima. Generally speaking, this requires more careful initialization. One solution is to introduce hierarchical domains in optimization. Taking the adult VNC as an example, we can make our algorithm more robust by first optimizing the skeleton of the main trunk (i.e. the horizontal domain in Fig. 8a) so that we can get a good estimation of the scale, position and the orientation of the VNC, and then optimizing the remaining domains/segments to complete the entire skeleton.


We thank James Truman for providing the larva image dataset and comments on the manuscript. We thank Julie Simpson for the adult VNC test data. We also thank Zongcai Ruan, Wayne Perenau, Fuhui Long, Gene Myers and other people in Gene Myers lab and Hanchuan Peng lab for discussion. We thank Margaret Jefferies for help of proofreading of the manuscript.

Funding: Howard Hughes Medical Institute.

Conflict of Interest: none declared.


1Some image patterns may not have a uniquely well-defined principal skeleton, such as a spherical cell that has the uniform intensity.


  • Bartels RH, et al. An Introduction to Splines for Use in Computer Graphics and Geometric Modelling. San Francisco: Morgan Kaufmann; 1998.
  • Bookstein FL. Principal warps: thin-plate spline and the decomposition. IEEE Trans. Pattern Anal. Mach. Intell. 1989;11:567–585.
  • Brandt JW, et al. Continuous skeleton computation by Voronoi diagram. CVGIP Image Underst. 1992;55:329–338.
  • Chuang JH, et al. A potential-based generalized cylinder representation. Comput. Graph. 2004;28:907–918.
  • Hastie T. Principal curves and surfaces. PhD Thesis, Standford University; 1984.
  • Lam L, et al. Thinning methodologies-a comprehensive survey. IEEE Trans. Pattern Anal. Mach. Intell. 1992;14:869–885.
  • Lein ES, et al. Genome-wide atlas of gene expression in the adult mouse brain. Nature. 2007;445:168–176. [PubMed]
  • Long F, et al. A 3D digital atlas of C. elegans and its application to single-cell analyses. Nat. Methods. 2009;6:667–672. [PMC free article] [PubMed]
  • Malandain G, et al. Euclidean skeleton. Image Vis. Comput. 1998;16:317–327.
  • Peng H. Bioimage informatics: a new area of engineering biology. Bioinformatics. 2008;24:1827–1836. [PubMed]
  • Peng H, et al. Straightening C. elegans images. Bioinformatics. 2008;24:234–242. [PMC free article] [PubMed]
  • Peng H, et al. V3D enables real-time 3D visualization and quantitative analysis of large-scale biological image data sets. Nat. Biotechnol. 2010;28 [Epub ahead of print, doi: 10.1038/nbt.1612] [PMC free article] [PubMed]
  • Pfeiffer BD, et al. Tools for neuroanatomy and neurogenetics in Drosophila. Proc. Natl Acad. Sci. USA. 2008;105:9715–9720. [PubMed]
  • Rueckert D, et al. Nonrigid registration using free-form deformations: application to breast MR images. IEEE Trans. Med. Imaging. 1999;18:712–721. [PubMed]
  • Sorzano COS, et al. Elastic registration of biological images using vector-spline regulization. IEEE Trans. Biomed. Eng. 2005;52:652–663. [PubMed]
  • Toga AW. Brain Warping. San Diego: Academic Press; 1999.

Articles from Bioinformatics are provided here courtesy of Oxford University Press