# Multi-modal 3D image registration using interactive voxel grid deformation and rendering

Thomas Richard, Yan Chastagnier, Vivien Szabo, Kevin Chalard, Brian

Summa, Jean-Marc Thiery, Tamy Boubekeur, Noura Faraj

<figure><img src="image_1.png" /></figure>

## To cite this version:

Thomas Richard, Yan Chastagnier, Vivien Szabo, Kevin Chalard, Brian Summa, et al., Multi-modal 3D image registration using interactive voxel grid deformation and rendering. VCBM 2022 - 12th Eurographics Workshop on Visual Computing for Biology and Medicine, Sep 2022, Vienna, Austria. 10.2312/vcbm.20221191. http://hal-04702915

HAL Id: hal-04702915

https://hal.science/hal-04702915v1

Submitted on 20 Sep 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>
# Multi-modal 3D image registration using interactive voxel grid deformation and rendering

T. Richard<fnref n="1" />, Y. Chastagnier<fnref n="1" />,<fnref n="2" />, V. Szabo<fnref n="2" />, K. Chalard<fnref n="2" />, B. Summa<fnref n="3" />, J-M. Thiery<fnref n="4" />, T. Boubekeur<fnref n="4" /> and N. Faraj<fnref n="1" />

<figure><img src="image_3.png" /><figcaption>**Figure 1: Registration pipeline overview.** (Left) Application goal: retrieve areas from an atlas in a low-resolution lightsheet acquisition to guide future high-resolution acquisitions. (Middle) Our proposed registration framework with real-time 3D rendering to provide feedback for user-guided deformation at global and local scale. (Right) Atlas registered on the low-resolution acquisition, allowing for high-resolution acquisition at specific areas only and sparing biologists from the need to process a huge amount of data.</figcaption></figure>

## Abstract

We introduce a novel multi-modal 3D image registration framework based on 3D user-guided deformation of both volume's shape and intensity values. Being able to apply deformations in 3D gives access to a wide new range of interactions allowing for the registration of images from any acquisition method and of any organ, complete or partial. Our framework uses a state of the art 3D volume rendering method for real-time feedback on the registration accuracy as well as the image deformation. We propose a novel methodological variation to accurately display 3D segmented voxel grids, which is a requirement in a registration context for visualizing a segmented atlas. Our pipeline is implemented in an open-source software (available via GitHub) and was directly used by biologists for registration of mouse brain model autofluorescence acquisition on the Allen Brain Atlas. The latter mapping allows them to retrieve regions of interest properly identified on the segmented atlas in acquired brain datasets and therefore extract only high-resolution images of those areas, avoiding the creation of images too large to be processed.

## 1. Introduction

Research in medicine and biology has increasingly become multi-modal with each acquisition modality emphasizing a specific feature of a similar organ or phenomenon. This makes 3D image (also called 3D voxel grid) registration between sources a crucial step in data analyses. In this paper, we focus on multi-modal interactive image registration and demonstrate our results on a specific application aiming to study the microvascular defects after sub-archnoid hemorrhages in mouse brains. This work involves the

analysis of 3D images at cellular scales (0.48 µm per pixel), from multiple healthy and diseased brains. Acquiring the whole brain (10x10x5mm) with the required precision would yield images of up to 3,5 terabytes for each brain. Since this collection of images would be extremely difficult to process, biologists only acquire smaller high resolution images (1x1x1mm) limited to a region of interest (ROI). ROIs are previously chosen on a brain atlas (a brain acquisition where each relevant anatomical structure is labelled). Our registration framework allows users to locate ROIs on the brain being acquired by registering an atlas on an initial low resolution

<footnote n="1">¹LIRMM, University of Montpellier, France</footnote>

<footnote n="2">²Institute of Human Genetics, University of Montpellier, France</footnote>

<footnote n="3">³Department of Computer Science, Tulane University, United States</footnote>

<footnote n="4">⁴Adobe research, Paris, France</footnote>

<footnote>© 2022 The Author(s)
Eurographics Proceedings © 2022 The Eurographics Association.
This is an open access article under the terms of the Creative Commons Attribution Li-cense, which permits use, distribution and reproduction in any medium, provided the orig-inal work is properly cited.</footnote>
<figure><img src="image_4.png" /><figcaption>**Figure 2: Color consistency problem:** (Top row) different parts of a single voxel of the deformed grid are projected in different voxels, resulting in multiple colors per voxel. (Bottom row) This problem is solved by computing the color for the voxel center only and apply it to the entire voxel.</figcaption></figure>

acquisition of the whole brain (3.78 µm per pixel), see Figure 1. These positions are then used to drive high resolution acquisitions.

To avoid introducing any offset due to the sample moving, the low and high resolution images need to be acquired during the same acquisition session. Therefore if the registration fails, the ROIs cannot be acquired and all resources involved are wasted, delaying the scientific work. In addition, the registration process needs to be sufficiently precise to keep each high-resolution acquisition within its respective region of interest. But, as the acquisition area is relatively small (1x1x1mm) compared to the ROIs (from 1,475x1,325x1,550mm to 5.075x4.375x3.9mm), high accuracy is not required and a deviation of 325 µm is acceptable. Finally, brains used by the biologists are cut in half due to multiple experiments being conducted at the same time. This common manipulation adds an additional constraint to the registration that also needs to handle partial data. In summary, our application requires a registration process that guarantees a result whatever the input data, partial or complete, but with medium accuracy.

Although state of the art automatic registration methods [QLX*22, GLH*19, NBJC*16] yield accurate results, their automatic nature expose to a potential failure, in particular, with partial data. In contrast, we chose a user-centered approach which guarantees a result, which is more suited to our application.

To provide enough flexibility to handle any type of data with a user-centered workflow, we propose a framework with interactive non-rigid deformations of images with real-time 3D feedback that leverages 3D deformed volume rendering method. However, in registration, it is very common to work with segmented data (a mouse brain atlas in our case). The texture interpolation involved in most state of the art 3D volume rendering methods would display voxels with multiple classes, see Figure 2, making them ill-suited for this task. To address with this issue, we propose a novel volume rendering technique that guarantee a single color per voxel.

The specific contributions of this paper are:

* A novel medical, multi-modal 3D image registration framework that is subject and modality agnostic and is able to perform interactive non-rigid image deformations,

* An advancement of state of the art in deformed volume rendering that accurately displays segmented 3D images, and

* An open source software with a user-friendly interface.

## 2. Related work

### 2.1. Medical image registration

This section provides a brief overview of registration methods limited to those viable for our application of mouse brain registration.

#### 2.1.1. Automatic methods

Most of automatic registration methods infer deformations that best align two images according to an objective function that evaluates match accuracy. Some approaches use intensity information as a similarity criterion [RCHH00], while other methods use automatically chosen landmarks [CWS*03]. Other works specifically designed for mouse brain registration like aMap [NBJC*16], BrainAligner [QLX*22] and MIRACL [GLH*19] achieved accurate results both at structural and cellular scale by leveraging a complex registration pipeline from acquisition to registration. While yielding very accurate solutions, a large number of tedious steps are required thereby making them particularly difficult to implement.

In order to offer high-accuracy in an automatic fashion, methods presented in this section use organ or acquisition system specific information making them efficient in a restricted setup. Moreover, their automatic nature does not necessarily guarantee a convergence, especially with partial data which are not supported for most of them. For these reasons, existing methods are not ideal for applications, such as ours, that have lower accuracy requirements but need guaranteed solutions while being robust to partial data.

#### 2.1.2. User-assisted methods

QuickNII [PCL*19] is software for image registration to an atlas by deforming it to match landmarks that are manually defined on cutting planes. Yoshizawa et al [YTU*10] propose an approach for 3D image registration of intracellular volumes with an interactive system that provides a 3D volume rendering and a GUI to interactively perform the registration. Finally RegistrationShop [SHS*14] is a user-friendly software providing both manual and automatic tools along with a 3D visualization to perform registration.

Existing methods are either designed for a specific target application, or operate on 2D slices which is a significant limitation for 3D volume deformation. RegistrationShop is the closest to meet all the requirements of our application, but only rigid transformations can be performed with real-time visual feedback. Non-rigid registration is performed in an automatic and offline fashion using Elastix [KSM*09].

## 2.2. Volume rendering

GPU-based ray casting [Sch05] is a popular rendering technique that consists of casting rays from the camera center through each pixel of the output image to compute the pixel's color. One of the many variations of this technique allows the display of deformed
volumes. These approaches often rely on texture interpolation and
an embedding tetrahedral mesh is used to transmit the deformation
to the volume using barycentric interpolation [RALSMO15]. Other
works leverage an interactive isosurface extraction scheme that al-
lows for time-varying volume rendering [WFKH07].

While our method is inspired by these works, these solutions
are not suited for our particular application as they fail to render
segmented data accurately. Indeed the interpolation induced by the
isosurface rendering or traditional volume rendering is not suited
for segmented data and would display skewed voxels with multiple
labels as illustrated in Fig. 2.

3. Our 3D volume rendering method

We propose a GPU-based rendering method for the visualization of
voxel grids to efficiently handle segmented data inputs.

**3.1. GPU ray casting**

We load the voxel grid into a 3D texture in the GPU memory, and
we use an embedding Tetrahedral Mesh, noted TM, to guide a ray
casting process performed in the fragment shader. Beforehand we
pre-compute the texture coordinates of the TM vertices, used later
in the pipeline. Then the tetrahedra triangles are rendered using
the graphics pipeline, for each resulting fragment we cast a ray ex-
pressed as $r(t) = P + t \cdot V$ with P the fragments position resulting
from the rasterization of the triangle being rendered, V the normal-
ized ray direction from the camera center through P and $t \in R$
variable parameter used to walk along the ray. We iterate on the
ray by taking the next closest intersection point with a voxel. This
traversal is stopped when an intersection with a non-background
voxel is found or the next intersection point is outside the tetra-
hedron to which the triangle belongs. As all the voxels intersected
by the ray need to be processed, we use a 3D Digital Differential
Analyzer algorithm to compute all ray/voxel intersections.

3.1.1. Voxel value

To get the voxel value corresponding to the intersection point, we
compute its 3D texture coordinates using a barycentric interpola-
tion of the vertex texture coordinates of the tetrahedron in which it
is located. It is this mechanism that allows the tetrahedral mesh to
deform the voxel grid. However, after this process, different parts
of a single voxel might be projected in different voxels in the initial
grid. This results in voxels rendered with multiple colors or even
holes (Figure 2). This is a major issue for segmented data, as a

<figure><img src="image_5.png" /><figcaption>Figure 3: The intersection point is not located in the same tetrahe-
dron as the corresponding voxel center, resulting in cut voxels.</figcaption></figure>

single voxel having multiple classes makes no sense. Therefore, in
contrast to other methods, we propose to take the voxel center in-
stead of the intersection point to retrieve the voxel value, ensuring
a consistent color for all fragments involved in the rendering of the
same voxel.

**3.1.2. Neighborhood search**

In some cases, naively using the voxel center can be problematic:
if the voxel center and the intersection point are in two different
tetrahedrons, wrong texture coordinates are used resulting in visual
artifacts (Figure 3). To address this problem we propose to per-
form an efficient depth-first searchstochastic walk using its local
neighborhood information in order to find the tetrahedron in which
the point is located. For the current tetrahedron, we compute the
$\alpha_k = (p - v_{k+1}) \cdot n_k$ for each of its vertices, with $p$ the intersection
point, $v_k$ the vertex position, $n_k$ the normal of the facet opposite to
$v_k$. This value allows the algorithm to determine on which side of
each tetrahedron facets the intersection point is located. We explore
the neighbor $k$ for which $\alpha_k$ is maximum, i.e the neighbor tetrahe-
dron which contain the facet with the normal that is most oriented
in the direction of the intersection point. We iterate until the tetrahe-
dron that contains the point has been located or after given number
of iterations has been reached.

4. Registration framework

**4.1. Image deformation**

Our registration framework is based on the interactive visualiza-
tion of a deforming 3D image. To do so, we use the embedding
TM, that also drives the visualization, as a deformation structure
to interactively deform images without any additional cost. We use
a multi-scale and robust deformation pipeline [FTB*12] based on
an embedding cage [JSW05] to interactively deform the TM, see
figure 4. A cage is a deformation structure defined as a closed sur-
face mesh with which the user interacts. All TM's vertices are ex-
pressed with cage coordinates that propagate the cage deformations
to the TM. We use both Green Coordinates [LLCO08] defined only
on the interior of the cage and Mean Value Coordinates [Flo03]
defined everywhere such that we support cages that do not com-
pletely enclose the TM. This cage system avoids computing de-
formations directly on the TM which would be too costly to be
interactive. Therefore we can apply a high-quality non-linear as-
rigid-as-possible deformation (ARAP) on the cage [SA07], result-
ing on very intuitive semi-automatic deformations of the TM. The
cage as well as the TM are generated with a Delaunay Refinement
algorithm applied to a binary version of the image provided by the
CGAL library [AJR*22].

4.2. Registration workflow

**Global registration:** At the beginning of the registration process, image differences can be massive due to different orientation and position. The first step is to use the global tool, a standard 3D manipulator, to easily apply translation, rotation, and scale to the TM and align the two images. The 3D visualization is particularly important here, because 2D views cannot capture the global positioning and orientation of objects which makes the estimation of a good deformation very difficult, see Figure 5.
<figure><img src="image_6.png" /><figcaption>**Figure 4:** Our registration framework uses two different deformation structures, a tetrahedral mesh (right) used for the visualization and deformation of images, and a triangular mesh called a cage (left) used to deform the latter TM.</figcaption></figure>

**Surface registration:** At this stage, images are globally aligned, but differences in shape can lead to surface mismatches, hence the need for a non-rigid registration. We propose to use a deformation method to adjust entire portions of the volume boundary surface while keeping the well registered parts in place: the ARAP cage deformation tool. The user can mark any vertices as fixed (well-registered), and move any vertex subset to get an intuitive deformation that allows biologists to interactively manipulate a 3D image as any 3D deformable surface. The resulting 3D volume deformation is displayed in real-time and is used to refine the process.

**Inner registration:** Image surfaces are now correctly aligned, however some inner misalignment may persist. To correct these small portions, we provide a tool to allow a user to directly move TMs vertices independently, resulting in small scale deformations.

### 4.3. Volume inspection

It is crucial that the user has access to flexible inspection of the registration accuracy to efficiently estimate which deformation to apply.

**Alpha blending:** In a registration context, it is convenient to have an option for mixing colors of images to register. This allows a unified view of both datasets to efficiently estimate the misalignment. To achieve this effect, we have set up double pass rendering. The 3D rendering of the deformed image is stored into a texture instead of being displayed on screen. This texture is then passed to the 3D rendering of the second image. The final color is computed as the alpha blending of the first and the second rendering color with a user defined alpha value.

**Cutting planes:** For the inspection of inner part of volumes, three axis-aligned cutting planes can be manipulated interactively. The voxels that have their center on the averted side of one of the planes are treated as background voxels during the ray traversal.

**2D rendering:** Our framework primarily uses a 3D visualization of the image volume, however 2D views are still a convenient way to inspecting multiple views of the volume while performing the deformation on the 3D view. As we do not need to display a volume, we use a simplified version of our rendering method. Instead of casting rays, we directly compute which voxels to draw from the view direction and the bounding box of the area to be rendered. The same deformation scheme is applied to display the deformed image.

<figure><img src="image_7.png" /><figcaption>**Figure 5:** Example of 3D visualization (left) and a 2D visualization (right) of extreme misalignment between a brain auto-fluorescence acquisition (green) and an atlas (blue). Unlike the 2D view, the 3D visualization provides enough context to quickly deduce the transformations to operate for a registration.</figcaption></figure>

## 5. Results

### 5.1. Experimental protocol

During the experiment, low resolution autofluorescence images (3.8µm pixel resolution) of the whole brain are first acquired. Then the proposed pipeline and its software implementation are used to register the Allen Brain Atlas [Don08] on the acquisitions, which allow us to convert the center of each ROI from the atlas to acquired image. Finally, those positions are converted to microscope coordinates and used as origin for the final high resolution acquisitions (0.48µm pixel resolution). This pipeline is repeated for 9 brains.

<table><caption>**Table 1:** Deviation for each lightsheet aligned with an atlas. A registration was performed by a biologist in under 20 minutes.</caption><thead><tr><td>Brain</td><td>Mean (µm)</td><td>Std (µm)</td><td>Median (µm)</td></tr></thead><tbody><tr><td>I</td><td>156.532</td><td>107.786</td><td>134.629</td></tr><tr><td>II</td><td>148.947</td><td>112.057</td><td>125.0</td></tr><tr><td>III</td><td>163.049</td><td>107.162</td><td>143.614</td></tr><tr><td>IV</td><td>180.357</td><td>103.521</td><td>176.777</td></tr><tr><td>V</td><td>205.082</td><td>97.603</td><td>196.850</td></tr><tr><td>VI</td><td>205.589</td><td>98.432</td><td>201.556</td></tr><tr><td>VII</td><td>155.46</td><td>107.971</td><td>143.614</td></tr><tr><td>VIII</td><td>154.797</td><td>105.112</td><td>132.423</td></tr><tr><td>IX</td><td>170.553</td><td>129.917</td><td>145.774</td></tr><tr><td>All</td><td>171.151</td><td>107.729</td><td>155.581</td></tr></tbody></table>

### 5.2. Validation

To evaluate our registration pipeline, we used the registration deviation, defined has the average of the distances between 3D points on the registered Atlas and manually placed on the acquisitions. All the following results has been computed on registrations directly performed by biologists taking under 20 minutes per brain, during the protocol described in Section 5.1.

**Volume registration:** To evaluate the registration of the volume, we computed the deviation on points randomly sampled on each brain surface. To extract them, we binarized images and used a Sobel edge detector to highlight sharp changes in intensity. The mean, standard deviation, and median for each brain in reported in the table 1. Our results show that the worst registration was performed on the brain VI with a 205.589 µm mean deviation of the surface. However, we are still below the 325 µm threshold, which is the maximum acceptable deviation for our application.
<figure><img src="image_8.png" /><figcaption>Figure 6: Deviation measures of 3 brain regions, important for our application. For each of the 9 brains, the deviation of each region as been computed using 8 manually placed markers.</figcaption></figure>

<figure><img src="image_9.png" /></figure>

**Inner registration:** For the evaluation of internal parts registration, we manually placed 8 markers on 3 of our application ROIs: the hippocampus, the cortex, and the striatum. While other parts of the brain are important, but as they are not clearly visible on the lightsheet acquisition we did not evaluate them. A box plot presenting the deviation of each brain part for the 9 acquired brains is presented Figure 6. Our results show that the best registration was on the cortex with a 172.32 µm mean deviation. As this region is the most visible on the lightsheet and is located on the brain surface, this result makes sense. The hippocampus and the striatum have a respective mean deviation of 198.15 µm and 213.59 µm, which is within the range of acceptable deviation for our application. We can see that the registration of inner parts is overall worse than the registration of the surface. This is understandable since it is easier to identify the surface of the brain in the lightsheet than to identify these small areas.

## 6. Conclusion

In this work, we proposed a novel interactive framework for multi-modal image registration based on 3D used-guided registration of both volume's shape and intensity values. We also introduced a variation of traditional volume rendering that accurately visualizes labeled data, enabling the use of atlases. The user-friendly open source software packaged with this work was successfully used by biologists to register autofluorescence and MRI images to an atlas in under 20 minutes, with a 171.151 µm mean surface deviation. As our framework is very flexible, future work could study the addition of automatic methods for certain stages of the pipeline. It would then be possible to benefit from both the resilience of our approach and the accuracy of these algorithms.

## Acknowledgements

This work was supported by DOE ASCR DE-SC0022873, NSF IIS 2136744, and LabEx NUMEV (ANR-10-LABX-0020) within the I-Site MUSE (ANR-16-IDEX-0006).

## References

[AJR*22] ALLIEZ P., JAMIN C., RINEAU L., TAYEB S., TOURNOIS J., YVINEC M.: 3D mesh generation. In *CGAL User and Reference Manual*, 5.5 ed. CGAL Editorial Board, 2022. 3

[CWS*03] CHUI H., WIN L., SCHULTZ R., DUNCAN J. S., RANGARA-JAN A.: A unified non-rigid feature registration method for brain mapping. *Medical image analysis* 7, 2 (2003), 113–130. 2

[Don08] DONG H. W.: The Allen reference atlas: A digital color brain atlas of the C57Bl/6J male mouse. John Wiley & Sons Inc, 2008. 4

[Flo03] FLOATER M. S.: Mean value coordinates. *Computer aided geometric design* 20, 1 (2003), 19–27. 3

[FTB*12] FARAJ N., THIERY J.-M., BLOCH I., VARSIER N., WIART J., BOUBEKEUR T.: Robust and scalable interactive freeform modeling of high definition medical images. In *Workshop on Mesh Processing in Medical Image Analysis* (2012), Springer, pp. 1–11. 3

[GLH*19] GOUBRAN M., LEUZE C., HSUEH B., ASWENDT M., YE L., TIAN Q., CHENG M. Y., CROW A., STEINBERG G. K., MCNAB J. A., ET AL.: Multimodal image registration and connectivity analysis for integration of connectomic data from microscopy to mri. *Nature communications* 10, 1 (2019), 1–17. 2

[JSW05] JU T., SCHAEFER S., WARREN J.: Mean value coordinates for closed triangular meshes. In *ACM Siggraph 2005 Papers*. 2005, pp. 561–566. 3

[KSM*09] KLEIN S., STARING M., MURPHY K., VIERGEVER M. A., PLUM J. P.: Elastix: a toolbox for intensity-based medical image registration. *IEEE transactions on medical imaging* 29, 1 (2009), 196–205. 2

[LLCO08] LIPMAN Y., LEVIN D., COHEN-OR D.: Green coordinates. *ACM Transactions on Graphics* 27, 3 (2008), 1–10. 3

[NBJC*16] NIEDWOROK C. J., BROWN A. P., JORGE CARDOSO M., OSTEN P., OURSELIN S., MODAT M., MARGRIE T. W.: amap is a validated pipeline for registration and segmentation of high-resolution mouse brain data. *Nature communications* 7, 1 (2016), 1–9. 2

[PCL*19] PUCHADES M. A., CSUCS G., LEDERGERBER D., LEER-GAARD T. B., BJAALIE J. G.: Spatial registration of serial microscopic brain images to three-dimensional reference atlases with the quicknii tool. *PloS one* 14, 5 (2019), e0216796. 2

[QLX*22] QU L., LI Y., XIE P., LIU L., WANG Y., WU J., LIU Y., WANG T., LI L., GUO K., ET AL.: Cross-modal coherent registration of whole mouse brains. *Nature Methods* 19, 1 (2022), 111–118. 2

[RALSMO15] RODRIGUEZ AGUILERA A., LEON SALAS A., MARTIN D., OTADUY M.: A parallel resampling method for interactive deformation of volumetric models. *Computers & Graphics* 53 (10 2015). 3

[RCHH00] RUECKERT D., CLARKSON M. J., HILL D. L., HAWKES D. J.: Non-rigid registration using higher-order mutual information. In *Medical Imaging 2000: Image Processing* (2000), vol. 3979, SPIE, pp. 438–447. 2

[SA07] SORKINE O., ALEXA M.: As-Rigid-As-Possible Surface Modeling. In *Geometry Processing* (2007), Belyaev A., Garland M., (Eds.), The Eurographics Association. 3

[Sch05] SCHARSACH H.: Advanced gpu raycasting. In *In Proceedings of CESCG 2005* (2005), pp. 69–76. 2

[SHS*14] SMIT N. N., HANEVELD B. K., STARING M., EISEMANN E., BOTHA C. P., VILANOVA A.: RegistrationShop: An Interactive 3D Medical Volume Registration System. In *Eurographics Workshop on Visual Computing for Biology and Medicine* (2014), The Eurographics Association. 2

[WFKH07] WALD I., FRIEDRICH H., KNOLL A., HANSEN C. D.: Interactive isosurface ray tracing of time-varying tetrahedral volumes. *IEEE Transactions on Visualization and Computer Graphics* 13, 6 (2007), 1727–1734. 3

[YTU*10] YOSHIZAWA S., TAKEMOTO S., UMEBAYASHI M., MUROI M., KAZAMI S., MIYOSHI H., YOKOTA H.: Interactive registration of intracellular volumes with radial basis functions. *International Journal of Computational Intelligence and Applications* 9 (09 2010), 207–224. 2