in many areas of biomedical research including clinical pathology , cell counts obtained from images are crucial data for diagnosing patients or for addressing hypotheses about developmental or pathological processes .
manual cell counting is challenging in that it typically requires a specialist such as a biologist or a pathologist to identify and characterize different cell types .
, several stereological tissue analysis methods have been developed with the aim of accurately estimating cell counts in a given tissue [ 1 , 2 ] .
however , traditional stereological techniques require elaborate production and sampling of representative tissue samples , which is both time consuming and labor intensive .
recent technological advances in microscopy now enable high - throughput imaging of thousands of cells in a short time [ 35 ] .
further , using high - throughput slide scanners allows the rapid collection of high - resolution data for serial sections .
the 3d reconstructions can then be statistically analyzed using morphometry to quantify variation among samples .
manual cell counting would be a tedious and time - consuming approach for processing such large datasets and may even be subject to inaccuracies due to human error , as noted by several authors [ 4 , 710 ] . in the context of the technological developments
importantly , this would greatly facilitate high - throughput histomorphometry , permitting large - scale studies of cellular processes that would not be feasible if done only by a manual process .  
a common challenge for computerized cell counting methods arises from the great variation in the morphology and size of cells , compounded by the availability of many different histological , staining , and imaging techniques .
this led to the development of a variety of computer - automated cell counting tools and the elaboration of sophisticated methods such as the one described by carpenter et al .
[ 4 , 11 ] , where a pipeline of image - processing techniques can be defined and then applied to a series of images . often , the solutions for cell counting are based on segmentation methods applied after edge detection [ 3 , 1015 ] .
these methods can handle cells of various sizes and shapes , since cells are primarily identified by the detection of intercellular boundaries and the separation from the background by edge detection .  
images of developing embryonic tissue , which is of particular interest to developmental biologists , can be difficult to process using edge detection methods , particularly when the density of the cells in the tissue is high and blurring , or if the boundaries between cells disappear entirely .
an example of this occurs in fluorescence microscopy , when excess saturation in the brightness signal seeps into a cell from adjacent cells labeled with fluorescent dye .
the blue - saturated regions of the sample shown in figure 1(c ) illustrate this case .
an alternative approach to obtain cell count estimates that are not based on edge detection is texture analysis , where image segmentation is followed by cell quantification using a measure of the average cell size [ 16 , 17 ] .
present a method for quantification of cells in images of cell cultures that consists of first classifying regions of the input image into different classes , and then estimating the total number of cells simply by dividing the total surface of the classified region over the average surface covered by any cell
. however , these methods would be clearly insufficient to support morphometrics studies . to support developmental morphometric analysis
, these methods would need to provide the approximate locations of the cells within the samples and not just estimates of total cell counts .
this location information is necessary in some applications where the actual distribution pattern of cells in the tissue is biologically relevant .
for example , in our morphometrics application , the information about the location of the cells is required to model cell distribution in 3d space and assess the impact of the proliferating cell locations on the development of the cleft lip and cleft palate facial morphology disorders .  
we have developed software for cell identification and localization in images depicting the roughly spherical proliferating cells commonly present in embryonic tissue .  
figure 1 shows how , through the application of different staining methods , embryonic cells become clearly differentiable from the background and from other cells by having a particular color under brightfield microscopy or by fluorescing under uv light .  
our method is derived from image - processing techniques that produce poisson - disk distributions commonly used for image - based sampling and nonphotorealistic rendering [ 18 , 19 ] .
the primary identification criteria are the color range of the cells and the average cell diameter .   
we have compared our software with the image - based tool for counting nuclei ( itcn ) [ 12 , 15 ] , a cell counting solution available as a java plug in for imagej .
itcn is an edge detection - based method that computes the laplacian of gaussian ( log ) to identify nuclei .
users of itcn must enter an estimated cell width ( sic ) and an estimate of the minimum distance between the nuclei , a value set by default at half the width . from this information
, itcn provides total cell counts for an image or a region of interest and an output image that shows the cell locations .
our cell identification algorithm is inspired by mould 's progressive stippling , a technique where stipples are placed on an image using a graph extracted from the input image and dijkstra 's shortest path search algorithm [ 20 , 21 ] .
many graphics applications rely on the production of poisson - disk ( pd ) distributions , and stippling techniques are commonly used in nonphotorealistic rendering to represent , in an aesthetically pleasing way , a grayscale image while preserving the characteristics of a pd distribution as much as possible [ 19 , 22 , 23 ] .
pd point distributions are defined as sets of regularly distributed points or particles where all points are separated from each other by a certain minimum distance , called the radius of the distribution .
since the cells in our study are roughly round in shape and tend to have a regular size , we draw a parallel between cells in histology samples and points that follow the pd distribution .
as our algorithm progresses , the poisson - disk distribution , which is typically used to evenly disperse points on a plane , becomes apparent only in those areas of the image where the colors of the cells match the user - defined color range .
ics uses the average cell diameter to place markers for cell locations , so the radius of the pd distribution in those areas is half the average cell diameter .  
the poisson - disk distribution can not simply be substituted by a random uniform distribution , because it lacks a distribution radius , and in the absence of an average cell diameter , there are no criteria which can be used to determine how many cell location markers ( dots ) should be placed in regions covered by cells . to find cells using ics , the user indicates the color or grayscale intensity of the target cells ( resp . ) , a margin of tolerance that defines the amount of acceptable variation with respect to the base color , and an average cell diameter .  
figure 2 provides an overview in the form of a flowchart of the process undertaken by the software , while figure 3 illustrates some steps of ics as it goes through the sample input image shown in figure 3(a ) .  
the first step is color filtering ( figures 2(a ) and 3(b ) ) , where the image is segmented in two regions according to the user - provided color range : the regions where stained cells are found and a blank background elsewhere .
next , we obtain an auxiliary image for later use : an edge - detection filter is applied on the original image ( figure 2(b ) ) and then passed through a gaussian filter ( figure 2(c ) ) .
we call it the  diffuse edge - detection buffer  as shown in figure 3(c ) .
subsequently , we place a seed at the center of the image ( figure 2(d ) ) and green dot ( figure 3(d ) ) and use a graph analogy to apply dijkstras 's shortest path algorithm   ( figure 2(e ) ) , starting from this seed to create a region around it that grows until the average cell diameter is exceeded . once disjkstra 's algorithm has been applied ( figure 3(d ) ) , we insert all the elements ( pixels ) on the border of the expanded region in a first - in first - out ( fifo ) list called the  borderline list  ( figure 2(f ) ) ,    shown as a red border between white and black regions in figure 3(d ) . note that each red pixel represents one element from the list of borderline nodes .
together , the elements in this list form red contours or borders enclosing the regions of expansion covered by dijkstra 's algorithm .
if this borderline list is not empty ( figure 2(g ) ) , we remove the first element of the borderline that exceeds the average cell diameter and make it a new search seed ( figure 2(h ) , orange dot in figure 2(e ) ) , then check whether it falls within the color - filtered region where cells are found ( figure 2(i ) ) .  
if it does fall within this region , we consider it a valid cell location marker and add it to the list of final cell locations ( figure 2(j ) ) .  
if it does not , we simply start the next iteration of dijkstra 's shortest path search and expand the region around it ( figure 2(e ) ) .
this process is repeated constantly , adding seeds and updating the list of final cell locations , the regions of expansion ( white regions in figures 3(d ) , 3(e ) and 3(f ) ) , and the borderline list ( red edges in figures 3(d ) , 3(e ) and 3(f ) ) until the borderline list is empty , case in which we output the list of final cell locations , ( figure 2(k ) ) .
figures 3(e ) and 3(f ) show the expansion regions after the second and third iterations .   figure 3(g ) shows the result after all the expansions have taken place , and figure 3(h ) shows the positive cell location markers placed on the image once the algorithm ends .   the process of iteratively adding seeds regardless of whether they identify cell locations or not ensures that the algorithm eventually covers the whole image when searching for cell locations within the image .
more details on the individual steps of this process and the rationale behind it are found in the following sections .
after user input is complete , ics first runs the input image through color filtering ( figure 2(a ) ) .  
color filtering removes all areas that do not match the user - specified color range ( figure 3(b ) ) .  
the user needs to indicate the base color of the stain in the sample because stains can come in many different colors .
the amount of variation in the color of the stain depends on the type of stain used , on how the stain is fixed on the specimen , and on the type of light used when photographing the sample .
for this reason , the margin of tolerance is determined by the user rather than computed by a formula , and it is important that the user carefully selects a representative color and defines an adequate threshold ( or margin of tolerance ) for the valid color range of cells in the image , according to the staining and the illumination methods used .  
the margin of tolerance is a single scalar value that limits the range of colors that are considered similar to the base color considering all three channels .   to help the user visualize the selected region resulting from the user - provided base color and margin of tolerance values ,
the user can run ics 's graphical interface to obtain a color - filtered version of the input image before execution of the whole algorithm .
alternatively , the user can run the freely available gnu image manipulation program ( gimp ) .
gimp 's color picker and color - based selection tools allow the user to interactively select the regions that define valid cell targets to produce a color - filtered version of the input .
the use of gimp is specifically recommended as an alternative for determining the input parameters to our tool ( base color , range of variation , and average cell diameter ) , not as an alternative to our tool in its own .
gimp is proposed when the user prefers to interactively experiment with the color filtering parameters , by using an interactive sliding bar to regulate the color tolerance margin and an interactive line - measuring tool ( ruler ) that can be used to determine the average cell diameter in pixels , prior to using our tool with the preferred parameters .  
regardless of whether ics or gimp is used to select the values of the base color and its margin of tolerance , the user does not need to compute the margin of tolerance that defines the amount of acceptable variation with respect to the base color for each color channel .
ics calculates whether the color of each pixel in the image falls within the user - provided margin of tolerance by computing the euclidean distance between the base color 's rgb triplet and each pixel 's own rgb triplet .
if ( and only if ) this distance is less than the margin of tolerance , the color is considered to be within the acceptable range of variation .  
after color filtering , and once the diffuse edge detection buffer has been obtained ( see   section 2.7 ) , a search seed is automatically placed by the system at the center of the image ( figure 2(d ) , green dot in figure 3(d ) ) .
the initial seed is just the starting point for exploring the image , and the user does not need to specify a seed location at any time when using the system . in fact , the seed could have been placed randomly somewhere on the image .
its location is rather irrelevant when determining total counts because the algorithm produces a poisson - disk distribution , regardless of the initial cell location .
the exact distribution of cell location markers will change if the initial seed is placed at a different place each time the process is executed .
however , the regions for placing cell location markers depend on the region defined by the color filter and not on the initial seed location .
the general trend is that counting results will be more robust when the number of cells present in the sample is high .  
table 3 ( presented in more details in section 3 ) shows that when counts are low ( average 26.8 cells per sample ) , the coefficient of variance ( cv ) is 8.9% and , as the number of cells in the sample increases ( average of 374 cells per sample ) , there is less variation in the results ( 2.7% cv ) .
the initial seed is used as the starting point for an expansion operation performed using dijkstra 's shortest path search algorithm [ 20 , 21 ] ( figure 2(e ) ) . for illustration purposes
, we use a graph analogy , where each pixel in the image represents a node in a graph , and the edges of the graph represent the connections between one pixel and its neighbors in the image .
unless a pixel is located at the border of the image , it is connected to 8 neighbors .
the node costs needed for dijkstra 's search algorithm are computed based on the distance from the seed , the color or tone intensities of the pixels along the path , and the edge intensity of the pixels .
to guide the search for cells and to store the traversal information as the algorithm progresses through the image space , our implementation uses several image buffers shown in figures 3(b)3(f ) .
an essential feature of dijkstra 's shortest - path search is that every edge in the graph has an associated cost that contributes to the total cost of a given path . in ics ,
the cost for traveling from one node to the next ( i.e. , from one pixel to the next ) is the sum of the cost stored in the source node and the computed cost of the target node .
three elements contribute to the cost of a target node : the distance to the seed from the target , whether the color ( or the grayscale tone ) of the underlying pixel matches the target cell color ( within the user - provided range ) , and the intensity of the gradient at the location of the node .
first , we calculate the base cost of a target node as the distance between the source pixel ( xs , ys ) and the neighboring target pixel ( xt , yt ) , 
 ( 1 )  base  cost  = ( xsxt)2+(ysyt)2 . 
							
the base cost equals 1 for two horizontally or vertically aligned pixels and equals 2 for diagonally adjacent pixels .
next , we test whether the pixel color at the visited node falls within the user - indicated color range .
if the pixel falls outside the target color range , the node cost is reduced to have a larger expansion region , 
 ( 2)node  cost  =  base  cost0.10 . 
							
otherwise , we increase the base cost by an amount proportional to the value of the gradient intensity at the underlying pixel , 
 ( 3)node  cost = base  cost(1+gradient  intensityedge  weight  factor ) . 
							
the gradient intensity is a value between 0 and 1 that indicates the strength of the edge detection buffer at the corresponding pixel location ( see  diffused edge detection  ) .
the edge weight factor ( ewf ) is a user - adjustable value between 0 and 1 ( default value of 0.5 ) .
equation ( 3 ) can be used when the average cell diameter is close to 10 pixels wide .   as image resolution increases , the average cell diameter increases as well . to obtain consistent counts at increased image resolutions , we use the following formula to compute the node cost : 
 ( 4)node  cost  = base  cost(1+gradient  intensity  (average  cell  diameter+8)18    edge  weight  factor ) . 
							
this formula takes into consideration the average cell diameter ( a user - provided value ) in the input image .
the constant values and the linear form of ( 4 ) were obtained experimentally and ensure that the counting results are consistent across multiple resolutions for a wide range of cell diameters , from 6.5 to 42 pixels ( a ~32-fold variation in cell surface coverage , as shown in table 3 ) . to obtain values for gradient intensity of the input image , we apply an edge detection filter to it and store the resulting image in the edge detection buffer ( figure 2(b ) ) .
edge detection is an operation where results are dependent on the resolution of the image or the magnification of the specimen . to compensate for this dependency
, we apply a gaussian filter that extends the edge - detected region as a function of the user - provided cell diameter value ( figures 2 and 3(c ) ) .
the kernel size of this filter is 50% of the cell radius ( 0.25  input cell diameter ) .
this filter produces a diffuse band around the edge of the color - filtered regions , which is used in conjunction with the ewf and the cell diameter value as shown in ( 3 ) .
since the blurring step reduces the energy of the individual pixels , we enhance the contrast of the edge detection buffer by stretching the histogram after gaussian filtering using imagej 's contrast enhancer function .
this function automatically sets the upper and lower histogram levels given an ( default ) input value of 0.5% saturated pixels . as a result of this stretching , pixels in this buffer
reach the maximum edge - intensity value of one on the edges , and the intensity values decrease towards zero in the transition to regions with no edges .
the ewf introduced in ( 3 ) can be used to regulate the amount of cell candidates in locations close to the edges of cell clusters and in the detection of isolated cells . to increase the cost of the traversal and to detect cells in border regions of isolated cells and cell clusters ,
the ewf should be adjusted to a value that matches the relevance of the edges on an image .
. an ewf value of 0.5 contributes half of the traversal cost needed to reach the center of a cell that lies on the border of the color - filtered region .
this facilitates the detection of cells that lie on the boundaries of the color - filtered region .
this would produce an increase in the presence of cells at the edges of the color - filtered regions .
the process of expansion starts from the location of the search seed and stops when the cost to visit a node exceeds a certain threshold ( figure 2(e ) ) .
the threshold is the user - provided value for the average diameter of the cells in the image .
when the expansion stops , we add the pixels that lie on the border of the expansion region to a list of potential starting points for future searches ( figure 2(f ) ) .
provided that the list of borderline seeds is not empty , we retrieve an element from this fifo list and make it a candidate for the becoming new search seed for the next iteration ( figure 2(h ) ) .
before we start an expansion , we check whether the candidate 's current cost still exceeds the threshold , the case in which we consider it a search seed .
if the candidate cost does not exceed the threshold , we discard it and retrieve another candidate from the list of borderline elements . if the search seed 's color is within the color range specified by the user ( figure 2(j ) ) , the seed is tagged as the location of a new cell ( such as the orange dot shown in figure 3(e ) and subsequently the blue dot in figure 3(f ) ) , then added to the list of positive cell locations , and used to start the search for the next seed .
if the search seed 's color is outside the color range specified by the user ( such as the green dot in figure 3(d ) ) , the seed can not be considered a potential cell location , so we do not add it to the list of cell locations , but we still use it to start a new search since we still need to cover the whole image in search of potential cell locations and to discard irrelevant regions .  
we run iterations of this search procedure that progressively covers the image ( see figure 4 ) until there are no more seed candidates in the borderline list , which occurs when the image has been completely explored ( figures 2(k ) and 3(g ) ) .
figures 3(e ) and 3(f ) illustrate the second and third expansions , respectively . the process of iteratively adding seeds ensures that the algorithm eventually covers the whole image , regardless of the location of cells within the image .  
figure 11 illustrates how the proposed method can contribute to deal with challenging regions where images are overexposed to the staining material , and where existing methods perform poorly .
for instance , figure 11(f ) shows a poisson - disk distribution of cell markers in the saturated intensity ( white ) regions and how ics uses the average cell diameter to place markers for cell locations .
overall , our results suggest that our method provides higher precision for large number of counts and the ability to process images at different resolutions for a wide range of cell sizes ( see table 3 ) .
after the iterations are completed , the final step is the display of the list of positive cell locations found ( the white dots in figure 3(h ) ) , which can optionally be stored in a text file . in our method , two main factors influence the identification of a potential cell .
the first is whether the color value at the potential location matches the user - provided color range .
the second is whether , in a region where the pixels match the target color value , a cost threshold has been exceeded while sweeping the image with dijkstra 's algorithm .  
for the cost threshold , we use the average cell diameter parameter to discard small traces of cells and prevent overcounting . in some cases , such as in figure 3(h ) , it may seem that some cells are missed .
however , counting all traces of cells in an image will inevitably lead to overcounting , because not all stained flecks in an image correspond to complete cells .
small flecks of stain in one slice are likely to originate ( bleed ) from cells in adjacent slices .
for instance , in figure 3(h ) , some small stained regions around the center of the image were not counted as cells based on their small size ; those will be counted in the image of the next slice , once they are shown in full size . 

figure 5 illustrates filtering by color , where a significant amount of  noise  in the form of irrelevant features is conveniently removed from the image . the original image ( figure 5(a ) )
shows part of a slice with a particular type of nuclei stained with a dark purple dye .
ics ignores the regions that fall outside the target color range ( figure 5(b ) ) and estimates cell locations exclusively within the regions that match the target color ( figure 5(c ) ) .
this approach is very effective at removing noise from stained samples , a common source of error for many automated counting methods .  
as described previously in the overview , the iterative expansions that take place when looking for potential seed locations finish when the traversal cost threshold is exceeded .
when an expansion stops , all nodes in the expanded region 's border have costs above the threshold .
this implies that elements removed from the borderline list are expected to exceed the user - defined intercellular distance with respect to the original expansion seed .
when an element taken from the borderline list falls within the user - defined color range and its cost still remains above the threshold , we consider it a new cell location and add it to the final list of cell locations .
note that search seeds inserted in the final list of cell locations can be located anywhere within the cell and do not indicate the center of the cell , as shown in figure 3(h ) .  
figure 6 shows the placement of cell marker locations on a section sample obtained through fluorescent lighting .  
the software is implemented in java and freely available for download from http://www.visualgenomics.ca/~omeruvia/research/ics.html . to use the program
, the user needs to select an image , fill in the values in the input dialog describing the average cell diameter and the cells base color and range , and the edge weight factor , and then press the start counting button .
save cell locations file  checkbox to save the cell location coordinates in a text file or show the auxiliary image buffers .
the imagej distribution is available at http://rsbweb.nih.gov / ij/. additionally , our implementation uses functionalities available through the java 3d vecmath library from sun .
the java 3d distribution is available at http://java.sun.com / javase / technologies / desktop / java3d/. we validated the ics method using 21 serial sections from a mouse embryo head imaged under two illumination conditions for a total of 42 images .
specimens were embedded in paraffin , sectioned at 10 microns , and stained using a dna - binding fluorescent stain , the 4,6-diamidino-2-phenylindole ( dapi ) .
dapi stain makes nuclei appear as bright blue spots under uv light ( figure 7(a ) ) . proliferating cells undergoing mitotic division ( m - phase ) were labeled using anti - p - h3 rabbit polyclonal igg , upstate biotechnology ( lake placid , ny ) , a standard immunolabel known as dab , that recognizes histone protein modifications specific to mitotic chromosomes of dividing cells
.   labeled cells were next tagged with dab staining and appear as dark brown spots under brightfield microscopy ( see figure 7(b ) ) .
each embryo section was digitally photographed with a zeiss axioplan 2 , equipped with a zeiss attoarc 2 hbo 100  w lighting apparatus , at magnification 200x in order to capture a clearly defined subset of the cells on the slice .
these images are in the range of 322 to 1093 pixels wide and 251 to 854 pixels high and are provided in the software distribution of ics . in these images ,
the number of dapi - stained ( fluorescing ) nuclei equals the background number of cells present in a section , while the number of dab - stained ( dark brown ) nuclei equals the number of proliferating cells present in the same section .
in addition , dapi images were autocontrasted using imagej ( imageadjustbrightness / contrastauto ) to reduce variation in the brightness of the images .  
we compared the counts obtained using ics and itcn [ 12 , 15 ] against the manual counts done independently by two trained human observers .
itcn is a tool for counting nuclei that is publicly available as a java plugin to imagej , and commonly used as a reference for cell counting [ 10 , 13 , 2629 ] .
ics counts were all produced using the default ewf value of 0.5 . to adjust for variation of the brightness of the blue signal ( rgb color triplet 0,0 , 255 ) in the set of dapi - stained nuclei images , we selected one of two levels of color tolerance ( 120 and 135 ) .
we selected these values by visually assessing the coverage of the regions shown by the color filter preview tool provided by the software .
we found that these two levels adequately covered the regions of interest in our experimental images .
additional processing steps to obtain the itcn counts were the conversion of images to grayscale , the grayscale inversion , and finally the autocontrasting of the dapi - stained ( fluorescent ) images .
this was necessary since itcn only processes grayscale images , and it only detects dark peaks .
the statistical validation aimed to quantify both measurement bias and measurement error for cell counts on the dab ( proliferating cells only ) and dapi ( all cells ) sections , as well as for cell proliferation .
cell proliferation is the ratio of dab - positive cells to the total number of dapi - stained cell nuclei .  
since each individual counter made a separate count of each section , we average the values produced by these two individual counters to obtain the average manual count .
bias is then quantified as the average difference between the cell counts obtained using the computer - based methods and the average manual count .  
measurement error is quantified as the variation between measurements of the cell counts of the two automated methods with respect to the average manual count . to quantify measurement error for the two methods
, we obtained the coefficient of variation ( cv ) for the deviations from the average manual count for each method .  
we used the cv , which is defined as the ratio of the standard deviation to the mean , rather than the variance , since the cv is a normalized measure of variation which allows direct comparison of the three variables examined .  
statistical comparisons of the variances about the mean deviations for each method were based on levene 's test , which is robust to deviations from normality . to assess the linearity of the automated counts with respect to the manual counts , a correlation analysis was performed .
in addition , bland altman plots were generated to assess the difference between both ics and itcn 's counts against the average of manual and automated counts .  
the performance of ics for handling images at multiple resolutions was tested using the same dataset previously described . to produce copies of this set at multiple resolutions , the original set of images
four additional sets of images were generated using this procedure , corresponding to magnifications 400x , 100x , 50x , and 12.5x each .
the base value for the average cell diameter was 23 pixels , so the method was tested against the corresponding average cell diameter values of 34.4 , 16.2 , 11.5 , and 5.75 pixels .
the changes in the resolution of the additional sets correspond to a 100% increase ( 400x ) and a decrease to 50% , 25% , and 6.25% of the surface covered by a cell from the original dataset . unlike our method , in the case of itcn , it was not possible to obtain consistent counts at multiple resolutions by only changing the value of the input cell diameter according to the resolution of the corresponding set . instead , it was also necessary to adjust the threshold value for each set , so that the method could still detect the relevant cells . in this
regard , ics can be more generally applied than itcn ( see table 3 ) .

 table 1 shows a comparison between the counts returned by itcn and ics , including the processing times .
ics execution times depend directly on the resolution of the processed sample , and the software performs faster when the density of cells in the sample is high ( 14,900 cells and up ) . on the other hand ,
the execution times of itcn depend more on the number of nuclei to be detected and to a lesser extent on the resolution of the input image .
consequently , when counting large number of cells in the range of tens of thousands , itcn performs slower than ics by a factor of three , and when counting small numbers of cells ( 1,700 or less ) , itcn performs 2.6 to 3.6 times faster than ics . 

figure 8 shows plots of cell counts and proliferation estimates obtained using the two automated methods as well as manual counts ( t1 and t2 ) .  
the overall impression from these plots is good concordance between the automated methods and mean manual counts .  
figure 8(b ) shows the percentage deviation of the different counts from the average manual count .
all count estimates show similar variation , but ics shows a slightly higher variation than ictn for the dab and the dapi count estimates .  
table 2 shows the correlations between the mean manual counts and the counts from ics and itcn .  
the correlations between the automated methods and the mean manual counts for both dab and dapi stained cells are close to 0.9 , while the cell proliferation estimates correlate less well at 0.7 for ics and 0.8 for itcn .   

figure 9 shows measurement bias for the two automated cell counts and both bias and error for both the automated and manual counts .  
analysis of variance revealed that the bias differed significantly between the two methods for all three variables ( p < .001 ) .  
however , the reason for the lower correlations of cell proliferation ( table 2 ) using ics is that the small biases in the counts for ics are in different directions for the dapi- and dab - stained cells , while the larger biases for itcn are consistent underestimates for both image types .  
levene 's test revealed no significant difference in measurement error between the three methods for dab ( p = .286 ) and a marginally significant difference for dapi ( p = .045 ) .  
figure 10 shows the bland - altman plots of ics and itcn against the average of all counting methods .
the results indicate similar precision ( i.e. , standard error ) for both automated methods ( 0.62 for ics and 0.63 for itcn ) when considering the dab counts and a higher precision value for ics ( 8.5 ) than for itcn ( 3.7 ) when considering dapi - stained samples . 

table 3 shows the results of running ics and itcn using the same set of 21 slice samples imaged under the two illumination conditions previously described .  
table 3 includes the results of manual counts ( 2 counts per observer , 2 observers ) performed at 200x magnification .
the average coefficient of variation ( cv ) for manual counts was 14.2% for dab counts and
for the ics counts of dab - stained cells ( brightfield microscopy ) ( 26.7 cells per sample on average ) , the average cv was 8.9% .
average counts for the count of dapi - stained nuclei ( visible under uv light ) were much higher ( 374 cells per sample ) , and ics exhibited a cv of 2.7% ( the lowest among all methods ) .
the highest average cv values are observed for itcn under both illumination conditions ( 19.3% for dab and 10.9% for dapi ) .
the counts provided by ics and the average of the counts made by manual counters were highly correlated ( 0.88 ) .  
overall , ics produces less biased counts of cells using both imaging techniques than itcn with comparable measurement error .
this result suggests that ics is more accurate than itcn for estimating cell counts overall .  
however , due to the fact that the smaller biases present for ics work in opposite directions for the two image types , the accuracy of the cell proliferation estimate is lower for ics than itcn .  
the precision of the cell count and cell proliferation estimates is comparable for both automated methods and for manual counting .  
table 3 shows that ics provides the most consistent counts ( observed as lower average coefficients of variation  cvs ) across multiple resolutions , covering a wide range of cell diameters ( from 6 to 32 pixels ) .
when considering counts at multiple resolutions , ics exhibits the lowest measurement error ( average cv of 2.7% ) when counting samples with hundreds of cells ( samples of dapi - stained tissue ) . for dab counts at multiple resolutions ,
ics also shows lower measurement error ( 8.9% ) than manual counting ( 14.2% ) and much lower measurement error than itcn ( 19.3% ) .
there is the possibility that the small differences actually found could become significant with a larger sample . with regard to the necessary precision for this study , there is no application - driven preference for false positives ( over false negatives ) or false negatives ( over false positives ) . both types of errors would be considered equally undesirable . however , our gold standard is the manual counting results , and since there is no significant difference in measurement error between the three counting methods ( see levene 's test in section 3 ) , particularly between the manual counts and ics counts , instances of false positives and false negatives seem to even out and are thus considered not relevant . for samples such as
the one shown in figure 3(b ) , most algorithms will have no problem counting cells which are clearly separated from the background and each other , while touching cells might be separated by using a distance transform and watershed algorithm .
other samples , such as the one shown in figure 11 , present a more challenging case for watershed algorithms due to the absence of information needed to separate the touching cells in the uniformly colored regions within the image . when viewing tissue sections at low magnifications under a uv source , it is not uncommon for fluorescent nuclei to appear to blend together such that their boundaries look fused with their neighbors .
an advantage of ics over edge detection - based methods such as itcn is that ics can place cell markers in parts of the image that are saturated with fluorescent signal ( see comparison of figures 11(e ) versus 11(f ) ) .
figure 11(f ) shows a poisson - disk ( pd ) distribution of cell markers in the saturated intensity ( white ) regions ( ics uses the average cell diameter to place markers for cell locations , so the radius of the pd distribution in these regions is half the average cell diameter ) .  
conversely , itcn can only detect nuclei located on the edges of these regions , but not within . since ics does not rely exclusively on the edge buffer information , it can place additional markers for cell locations within regions of saturated intensity based on the user - indicated cell diameter .
this is a particular advantage of our algorithm over those that strongly depend on the detection of edges or a gradient vector field of the input image , for images that are somewhat saturated in some regions .
however , further evaluation is needed to confirm this advantage over alternative methods and the accuracy of location identification .
whereas itcn can only be used to analyze images that have been converted to 8-bit grayscale ( thereby losing color information ) , ics can be used to count cells that have been stained to show different coloration under the same source .
this means that the user can take a single image of a sample and obtain two or more cell counts , one for each of the two stains if both are visible on the slide .
further , the current implementation of ics , also done in java , can be executed from a command - line interface .
this makes it possible to process large batches of images in parallel , provided they have uniform color intensities .
finally , in addition to producing an output image highlighting the detected cells , ics provides a list of the cell locations in a convenient text file format .
this information is used in the creation of a 3d point cloud of cell locations obtained by accumulating the data from a stack of sequential tissue samples .
this facilitates further analysis of cell proliferation data in a way that not only considers the amount of cells in a sample , but also the location of these cells within a 3d volume , which is essential for morphometric analysis .  
an inherent limitation of ics is that it is appropriate for use only when the cells that are being analyzed can be characterized as having a certain average radius
. since cell types vary widely , the reader must double - check that this assumption can be made prior to using this method .  
ics was tested for images produced at 200x magnification but has been designed to adapt to varying degrees of magnification .
it is important to consider that when the intercellular distance is reduced to four pixels or less , which might happen at lower magnifications , the algorithm is bound to lose precision , as the traversal costs are computed on a per - pixel basis . to avoid this
, we advise that the images given to ics be taken at the highest resolution available in the microscope or scanner used .  
since the color filter used by ics is based on a user - provided color range , ics depends on the application of a consistent illumination setting across samples .
this can become a limitation if several samples are produced under inconsistent illumination settings or when illumination of the subject is inconsistent across the image .  
the images used in the study have some degree of variation in the intensity ( see figure 7 ) , which are effectively dealt with by conservatively increasing the user - provided color range .
we have applied our method to images with a higher degree of variation in the intensity distribution ( see figures 6 and 11 ) . in some cases ,
intensity saturation or excess brightness in parts of the image can take place , as shown in figure 11(f ) .
the method deals effectively with these cases by placing estimated cell markers in saturated regions based on the average cell diameter .
however , there is no protection for extremely low intensities within the sample ; these regions would normally fall outside the average color range and would be undercounted .
such images would have to be subject to other algorithms aimed at correcting the intensity variation within the image prior to use with ics .  
as previously mentioned , an advantage of ics is that it can be used to estimate cell counts in high - density regions of an input image where it is hard to assess the cell counts using standard edge detection - based algorithms .
on the other hand , standard edge detection and segmentation - based algorithms ( such as those in [ 3 , 1014 ] ) have the advantage that they are better suited to deal with a higher degree of variation in the size and shape of the cells in the input images .  
combining those two approaches through segmentation and separate processing of the input image might produce the best estimate of cell counts overall . under this scheme
, it could be possible to use ics in a hybrid algorithm that relies heavily on ics to process regions with low gradient intensities ( low signal from the edge detection buffer ) and edge - detection and segmentation approaches to process other regions of the images where cell density is smaller and the profiles of the cells are more clearly distinguishable .
in addition , ics can complement texture analysis methods for cell counting ( such as [ 16 , 17 ] ) by providing cell localization information . under this scheme
, texture analysis would be used to remove the background and segment the input image into regions encompassing different cell types .
ics would then populate the segmented regions according to the average size for cells in these regions . as mentioned earlier
we have developed incremental cell search ( ics ) , a novel cell identification and counting algorithm used for histomorphometric analysis of embryonic tissue samples .
ics distributes markers in regions of interest that represent cells based on progressive algorithms used in image sampling and nonphotorealistic rendering .
the regions of interest are defined by the user , who specifies the color range that identifies potential cells in the tissue and the estimated average cell diameter .
the algorithm also contributes to finding cell location markers in regions with saturated fluorescence , although this feature has not been extensively validated .  
ics use is appropriate when the cells or nuclei being identified are similar in size and can be approximated using round regions , as is the case in our application .
our results show that quick and consistent estimates of cell counts can be done using ics on a variety of input images matching these criteria .
o. e. meruvia - pastor , j. soh , e. j. schmidt , j. c. boughner , m. xiao , h. a. jamniczky , b. hallgrmsson and c. w. sensen participated in the writing of the paper and in the design of the validation .
e. j. schmidt prepared the specimens for sampling , e. j. schmidt and h. a. jamniczky obtained the images , and e. j. schmidt and j. c. boughner performed the manual counts .
o. e. meruvia - pastor wrote the method description and produced the counts using the automated software tools .
the research was carried out at the university of calgary , as well as most of the paper edition .
 cell proliferation is critical to the outgrowth of biological structures including the face and limbs . 
 this cellular process has traditionally been studied via sequential histological sampling of these tissues . 
 the length and tedium of traditional sampling is a major impediment to analyzing the large datasets required to accurately model cellular processes . 
 computerized cell localization and quantification is critical for high - throughput morphometric analysis of developing embryonic tissues . 
 we have developed the incremental cell search ( ics ) , a novel software tool that expedites the analysis of relationships between morphological outgrowth and cell proliferation in embryonic tissues . based on an estimated average cell size and stain color 
 , ics rapidly indicates the approximate location and amount of cells in histological images of labeled embryonic tissue and provides estimates of cell counts in regions with saturated fluorescence and blurred cell boundaries . 
 this capacity opens the door to high - throughput 3d and 4d quantitative analyses of developmental patterns . 
1. Introduction
2. Methods
3. Results
4. Discussion
5. Conclusions
 Conflict of Interests
 Authors' Contributions