
				  our work is motivated by the longitudinal study of early brain development in neuroimaging ,   which is essential to predict the neurological disorders in early stages .  
the study , however , is challenging due to two primary reasons : the large - scale nonlinear shape changes ( the image processing challenge ) and the huge amount of computational power the problem requires ( the computational challenge ) .
while robust image registrations have been studied extensively in the literature [ 13 ] , registration of the brain at early development stage is still challenging as the growth process can involve very large - scale size and shape changes , as well as changes in tissue properties and appearance ( figure 1 ) .
knickmeyer et al .   showed that the brain volume grows by 100% the first year and 15% the second year , whereas the cerebellum shows 220% volume growth for the first and another 15% for the second year .
these numbers indicate very different growth rates of different anatomical structures . through regression on shape representations , datar et al .   illustrated that the rapid volume changes are also paralleled by significant shape changes , which describe the dynamic pattern of localized , nonlinear growth .
a major clinical research question is to find a link between cognitive development and the rapid , locally varying growth of specific anatomical structures .
also , the process of white matter myelination , which manifests as two distinct white matter appearance patterns primarily during the first year of development , imposes another significant challenge as image intensities need to be interpreted differently at different stages . to approach these problems ,
a robust registration method is necessary for mapping longitudinal brain mri to a reference space so that we can perform reliable analysis of the tissue property changes reflected in mr measurements .
this method should not rely on raw intensity measurements , while it should be capable of estimating large structural deformations .
xue et al .   addressed these issues by proposing a registration scheme for neonatal brains by registering inflated cortical surfaces extracted from the mri .
their registration method does not make use of voxel - wise image information and is not intended to capture growth in internal structures .
it is designed for analyzing cortical surfaces , and it does not define a transformation for the whole brain volume . in this paper , we propose a new registration framework for longitudinal brain mri that makes use of underlying anatomies , which are represented by geometries and class posterior images .
this framework can match internal regions and simultaneously preserve a consistent mapping for the boundaries of relevant anatomical objects .
we show results of registering neonatal brain mri to 2-year old brain mri of the same subjects obtained in a longitudinal neuroimaging study .
our method consistently provides transformations that better preserve time - varying structures than those obtained by intensity - only registration .
the study presents a significant computational challenge because dense , free - form mapping is computationally expensive .
in particular , a correspondence - free geometric norm such as  currents  has computational complexity of o(m ) where m is the number of geometric elements , which is in the same order of the image volume .
these methods require supercomputing power to run , but still take a considerable amount of time to complete . while access to a supercomputer system or even a cluster is not available to most researchers , robust registration in the presence of large deformations is essential .
fortunately , this computation problem finds an economical solution via the work of high - performance computing ( hpc ) general processing on graphical processing units ( gpus ) community .
modern gpus , which are available on commodity hardware , could offer several teraflops of peak performance , which is equivalent to that of a super computer in the mid-90s .
there have been a number of image processing applications being implemented on gpus [ 1013 ] .
most applications achieve from 20x to several magnitudes of speedup when moved to gpus in comparison to conventional cpu versions .
a closely related example is the fast greedy iterative diffeomorphic registration framework by ha et al .   using gpus that achieved 60x speedup in comparison to an optimized , fully parallel version running on an eight - core xeon 3.2  ghz sever .
while gpus are highly efficient for parallel data processing , they are slow for serial scalar code , which exists in any processing algorithms . to achieve a high performance
, it often requires developers to reformulate the problem so that it is mapped well to the gpu architecture . in this paper
we introduce two primary performance improvements with a combination of two approaches : ( 1 ) an algorithmic improvement using a particle mesh approach and ( 2 ) parallelisation using gpus .
we are able to solve the practical problem in real time and gain speedup of nearly three magnitudes order over cpu reference implementation .
the development of image registration is the major focus of computational anatomy [ 3 , 1517 ] .
there are two large bodies of research that our method is developed on : large deformation diffeomorphic registration and multicompartment registration via surface matching . the analysis of shape and size in anatomical images models anatomy as a deformable template .
common image registration techniques based on thin - plate splines and linear - elastic models [ 19 , 20 ] have a small deformation assumption and can not be used due to the large localized deformations associated with early brain development . the large deformation model for computing transformations developed by christensen et al .  
overcomes the limitations of the small deformations model by ensuring that the transformations computed between imagery are diffeomorphic ( smooth and invertible ) . based on the large deformation framework by miller and younes ,
this method computes an optimal velocity field that satisfies the euler - lagrange variational minimization constraints .
our method is developed upon the greedy approach proposed by christensen et al .   that often reports high registration quality comparable to lddmm approach but requires significantly lower amount of computation .  
surface matching is usually considered a semiautomatic procedure and a  point correspondence  task . first , a small number of anatomical features such as landmark points and curve are identified by hand .
next , each of these features of the discretized surface finds its corresponding feature on the target .
this matching information is then used to guide the transformation of the entire surface [ 19 , 23 , 24 ] .
the currents distance was introduced by vaillant and glauns   as a way of comparing shapes ( point sets , curves , surfaces ) without having to rely on computing correspondences between features in each shape .
most of the current registration techniques currently being used in computational anatomy are based on single - subject anatomy [ 18 , 2527 ] .
this approach is limited since a single anatomy can not faithfully represent the complex structural variability and development of the subjects .
our method is based on the multicompartment model proposed by glaunes and joshi   which defines a combined measurement acting on different anatomical features such as point , curve , and surface to enhance registration quality .
existing works refer to computational anatomy , especially free - from matching , as a robust but computationally expensive framework which is difficult to achieve in real time on commodity hardware [ 9 , 29 , 30 ] . in this paper
, we consider gpu implementation as an integral part of our work and an essential contribution that allows scientists to accurately register images and geometries in time - critical applications .
we propose a new registration method that makes use of the underlying anatomy in the mr images .  
we begin by extracting probabilistic and geometric anatomical descriptors from the images , followed by computing a transformation that minimizes the distance between the anatomical descriptors .  
we associate each position x with a vector of tissue probability densities . in a given anatomy , we capture the underlying structures by estimating , for each image , the class posterior mass functions associated with each of the classes . given  as the underlying coordinate system of the brain anatomies , each anatomy i=1,
,i , j = ns(2) } , 
							 where nc is the number of probability images , ns is the number of surfaces , pc(x ) is the class posterior for tissue c at location x , and j(2 ) are 2-dimensional submanifolds of  ( surfaces ) .
as we are interested in capturing major growth of the white matter and gray matter growth , we represent brain anatomy as a tuple of the probabilities { pwm(x ) , pgm(x ) , pcsf(x ) } representing class posterior probabilities of white matter , gray matter , and cerebrospinal fluid respectively , followed by the surfaces of white matter , gray matter , and cerebellum .
the classification of brain mr images with mature white matter structures into class posteriors is well studied .
we extract the posteriors from 2-year old brain mr images using the segmentation method proposed by van leemput et al . .
the method generates posterior probabilities for white matter ( wm ) , gray matter ( gm ) , and cerebrospinal fluid ( csf ) .
these probabilities can then be used to generate surfaces from the maximum a posteriori tissue label maps .
the classification of neonatal brain mr images is challenging as the white matter structure undergoes myelination , where the fibers are being covered in myelin sheathes .
several researchers have proposed methods that make use of prior information from an atlas or template that takes into account the special white matter appearance due to myelination .
we use the method described by prastawa et al .   for extracting the tissue class posteriors of neonatal brain mri , which includes for myelinated wm , nonmyelinated wm , gm , and csf .
these can then be used to create an equivalent anatomy to the 2-year old brain by combining the two white matter class probabilities which then leads to a single white matter surface .
the white matter and gray matter surfaces are generated from the maximum a posteriori ( map ) segmentation label maps using the marching cubes algorithm .
the cerebellum surfaces are generated from semiautomated segmentations that are obtained by affinely registering a template image followed by a supervised level set segmentation .
the cerebellum has a significant role in motor function , and it is explicitly modeled as it undergoes the most rapid volume change during the first year of development and thus presents a localized large - scale deformation
.   given two anatomies 1 and 2 , the registration problem can be formulated as an estimation problem for the transformation h that minimizes 
 ( 2)h^=argminh  e(h1,2)2+d(h , e)2  , 
							 where h  1 is the transformed anatomy , e( ,  ) is a metric between anatomies , and d( , e ) is a metric on a group of transformations that penalizes deviations from the identity transformation e. the anatomy is transformed using backward mapping for probability image and forward mapping for geometries : 
 ( 3)h1=h{pi , c=1(x),  ,pi , c = nc(x ) ,  i , j=1(2), 
,pi , c = nc(x)h1 ,  h(i , j=1(2)),  ,h(i , j = ns(2))}. 
  we define distance between anatomies e by defining a norm on an anatomy as a combination of the l norm on the class posteriors and a reproducing kernel hilbert space norm on the manifolds defined as  currents  through glaunes et al . .
this norm does not require prior knowledge on geometric correspondence , as compared to other geometry matching methods [ 19 , 23 , 24 ] that require explicit specification of geometric correspondences .
more precisely , they require that a certain point q in object a is the same ( anatomically ) as point q in object b ; hence , object a and object b are required to have the same number of elements and the same ordering of elements . in comparison , the currents norm defines distance between objects based on the norm measurement of the union of the geometric objects .
the currents norm is thus correspondence - free and does not require the objects in comparison to have equal number of elements and the same ordering or anatomical definition .
in contrast to iterative closest point ( icp ) algorithm   which defines correspondence based on the closest features on the euclidean space , the currents matching algorithm compares each element to all other elements . since there may not exist an anatomically homologous correspondence for every feature due to discretization , the currents matching is more robust than existing methods .
manifolds with different number of elements ( resolutions ) can thus be matched using the currents norm due to this property .
for an oriented surface (2 ) in r the norm [ (2 ) ] is the vector - valued borel measure corresponding to the collection of unit normal vectors to (2 ) , distributed with density equal to the element of surface area ds and can be written as (x)ds(x ) , where (x ) is the unit normal and ds(x ) is the surface measure at point x. the currents representation forms a vector space that admits linear operations , unlike other surface representations such as the signed distance map [ 3638 ] . given an anatomy  the k - norm of [  ] is composed as 
 ( 4)||[]||k2=||p(x)||l2+||[(2)]||k , 
							 where the probabilistic norm is defined as 
 ( 5)||p(x)||l2=c=1nc||p1,c(x)p2,c(x)||kl2=|p1,c(x)p2,c(x)|2dx 
							 and the currents norm is given by 
 ( 6)||[(2)]||k=(2)k(x , y)(x),(y)d(x)d(y ) , 
							 where k( ,  ) is a shift - invariant kernel ( e.g. , gaussian or cauchy ) . when (2 ) is a discrete triangular mesh with nf faces , a good approximation of the norm
can be computed by replacing [ (2 ) ] by a sum of vector - valued dirac masses 
 ( 7)||[(2)]||k2=f=1nff=1nf(f),(f)k(c(f),c(f ) ) , 
							 where nf is the number of faces of the triangulation and , for any face f , c(f ) is its center and (f ) its normal vector with the length capturing the area of each triangle .
having defined the norm on probability images and surfaces , the dissimilarity metric between anatomies ||[1][2]||k is given by 
 ( 8)wpc=1nc||p1,c(x)p2,c(x)||kl2+wgj=1ns||[1,j(2)2,j(2)]||k2  = wpc=1nc|p1,c(x)p2,c(x)|2dx  + wgj=1ns||[1,j(2)(2,j(2))]||k2 , 
							 where the distance between two surface currents ||[1,j(2)2,j(2)]||k = ||[1(2)(2(2))]||k is computed as the norm of the union between surface 1(2 ) and surface 2(2 ) with negative measures , wp and wg are scalar weights that balance the influence of probabilistic and geometric presentations .
we use the large deformation framework   that generates dense deformation maps in r by integrating time - dependent velocity fields .
the flow equation is given by h(t , x)/t = v(t , h(t , x ) ) , with h(0 , x ) = x , and we define h(x) = h(1 , x ) , which is a one - to - one map in  , that is , a diffeomorphism .
the invertibility of the mapping is a desirable property as it enables analysis in different spaces and time points as needed .
we define an energy functional that ensures the regularity of the transformations on the velocity fields : ||v(t,)||v = lv(t , x),lv(t , x)dx , where l is a differential operator acting on vector fields .
this energy also defines a distance in the group of diffeomorphisms :   
 ( 9)d2(h , e)=inf  v , pv(1,)=h01||lv(t)||v2dt . 
 
the registration optimizations in this paper are performed using a greedy approach by iteratively performing gradient descent on velocity fields and updating the transformations via an euler integration of the o.d.e . at each iteration of the algorithm
the velocity field is calculated by solving the pde : 
 ( 10)lv = f(h ) , 
							 where v is the transformation velocity field , l =  + + , and f(h ) is the variation of ||[h  1][2]||k with respect to h. this variation is a combination of the variation of the l norm on the class posteriors and of the currents norm , computed using the gradient 
 ( 11)||[(2)]||k2xr=f|xrf[(f)xr]f=1nfk(c(f),c(f))(f )  + 23f=1nfk(c(f),c(f))c(f)(f)t(f ) , 
							 given that points { xr , xs , xt } form the triangular face f and its center c(f ) = ( xr + xs + xt)/3 and its area - weighted normal (f ) = ( 1/2)(xs  xr)(xt  xr ) . the currents representation is generalized to account for not only surface meshes but also other m - submanifolds such as point sets or curves .
the currents associated to an oriented m - submanifold  is the linear functional [  ] defined by [ ]( ) = . when (0 ) = xi is a collection of points [ (0 ) ] is a set of dirac delta measures centered at the points that is , [ (0 ) ] = ii(x  xi ) .
when (1 ) is a curve in  , [ (1 ) ] is the vector - valued borel measure corresponding to the collection of unit - tangent vectors to the curve , distributed with density equal to the element of length dl :  
 ( 12)||[(1)]||k2=l=1nll=1nl(l),(l)k(c(l),c(l ) ) , 
							 where nl is the number of line segments and , for any segment l with vertices v0 and v1 , c(l ) = ( vo + v1)/2 is its center and (l ) = v1  v0 is its tangent vertor with its length capturing the length of the line segment . using extra submanifold presentation helps capture important properties of the target anatomy and hence could potentially direct the registration and improve the result ; see glaunes et al .   for more details .
the implementation of our registration framework is based on two critical sections : large deformation diffeomorphic image registration and currents norm computation .
the former requires a linear solver ( 10 ) on an m  m matrix where m is the number of input volume elements ( 10 millions on typical brain image ) .
the linear system is sparse and there exists efficient solver with complexity of o(mlog  ( m ) ) .
the performance is even further amortized using a multiscale iterative method resembling a multigrid solver .
the method maps well to the gpu architecture and significantly reduces the running time from several hours on eight - core sever to a few minutes on commodity hardware .
we refer to the work by ha et al .   for details of the method and implementation of large deformation diffeomorphic
, we concentrate on the problem of how to implement norm computation efficiently based on gpu methodologies . at a broad level , the gpus consist of several streaming multiprocessors  each of them contains a number of streaming processors and a small shared memory unit .
given a set of data ( an input stream ) , a series of operations ( kernel functions ) are applied to each element in the stream and produce another set of output data ( an output stream ) .
this formulation has been used to design efficient gpu - based sorting and numerical computations [ 14 , 40 , 41 ] .  
the major challenge of computing the currents norm ( 7 ) for real brain surfaces is the high computational cost to compute the dissimilarity metric of all pairs of surface elements , which is o(nf ) , where nf is the number of faces .
a surface extracted from an n volume has the average complexity of n faces , that produces millions surfaces for a typical 256 input . for computational tractability ,
durrleman et al .   used a sparse representation of the surface based on matching pursuit algorithm . on the other hand ,
an efficient framework based on the standard fast gauss transform   requires the construction and maintenance of the kd - tree structures on the fly .
the primary problem of these approaches is that while the performance is insufficient for real - time applications on conventional systems , they are too sophisticated to make use of processing power of modern parallel computing models on gpus . also in practice , we use large kernel width for the currents norm to match major structures .
this is not ideal for kd - tree - based implementations that are designed for querying small set of nearest neighbor . implementing these ideas on gpus
, we employ a more parallelizable approach based on the particle mesh approximation ( pm ) .
this approximation has been extensively studied in a closely related problem  the cosmological n - body simulation , which requires the computation of the interaction between every single pair of objects ( see hockney and eastwood   for details ) .
the particle mesh approximation , as shown in figure 3 , includes four main steps . 

the quantization step in each spacial direction determines the grid size , hence , the complexity of the grid computation .
the finer the grid means the higher quality of the approximation but the more computation involving .  
 splatting that maps computation from an unstructured grid to a structured grid .
as the computation , which involves kernel convolution and gradient computation , is taking place in a regular domain , the integration can exploit the parallel processing power of special computing units such as gpus .  

interpolation that interprets computational results from the image space back to the geometrical space , in other words , to reconstruct the unstructured grid out of the structured domain .
marching cube   is an example of techniques using interpolation to extract isosurfaces from mr images .  
the splatting / interpolation operation pair works as a connection between the computation on regular domain and irregular domain
. we will go into details of how to implement this interface on the parallel architecture as the method can be widely used not only for the norm computation but any mixed  geometric and probabilistic  computation in general .
we consider this strategy as a crucial method for efficient parallel computation on an irregular domain .
the error in particle mesh approximation is influenced by two factors : the grid spacing and the width of the convolution kernel , as shown in figure 4 .
we chose the image grid spacing , thus the error is bounded by the image resolution .
as being aforementioned , we use large kernel widths in practice which is ideal for pm . note that pm approximation breaks down when kernel width is less than grid spacing . while the approximation helps reduce the complexity to mlog  m where m is the volume size of the embedded grid ,
the total complexity of the method is still very high . on a high - end workstation with 8-cpu cores ,
a highly optimized multithreaded implementation in c++ takes several hours for one matching pair hence can not be used for parameter exploration and real - time analysis .
based on the gpu framework by ha et al . , we developed an implementation that runs entirely on the gpu to exploit parallel efficiency of regular grid presentation .   to achieve the maximum performance efficiency
, we optimized the four steps of particle mesh method on gpus . here , we describe the performance keys and important details to implement these steps .  
without prior information , computational grid is typically chosen as a discretization of the bounding box with extra border regions to prevent out - of - bound quantization error .
since probabilistic and geometric descriptors coexist in our representation , the computational grid is effectively chosen as the original grid .
this selection guarantees that it will not introduce further quantization errors than the original discretized errors inherent to the construction of geometric descriptors .
this strategy also limits the complexity of the combining technique to the original order of computation if we use only probabilistic terms .  
the main purpose of the splatting function is to construct a regular n - dimensional scalar or vector field from its discrete sample points .
the constructed grid should satisfy an inverse operation , the interpolation , so that when applied to the reconstructed grid will reproduce the sample points .
in other words , interpolation ( splatting ( e ) )   = e with e is an arbitrary input .
this duality of splatting and interpolation reflects the fact that probabilistic and geometry descriptors are just the domain representations of the same subject .
we also exploit the duality to validate the correctness of our implementation of the splatting function through its dual counterpart .
the splatting function is defined by trouv and younes   through a linear operator  that applies a mapping vector field v :    to a discrete image i :   r to perform an interpolation on the grid gv = { x + v(x )
| x   } , mathematically saying 
 ( 13)(i)(x)=()(x+v(x ) ) , 
									 with  being linear interpolation , defined by 
 ( 14)()(i)(x)={0,1}dc(x)i(x1+1,x2+2,  ,xd+d ) , 
									 with z being the integer part of real number z and { z } = z  z is the fractional part .
while the splatting operator was defined through a vector field , the splatting conversion from the irregular grid to the regular domain for an arbitrary input is defined as being a zero vector field .  
figure 5 displays the construction of a regular grid presentation of geometrical descriptors in 2d through splatting operator .
the value at a grid point is computed by accumulating values interpolated at that point from its geometrical neighbors .
thus , closer neighbors will have more influence on the value of the point than farther points .
in fact , we only need to consider the one - ring neighbors as farther points have a negligible contribution to its final value .
though the splatting operator has a linear complexity in terms of the size of geometry descriptors , it is the performance bottleneck in practice .
even close discrete points do not share the same cache as the definition of a neighbor in 3d does not map to a neighbor in the linear cpu cache .
the multithread - based cpu splatting , which assigns each thread a single geometrical element , however , has a resource - fighting problem .
that is , when we integrate grid value from its neighbor submanifold elements , it is likely that there are several elements in the neighbor , and these elements , which are assigned different threads , may try to accumulate the grid value at the same time .
a better solution is based on atomic operations , which are guaranteed to complete without being interrupted by the actions of other threads .
currently , cuda does not support atomic operations for floating point numbers but integer numbers . here
we propose two different approaches for splatting computation : the collision - free splatting scheme via a fast parallel sorting and the atomic splatting scheme using a fixed - point representation .
the   collision - free splatting scheme is applied for systems without any atomic operation support . as shown in figure 6
, we employ a fast parallel sorting to resolve the shared - resource fighting problem .
the third step is performed using the optimal segmented scan function in the cuda performance processing library ( cudpp ) .
the sorting scheme on cuda is a magnitude faster than an optimal multithreaded , multicore implementation on cpus . while this scheme is quite efficient and is the only solution on cuda 1.0 devices , its performance largely depends on implementations of two essential functions : the parallel sorting and the segmented scan .
also the memory requirement of the method is proportional to the number of shooting points ( which can be as large as the grid size ) and the size of the neighbor ( which is eight for 3d implementation ) .
the memory usage become even worse as fast parallel sorting based on radix sorting that could not perform in - place but out - of - place sorting so the method requires another copy of the contribution array . in many circumstances , we found a better solution both in terms of performance and memory usage based on atomic operations supported on the cuda 1.1 and later devices .
the   atomic splatting scheme resolves the shared - resource fighting problem using atomic operations . while atomic floating point operations are currently not supported , it is possible to simulate this operation based on a fixed - point presentation .
in particular , instead of accumulating the floating point buffer , we explicitly convert floating point values to integer representations through a scale .
this allows the accumulation to be performed on integer buffers . the parallel splatting accumulation is implemented by assigning each geometrical descriptor a gpu thread , which computes the contribution to the neighbor grid points based on its current value and distances to the neighbor grids .
these floating point contribution values are then converted to integer presentation through a scale number , which is normally chosen as a power of two ( we use 2 , in practice ) so that a fast shifting function is sufficient to perform the scale .
the atomic integer adding operator allows values to be accumulated atomically at each grid point concurrently from thousand of threads . in our implementation , the contribution computations 
upscale and the integer accumulation steps  are merged to one processing kernel to eliminate ( 1 ) an extra contribution buffer , ( 2 ) extra memory bandwidth usage to store , reload , and rescale the contribution buffer from the global memory , and ( 3 ) the call overheads of the three different gpu processing kernel .
the accumulation result is then converted back to floating value by the division to the same scale value .
we further amortize the performance on later generation of gpu devices using the atomic shared - memory operations , which are a magnitude faster than operations on gpu global memory .
we exploit the fact that in diffeomorphic registration the velocity field is often smooth and show large coherence between neighbors , so it is likely that two close points will share the same neighbors .
thus , it would be better to accumulate the values of the shared neighbors in the shared memory instead of the global memory .
we assign each block of threads a close set of splatting points and maintain a shared memory accumulation buffer between threads of the same block .
the accumulation results on the shared memory are then atomically added to the accumulation buffer on the global memory .
this approach exploits the fast atomic functions on the shared memory and at the same time reduces the number of global atomic operations .
this optimization is especially effective on a dense velocity field , which shows significant coherency between neighbor points .  
even though the probabilistic and geometric descriptors are represented by independent data structures on separate domains , they are , in fact , different representatives of the same anatomical subject that is updated during ode integration under the influence of the time - dependent velocity field along a registration evolution path .
while the computation occurs on the regular grid , interpolation is necessary to maintain the consistency of multicompartment anatomies as they undergo deformation . given a deformation h , we update probabilistic images using backward mapping and geometries using forward mapping ( 3 ) .   
a computationally efficient version of ode integration is the recursive equation that computes the deformation at time t based on the deformation at the time t  1 .
this computation is done by a reverse mapping operator ( figure 7 ) , which assigns each destination grid point a value interpolated from the source volume grid 's neighbor points .
the reason for using a reverse mapping operator instead of a forward mapping one is to avoid missing data values at the grid points that makes computation of forward mappings intractable .
the update of geometric descriptors is based on a forward vector field derived by inverting direction of the reverse velocity field .
while the selection of interpolation strategies such as 3d linear interpolation , cubic interpolation , high - order interpolation depends on the quality requirement of the registration , the updating process of both probabilistic and geometric descriptor needs to share the same interpolation strategy so that they are consistent with one another . in practice
, 3d linear interpolation is the most popular technique because it is computationally simple and efficient and it can produce satisfactory results especially with large kernel width for currents norm . on gpus , this interpolation process is fully hardware accelerated with 3d texture volume support from cuda 2.0 apis .
another optimization is based on the texture cache that helps improve the lookup time from the source volume due to large coherency in the diffeomorphic deformation fields .  
besides an optimized , parallel implementation for particle mesh computation , we further improve the performance with parallel surface normal and multiscale computation on gpus .
these optimizations keep the entire processing flow on gpus , eliminating the need to transfer the data back and forth between cpu memory and gpu memory which is the main bottleneck for many gpu applications .  
while the geometrical descriptor involved in our registration framework was defined as a surface element ( a triangle ) with all property values on its vertices , the computation was defined at the centroid following its normal direction and weighted by the size of the surface element ( 11 ) .
this computation requires the computation of a weighted normal at the centroid of each surface element from the geometric descriptors .
we perform this operation in parallel on the gpu by assigning each surface element a thread .
we then employ the texture cache to load the geometrical data from global memory ; while the neighbor triangle shared the same vertices , the loading values are highly likely in the cache and cost almost the same amount of time to access from the shared memory . we also store the three components of the normal in three separated arrays to allow coalesced access that gives better memory bandwidth efficiency .  
multiscale registration is an advanced registration technique to improve quality of the results by registering anatomies at different scale levels .
the method also handles the local optimal matching of gradient - descent optimization . in our registration framework ,
the primary purpose of doing multiscale computation is to capture both the large changes in the shape and also the small changes as the registration anatomy converged to the target .
the method effectively handles the nonlinear , localized shape changes , as is shown in figure 9 .
it also serves as an effective method to increase the convergence rate and reduces the running time significantly .
the challenge of applying multiscale computation is that there is no mathematical foundation for exact multiscale computation on a regular grid .
the level - of - detail techniques ( lod ) are the only approximations that gives no guarantee on the quality . here
, we achieve the multiresolution effect through changing the size of a registration kernel , such that we use a larger kernel width and step size to mimic the effect of large - scale and smaller kernel width and step size to capture the details .
our method did not require resampling of the grids , so there are no additional quantization errors .
for evaluation , we used an amd phenom ii x4 955 cpu commodity system , 6  gb ddr3 1333 , with nvidia gtx 260 gpu 896  mb .
we have applied the registration method for mapping neonatal mri scans to 2-year mri scans of the same subjects in ten datasets .
the datasets are taken from an ongoing longitudinal neuroimaging study with scans acquired at approximately two weeks , one year , and two years of age .
due to rapid early brain development , each longitudinal mr scan shows significant changes in brain size and in tissue properties . for comparison
, we also applied the standard intensity - based deformable registration using mutual information ( mi ) metric and b - spline transformation proposed by rueckert et al .
both deformable registration methods are initialized using the same global affine transformation generated using the mutual information metric .
the t1-weighted images before and after registration using the different approaches for the first three subjects are shown in figures 10 and 11 .   a quantitative study of the performance of the registration method is performed by measuring the overlap between the transformed segmentation maps of neonates to the segmentation maps of 2-year olds . since we consider the segmentation maps at two years of age to be the standard , we use the following overlap metric : 
 ( 16)overlap(hs0,s2)=|hs0s2||s2| , 
							 where h  s0 is the transformed neonate segmentation map , s2 is the reference 2-year segmentation map , and || indicates the volume of a binary map .
we note that this metric gives considerably lower values for deviation from s2 than the standard dice coefficient .  
table 1 shows the quantitative analysis for the brain parenchyma ( a combination of white matter and grey matter ) and cerebellum segmentation maps without registration , using standard mi registration , and our method .
we use brain parenchyma since white matter and grey matter on their own are hard to distinguish in early developing brains .
registration using mi fails for parenchyma because it does not account for the two white matter distributions in neonates .
registration using both probabilistic and geometric descriptors provides better results and is generally more stable for the structures of interest .
in particular , our method better preserves the shape of the cerebellum , which has weak intensity boundaries in regions where it touches the cerebrum and thus can not be registered properly using only image - based information .
another significant challenge is that the cerebellum growth is distinctly different from the growth of neighboring structures . using cerebellum boundary represented by currents ,
we quantify the performance with two critical steps in particle mesh approach : the splatting and the interpolation .
splattingthe splatting performance varies largely depending on the regularity of the deformation fields due to memory collision problem . here
we measured with three types of deformation fields : a random deformation , which maps points randomly over the whole volume , a diffeomorphic deformation , the typical type of deformation from the registration of brain images that we use in our framework , and a singular deformation , which collapses to a point in the volume .  
table 2 shows the runtime comparison in milliseconds of different splatting implementations mentioned in section 4.2.2 : cpu reference , collision - free sorting approach , atomic fixed - point operation , and atomic operation with shared memory.the result shows that the performance gain of gpu approaches varies depending on the regularity of the deformation field inputs .
the singular deformation has the lowest performance gain because most of the value accumulated to a small point neighbor hence parallel accumulation is greatly limited .
though having better performance gain , the random deformation spreads out in the whole volume that leads to ineffective caching ( both in gpus and cpus ) .
fortunately , our atomic optimization with shared memory achieved the best performance gain with diffeomorphic deformation which we used in practice .
the main reason is that the diffeomorphic deformation shows large coherence between neighbor points that allows more effective caching through gpu shared memory .
the collision - free approach based on sorting shows stable performance since it is independent from the memory collision of other approaches . 
 
the splatting performance varies largely depending on the regularity of the deformation fields due to memory collision problem . here
we measured with three types of deformation fields : a random deformation , which maps points randomly over the whole volume , a diffeomorphic deformation , the typical type of deformation from the registration of brain images that we use in our framework , and a singular deformation , which collapses to a point in the volume .  
table 2 shows the runtime comparison in milliseconds of different splatting implementations mentioned in section 4.2.2 : cpu reference , collision - free sorting approach , atomic fixed - point operation , and atomic operation with shared memory .
the result shows that the performance gain of gpu approaches varies depending on the regularity of the deformation field inputs .
the singular deformation has the lowest performance gain because most of the value accumulated to a small point neighbor hence parallel accumulation is greatly limited .
though having better performance gain , the random deformation spreads out in the whole volume that leads to ineffective caching ( both in gpus and cpus ) .
fortunately , our atomic optimization with shared memory achieved the best performance gain with diffeomorphic deformation which we used in practice .
the main reason is that the diffeomorphic deformation shows large coherence between neighbor points that allows more effective caching through gpu shared memory .
the collision - free approach based on sorting shows stable performance since it is independent from the memory collision of other approaches . 

interpolation 
 table 3 shows the runtime comparison in milliseconds of different 3d interpolation implementations : cpu reference , simple approach ( gpu global memory ) , linear 1d texture , and 3d texture.the interpolation runtime shows that reverse mapping using the accelerated hardware achieves the best performance and is about 38x faster than cpu reference implementation on the evaluation hardware .
however , this method suffers from lower floating point accuracy . to not further introduce more errors to the approximation
, we apply the 1d - linear texture - cache implementation instead which is as fast as the accelerated hardware but retains the floating point precision .
table 3 shows the runtime comparison in milliseconds of different 3d interpolation implementations : cpu reference , simple approach ( gpu global memory ) , linear 1d texture , and 3d texture .
the interpolation runtime shows that reverse mapping using the accelerated hardware achieves the best performance and is about 38x faster than cpu reference implementation on the evaluation hardware .
however , this method suffers from lower floating point accuracy . to not further introduce more errors to the approximation
, we apply the 1d - linear texture - cache implementation instead which is as fast as the accelerated hardware but retains the floating point precision .
overall performancewe have also compared the performance between our method and the standard mi registration .
registration using our approach on the gpu takes 8 minutes on average , while registration on the cpu using mutual information metric and b - spline transformation takes 100 minutes on average .
registration using our approach on the gpu takes 8 minutes on average , while registration on the cpu using mutual information metric and b - spline transformation takes 100 minutes on average .
overall , computing the currents norm and its gradient between a surface with 160535 triangular faces and another with 127043 faces takes approximately 504 seconds on cpu , while it takes 0.33 seconds with our gpu implementation .
the speed gain is in order of three magnitudes over the equivalent cpu implementation using particle mesh , while the computing time for the exact norm on cpu is difficult to measure since it takes significantly longer .
the proposed algorithm typically converges in 1000 iterations , so on average it takes less than eight minutes to register two anatomies .
this allows us to perform parameter exploration and real - time analysis on a single desktop with commodity gpu hardware .
we have proposed a registration framework that makes use of the probabilistic and geometric structures of anatomies embedded in the images .
this allows us to enforce matching of important anatomical features represented as regional class posteriors and tissue boundaries .
our framework allows us to register images with different contrast properties by using equivalent anatomical representations , and we have demonstrated results for registering brain mris with different white matter appearances at early stages of growth . the overlap validation measures in table 1 show that geometric constraints , particularly for the cerebellum , are crucial for registering structures undergoing significant growth changes . in the future
, we plan to apply this framework in early neurodevelopmental studies for analyzing the effects of neurological disorders such as autism and fragile x syndrome .
the proposed registration framework is generic and independent of the application domain ; it can thus be applied to any registration where one encounters large - scale deformation and different appearance patterns .
we also want to incorporate other submanifolds representations and their computation such as point sets ( (0 ) ) and curves ( (1 ) )
. such additional representations are potentially critical in clinical applications involving anatomical landmark points ( e.g. , anterior commissure and posterior commissure ) as well as curve structures ( e.g. , blood vessels , sulcal lines , white matter fiber tracts ) .
all these computations can be done efficiently and entirely on gpus and potentially will improve the results by guiding the registration process to preserve critical geometries .
the efficiency of the gpu method also provides an opportunity to apply the algorithm for high - quality atlas formation using our framework on a gpu cluster , which gives us the ability to perform statistical tests that are previously impossible due to excessive time requirements .
 deformable image registration in the presence of considerable contrast differences and 
 large size and shape changes presents significant research challenges . 
 first , it requires a 
 robust registration framework that does not depend on intensity measurements and can 
 handle large nonlinear shape variations . 
 second , it involves the expensive computation of 
 nonlinear deformations with high degrees of freedom . 
 often it takes a significant amount 
 of computation time and thus becomes infeasible for practical purposes . in this paper , we 
 present a solution based on two key ideas : a new registration method that generates a mapping 
 between anatomies represented as a multicompartment model of class posterior images 
 and geometries and an implementation of the algorithm using particle mesh approximation 
 on graphical processing units ( gpus ) to fulfill the computational requirements . 
 we show 
 results on the registrations of neonatal to 2-year old infant mris . 
 quantitative 
 validation demonstrates that our proposed method generates registrations that better maintain 
 the consistency of anatomical structures over time and provides transformations that 
 better preserve structures undergoing large deformations than transformations obtained by 
 standard intensity - only registration . 
 we also achieve the speedup of three orders of magnitudes 
 compared to a cpu reference implementation , making it possible to use the technique 
 in time - critical applications . 
1. Introduction
2. Related Work
3. Method
4. Efficient Implementation
5. Results
6. Conclusions