since 
 the seminal   work of , deformable models have achieved great success in various 
 areas of visual computing such as computer vision and image processing . researchers 
 however have not yet succeeded in developing completely automatic segmentation 
 techniques that can incorporate high - level prior information of shape , 
 position , orientation , symmetry , landmarks , as well as image intensity and 
 texture characteristics to achieve segmentation accuracy and repeatability . one of the challenges is that current deformable models have little - to - no 
 explicit  awareness  of where they are in the image , how their parts are 
 arranged , or to what structures they or any neighboring deformable models are 
 converging during the deformation process . recently , mcinerney et 
 al . introduced a novel approach for automatic medical image segmentation that 
 combines deformable model methodologies with concepts from the field of artificial 
 life . they proposed deformable organisms that possess deformable bodies 
 with distributed sensors , as well as brains with motor , perception , behavior , 
 and cognition centers . deformable organisms are perceptually aware of the image 
 analysis process . their behaviors , which manifest themselves in voluntary 
 movement and alteration of body shape , are based upon sensed image features , prestored 
 anatomical knowledge , and a deliberate cognitive plan . inspired by the work of , 
 in this paper , we introduce a new part - based , context - sensitive active contour for 
 2d corpus callosum segmentation from mr images . it requires the user to 
 interactively initialize a seed contour ( through as little as three mouse 
 clicks ) that consists of four interconnected parts . each part of the seed is 
 aware of its own orientation , its target structure , and more importantly can 
 have its own motion law tailored for its corresponding target structure . by allowing 
 the user to interactively initialize the model , our algorithm has a much lower 
 computational complexity compared with the full automatic approach of . the 
 rest of this paper is organized as follows . in 
 section 2 , we present 
 our method in detail , including initialization , contour evolution , and fornix elimination . corpus callosum ( cc ) is the 
 major communication pathway between the two cerebral hemispheres and mainly 
 consists of axons . it is responsible for conduction of signals between 
 homologous and heterotopic cortical regions and is an essential component for 
 brain lateralization and interhemispheric communication . structural changes , 
 such as size and shape changes in the corpus callosum occur in a variety of 
 neurological diseases , such as dyslexia , schizophrenia , autism , and 
 bipolar and unipolar disorders . therefore , neurologists are interested in looking at the corpus 
 callosum and analyzing its shape . magnetic resonance imaging ( mri ) is regarded 
 as the best method to obtain cross - sectional area and shape information from 
 corpus callosum . the global shape of the cc is relatively consistent , but 
 the local shape variation is dramatic . there can be gaps in the boundary of the cc almost 
 anywhere , and parts of the cc may be narrow or have bumps . the most challenging 
 problem is the existence of the fornix , which is a thin structure that may or 
 may not contact the cc in the midsagittal mr image . it is almost the same 
 brightness as the cc ; and the size and position of the contact region can vary 
 considerably . because of these challenges , traditional active contour models 
 will not be robust enough to correctly extract the boundary in many cases . manual 
 tracing of cc boundary is still the most frequently used method in clinical 
 studies , such as in [ 46 ] , which is time - consuming , error - prone , and 
 operator - dependent . active 
 contour models ( snakes ) have been widely used in image segmentation since their 
 introduction . these methods are iteratively updated 
 according to various forces designed to seek out object / region boundaries while 
 maintaining smoothness of the fitted contour . interactively controlled forces may also be introduced to allow the 
 user to guide the segmentation , which made active contours particularly popular 
 for medical imaging applications . a survey of early work of deformable models 
 in medical image segmentation can be found in . there is more recent work 
 on snakes and their variants , such as [ 79 ] . the problem of most of the current active contour models is that they have 
 little  awareness  of where they are in the image , how their parts are 
 arranged , or to what structures they are converging . thus , there is a need to combine the low - level feature detection 
 ability of active contour models with flexible high - level knowledge , 
 which triggers the top - down and bottom - up combination scheme . the work in   proposed a method called united snakes which combined snakes and live 
 wire   together . live wire , or intelligent scissors , is an effective 
 interactive boundary tracing tool . this method can overcome a lot of disadvantages 
 of a single live wire or snakes method . however , we have to carefully do a 
 boundary tracing in order to get a sufficient number of seed points . the work 
 in   proposed a sketch - initialized subdivision - curve snake 
 and applied it to 2d segmentation of the cc as well as other structures . this 
 method is rapid , accurate , and repeatable , but it requires a special 
 pressure - sensitive device for user initialization . deformable organism for 
 medical image analysis was introduced in , where artificial life 
 was incorporated in snakes in order to solve the  unawareness  problem . this method was further 
 extended by   which applied a physical - based 
 implementation in order to provide an opportunity for the expert to intervene 
 the segmentation intuitively . the results on cc 
 segmentation in   showed that minor user interactions could further improve the 
 segmentation accuracy . however , instead of using comprehensive artificial intelligence , we 
 divide the active contour into several parts according to our prior knowledge 
 of the segmented object . each part of the contour is assigned to a certain part of the 
 object , and a set of deformation rules are designed for each part , 
 respectively . in this way , each part of the contour is aware of its 
 destination . furthermore , to ensure global awareness , these parts of the contour 
 are connected by several sensor points , which are the end points of each part . , we can roughly divide the boundary 
 curve of the cc into 4 parts ( see figure 1 ) , which are anterior ( ca ) , posterior ( bd ) , 
 upper boundary ( dc ) , and lower boundary ( ab ) . instead of using a closed - curve 
 representation , we treat the four parts as four separate curves , which are 
 connected by four sensor points . in contrast , a closed curve can not be aware of any high - level 
 information after it has been initialized . secondly , this curve partition allows 
 us to use different parameters of active contour evolution for each part , so 
 that each curve can better fit the curvature feature of the boundary . thirdly , 
 it will make fornix detection easier , since we only need to search along curve 
 ab to find the fornix . the initialization requires 
 the user to click three points to form a polyline o1oo2 within 
 the body of the cc ( see figure 2(a ) ) . prior to edge detection and any 
 other operations , we perform a gaussian smoothing to the image in order to 
 reduce the noise . the width  of the gaussian function is selected so that there 
 is no small edge in the internal area of the cc . we then do a point - tracing to find the four 
 points on the edge ( see figure 2(b ) ) . starting from o1 , we trace 
 along a line perpendicular to line o1o in both directions to find 
 edge points a1 and c1 . there is a small gap , where the 
 tracing line intersects with the edge , we may either find an edge point on the 
 background , or never find an edge point until we reach the image boundary ( the 
 image boundary is treated as edge in our case ) . to avoid this problem , we trace 
 along several lines whose angles with the original tracing line are within a 
 small range [  ,  ] , where  is a positive small angle . among the first 
 edge point on each tracing line if the gap is so large that we can not find any edge 
 point within [  ,  ] , we will increase the value of  to cover a larger search range . however , in 
 our experiment , =20 can satisfy all the images since there is 
 usually high contrast on the upper and lower boundary of the cc . we then show how to construct points b1 and d1 in 
 figure 2(c ) , and b2 and d2 
 following the same way . we assume that there is 
 always a small neighborhood around o1 completely inside the cc 
 region . this assumption is reasonable since the user can easily locate the end 
 points in the middle with some margin to both the upper and lower boundaries . to 
 best guarantee this assumption , we substitute o1 with the middle 
 point of line segment a1c1 , 
 denoted as o1*. thus , we can draw a circle centered at o1 * 
 with a small enough radius ( see figure 2(c ) ) . however , b1 and d1 are two intersection points of line 
 oo1 * and the circle . a1b1c1 
 for anterior , c2b2a2 for posterior , 
 a2d2od1a1 for upper boundary , 
 and c1d1od2c2 for lower boundary . the four seeds are connected by four sensor points  a1 , 
 c1 , a2 , and c2 . figures 3a , and 3(c ) show the 
 initial polyline and the completed seed on the real image . conceptually , this 
 seed is a polygon with some edges overlapping in the body of the cc , while the 
 four sensor points serve as both the separation of the entire curve and the 
 connection of each curve segment . during the curve evolution process , these 
 four points will not move since they are already on the boundary . the performance of the curve evolution can be 
 guaranteed only if the initial seed is completely inside the cc region . the 
 seeds of left and right parts can be inside based on the above assumption . normally , 
 three points are sufficient to make an inside polyline . however , for some abnormal 
 cc shapes , more points may be needed ; so in our algorithm we allow the user to 
 click as many points as needed   to make the initial polyline . consider a family of smooth 
 curves c ( p , t ) connecting two given end points , 
  where p parameterizes the curve and t parameterizes the family . this family evolves 
 according to the following partial differential equation 
 : 
 ( 1)c(p , t)t = fn ,  c(p,0)=c0(p ) , 
 where n is the unit normal vector of   c   ( p , t ) , f   is the speed function , and t   can be considered as the 
 time parameter . the speed function f   has the form 
 similar to that in : 
 ( 2)f=(v+k)g(gn ) , 
 where k is the curvature of the curve , v is a positive constant speed , and  ,  are two coefficients . g is a function derived from the input image   i ; 
 and 
 ( 3)g(x)=11+(ng(x))2,ng(x)=(g*i)maxi(g*i) , 
 where ng(x ) is the normalized gradient magnitude at pixel x   of image i , g*i is the image smoothed by a gaussian kernel ,  is the gradient operator , and  is a coefficient . the 
 first term in ( 2 ) 
 causes the curve to grow along its normal direction , 
 and the second term acts in an opposite direction to the normal when the curve 
 reaches the object boundary . the orientation of the normal vector for each curve 
 segment is specified upon initialization . we consider each curve segment as 
 part of a closed curve drawn counterclockwise , and the normal orientation is 
 defined as pointing outward of this closed curve . in order to get a correct 
 normal orientation , equation ( 1 ) can be 
 approximated numerically by 
 ( 4)c(p , t+t)=c(p , t)+(t)fn , 
 where t is a small time step . smooth curves are 
 represented by polygonal lines composed of vertices { pi}i=1 m . 
 in order to achieve extra stability and accelerate the convergence , a tangent speed 
 component is added in the discrete curve evolution : 
 ( 5)pik+1=pik+tk(fiknik+giktik ) , 
 where pik indicates the location of vertex i   in the kth iteration , nik and tik are the unit normal vector and tangent vector 
 at pik , respectively , and fik is a discrete approximation of f. the tangent speed component g   is defined as 
 ( 6)gik = dikdi1kdik+di1k , 
 where dik is the distance between two neighboring 
 vertices pik and pi+1k . we use the method in   to estimate the time step tk : 
 ( 7)tk = memfk , 
 where me is the unit grid cell length of the 
 image data and mfk is the maximum magnitude of the 
 speed f in the kth iteration . there 
 are several ways to numerically calculate curvature and normal direction of 
 each curve point . the normal direction of a vertex is approximated by the 
 average of the normal vectors of two incident line segments . suppose   a , o , b   are successive points 
 on a curve , and we want to calculate the curvature of   o. the circular approximation is 
 ( 8)k=4sabc , 
 where   a = |ao| , 
 b = |bo| , c = |ab| , and   s   is the area 
 of triangle   abo . we assign a sign to 
 the curvature of each point . with the normal pointing outwards , the convex 
 point has a negative curvature and the concave point has a positive curvature . vertex i   terminates its motion when fik is sufficiently small , and it is then 
 labeled as inactive . when all vertices are inactive , the curve evolution stops . to ensure that the numerical 
 simulation of the curve evolution proceeds smoothly , we must maintain the 
 regularity of the curve . there are two issues to concern : point density and 
 self collision . to maintain proper density of the curve points , a new vertex is inserted 
 between two adjacent vertices if the distance between them is bigger than the 
 maximum edge length , and a vertex is deleted if its distance with one of its 
 neighbors is smaller than the minimum edge length . the proper edge length should be chosen so that the curve points are 
 dense enough to capture the details of the shape , while overhead points are 
 avoided to reduce computational cost . in our case , the maximum edge length is 4 
 and the minimum edge length is 1 , with the length of the cc ranges between 130160 ( all in pixel unit ) . to avoid 
 self collision within each part of the curve if the distance between two nonadjacent vertices is smaller than 
 the minimum edge length , we connect the two vertices and delete all the 
 vertices in between . the fornix may or may not contact 
 the cc in midsagittal and surrounding slices . it is a thin structure with similar 
 intensity level as the cc . for this reason , a standard active contour model can not 
 extract the correct cc boundary connected to fornix . the work in   applied a find - fornix routine based on the parallelism between the 
 lower boundary and the medial axis . since we know the fornix always appears beneath the body of the cc , 
 we only need to search along the lower boundary to detect it . as shown in 
 figure 5(a ) , 
 there are three distint points around the fornix . if we find points a  
 and b , we can connect them to get rid of the fornix tip . by carefully 
 studying the curvature characteristics around the fornix find c : search along the lower 
 boundary curve segment to find the fornix tip ( point   c ) , which is the point with the smallest curvature . check c : if curvature ratio  
 is bigger than a threshold , continue the next step ; 
 otherwise , go back to   find c. find a : search between 
 point c   and the left end of this curve to find 
 the left corner of the fornix ( point   a ) , 
 which has the biggest curvature . check a : if point a   is active , go back to 
  find c ; otherwise , continue the 
 following steps . find b : search between 
 point c   and the right end of the curve , and 
 find point b   such that the normal 
 direction of point b   is perpendicular 
 to the line from point a   to point b. connect ab : connect point a  
 and point   b , resample points 
 between a   and   b   to maintain the curve 
 regularity , and mark the vertices between 
 a   and b   inactive . 
 in the above algorithm , the 
 curvature is a signed value with the curvature sign defined in 3.3 . in step 2 , curvature ratio   is the absolute value of 
 the curvature of c   divided by the 
 absolute value of the average curvature along the curve . in the case of 
 figure 5(a ) , 
 this ratio is much bigger than one because the curvature of the fornix tip is 
 conspicuously smaller than other points on the curve . however , there may be the 
 case that the fornix is not connected to the cc , such as in 
 figure 5(b ) . since 
 there is no distinct fornix tip along this curve ,   find c   routine in the initial algorithm may find an arbitrary point 
 which happens to have the smallest curvature . in this case , the curvature ratio   could not exceed a 
 threshold due to the smoothness of the curve , and the algorithm will never do 
 anything to the curve since it is always looped in   find c.   find c : search along the lower 
 boundary curve segment to find the fornix tip ( point   c ) , which is the point with the smallest curvature . check c : if curvature ratio  
 is bigger than a threshold , continue the next step ; 
 otherwise , go back to   find c.   find a : search between 
 point c   and the left end of this curve to find 
 the left corner of the fornix ( point   a ) , 
 which has the biggest curvature . check a : if point a   is active , go back to 
  find c ; otherwise , continue the 
 following steps . find b : search between 
 point c   and the right end of the curve , and 
 find point b   such that the normal 
 direction of point b   is perpendicular 
 to the line from point a   to point b.   connect ab : connect point a  
 and point   b , resample points 
 between a   and   b   to maintain the curve 
 regularity , and mark the vertices between 
 a   and b   inactive . since the fornix tip will not appear until 
 after a certain time of active contour evolution , if we started removing it too 
 early , what we found may not be the real fornix . step 4 is to make sure it is 
 the proper time to remove the fornix . the resampling process in   connect ab   introduces new vertices between   a   and   b , which would 
 begin their motion toward the fornix tip again . we mark them inactive so that 
 they will not form a new fornix after the end of the algorithm . the results with and without the fornix are 
 shown in figures 5(c ) , and 5(d ) . one advantage of our method is that we can 
 use different parameters for different parts of the cc boundary . we find the 
 four parts have different image features as well as curvature features . for 
 example , the anterior and posterior curves have more high - curvature regions than 
 the other two curves , and the upper boundary has more reliable edge than the 
 lower boundary . accordingly ,  should be larger for the middle parts and smaller 
 for the left and right parts , and  should be larger for the lower boundary and smaller 
 for the upper one . in our experiment , the parameters in ( 2 ) and ( 3 ) 
 fall into the following ranges : v=25 , =0.52 , =715 , =100500 , =23 for gaussian smoothing of the image . the 
 threshold of the 
 curvature ratio in 3.6 is set to 10 in our experiment . the 
 experiment is running on an intel(r ) pentium(r ) d 
 ( 2.8  ghz ) pc with windows vista . the first 
 column shows the user - initialized seed , the second column shows the fornix tip 
 beginning to appear without fornix removal mechanism , the third column shows 
 the results with the fornix removed , and the last column shows our result 
 overlaid on the edge map . as we can see in 
 figure 6 , the shapes of the cc look 
 similar , but the image features at the boundaries as well as the fornix differ 
 from one slice to another . even if there is no explicit fornix on the image , 
 there still might be a gap where the fornix is located , thus causing a dip of 
 the lower boundary curve . as shown in 
 figure 6(d ) , our results can match the 
 edge map accurately and bridge the gaps . the four columns are the same as in figure 6 , and each row represents 
 the midsagittal slice of a different subject . we use the measurements in 
 [ 15 , 18 , 19 ] to quantitatively evaluate our segmentation results . we denote the 
 correct segmentation result as ctrue , our segmentation result 
 as cseg , and || as the area enclosed within the result . the 
 following measurements are calculated . 
  false negative fraction 
 ( fnf ) , which indicates the fraction of structure included in the true 
 segmentation but missed by our method : fnf=|ctruecseg|/|ctrue| . false positive fraction 
 ( fpf ) , which indicates the amount of structure falsely identified by our method 
 as a fraction of true segmentation : fpf=|csegctrue|/|ctrue| . true positive fraction 
 ( tpf ) , which indicates the fraction of the total amount of structure in the 
 true segmentation that is overlapped with our method : tpf=|csegctrue|/|ctrue| . the last two measurements range between 0 - 1 with one 
 indicating a perfect agreement between ctrue and cseg . the overlap measurement is a stronger test than dice 
 similarity for segmentation accuracy .   false negative fraction 
 ( fnf ) , which indicates the fraction of structure included in the true 
 segmentation but missed by our method :   fnf=|ctruecseg|/|ctrue| .    false positive fraction 
 ( fpf ) , which indicates the amount of structure falsely identified by our method 
 as a fraction of true segmentation :   fpf=|csegctrue|/|ctrue| .    true positive fraction 
 ( tpf ) , which indicates the fraction of the total amount of structure in the 
 true segmentation that is overlapped with our method :   tpf=|csegctrue|/|ctrue| .    dice=2|csegctrue|/(|ctrue|+|cseg| ) . we use the 
 results of manual segmentation by a trained expert as the ground truth ( ctrue ) , and compare our results ( cseg ) with the ground truth . the time for an experienced expert to segment the cc 
 on one slice is about 20 minutes . the experiment is performed 
 on mr images of 16 subjects , and the mean and standard deviation of each 
 measurement across subjects are listed in table 1 . the table shows low fnf and fpf , and high 
 values in the other three measurements . first , as stated in 3.1 , the 
 seed should be roughly within the body of the cc and not extend to the anterior 
 and posterior parts . if the seed extends deep into the anterior or posterior 
 part , the final curve will not be able to cover the whole anterior or posterior 
 part . second , the initial seed can not have any portion outside the cc ( see 
 figure 8(a ) ) . this is because the normal orientation of each curve is predefined 
 given that they are all inside the cc . to ensure that the seed is totally 
 inside the cc , we allow the user to click more than three points if 
 needed third , the length of the seed 
 should cover the fornix gap , which means the right endpoint should be on right 
 of the fornix ( see figure 8(b ) ) . this 
 is to make sure that the fornix tip only appears on the lower boundary curve . . 
 since users can recognize the body of the cc as well as the fornix , they are 
 able to locate the seed within the body and cover the fornix span without 
 difficulty . in 
 this paper , we have proposed a context - sensitive active 
 contour method for 2d corpus callosum segmentation . this method takes advantage 
 of prior knowledge by dividing the active contour into several parts and connecting 
 them by sensor points . after a simple user 
 initialization , a set of rules derived 
 from prior knowledge will complete the 
 initialization and guide the model deformation subsequently . experimental 
 results demonstrate our method is fast , accurate , and easy to operate . for future work , we plan to incorporate recognition 
 into our segmentation framework to further reduce the user interaction by automatically 
 locating the initial points in each part of the object , as well as recognize 
 the connectivity of the fornix to the cc . furthermore , although this algorithm 
 is designed specifically for the corpus callosum , we will investigate the 
 possibility of applying the general principle of context - sensitive active 
 contour for segmenting other brain structures as well .
we propose a new context - sensitive active contour for 2d corpus callosum segmentation . after a seed contour consisting of interconnected parts 
 is being initialized by the user , each part will start to deform according to its own motion law derived from high - level prior knowledge , and is constantly aware of its own orientation and destination during the deformation process . 
 experimental results demonstrate the accuracy and robustness of our algorithm .