# A geometric method for contour extraction of Drosophila embryos

- Qi Li
^{1}Email author and - Yongyi Gong
^{2}

**11(Suppl 6)**:102

https://doi.org/10.1186/s12918-017-0478-1

© The Author(s) 2017

**Published: **14 December 2017

## Abstract

### Background

High resolution images of Drosophila embryos in their developmental stages contain rich spatial and temporal information of gene expression. Automatic extraction of the contour of an embryo of interest in an embryonic image is a critical step of a computational system used to discover gene-gene interaction on Drosophila.

### Results

We propose a geometric method for contour extraction of Drosophila embryos. The key of the proposed geometric method is k-dominant point extraction that is a generalization of 3-dominant point extraction proposed in our previous work. Based on k-dominant point extraction, we can approximate a connected component of edge pixels by a polygon that can be either convex or concave. The test on BDGP data shows that the proposed method outputforms two existing methods designed for contour extraction of Drosophila embryos.

### Conclusions

The main advantage of the proposed geometric method in the context of contour extraction of Drosophila embryos is its ability of segmenting embryos touching each other. The proposed geometric method can also be applied to applications relevant to contour extraction.

## Keywords

## Background

High resolution images of Drosophila embryos in their developmental stages contain rich spatial and temporal information of gene expression. They have become a valuable instrument for micro-biologists to discover gene-gene interaction [1]. Automatic extraction of the contour of an interest embryo in an image is a critical step of a computational system for the discovery of gene-gene interaction on Drosophila [2].

In general, Drosophila embryonic images contain substantial amount of variations [3, 4]: i) imaging conditions, such as contrasts, scale, orientation, and neighboring embryos, ii) gene expression patterns, and iii) developmental stages. Most existing methods were developed upon low-level image features, such as edge pixels or pixels with a high deviation of grayvalues in a local window [3–10]. Peng and Myers [5] proposed a method that uses the standard deviation of the local windows of a pixel to classify the pixel as a foreground or background pixel. Their method applies a 8-neighbor-connectivity region-growing method to extract the contour of an embryo. Pan et al. [6] applied a variant of Marquardt-Levenberg algorithm to estimate an optimal affine transformation to register localized embryos into an ellipsoidal region. Puniyani et al. [7] proposed an edge detection based method that assumes a number of heuristic constraints, including object size, convexity, shape features (e.g., ratio of the major over minor axis of an object), and the percentage of overlapping regions. Frise et al. [8] developed the method of Peng and Myers [5] by adding three morphological operations on a binary image: i) removal of isolated pixels, ii) dilation, and iii) majority processing. Futhermore, Frise et al. [8] proposed a heuristic algorithm to separate the embryo of interest from multiple touching embryos, with the assumption that the center of the embryo of interest is the image center. Mace et al. [9] proposed an eigen-embryo method to extract the contour of embryos, where a particle swarm optimizer was used to reduce the computational cost of searching optimal eigen parameters. Li and Kambhamettu [3] proposed a quadratic curve model to initialize the contour of the embryo of interest based on edge pixels, and applied an active contour model to refine embryo contours. Bessinger et al. [10] proposed criteria to select the optimal connected component of edge pixels in the scale space of an input image. Li [4] proposed algorithms to detect and restore deficiencies and faults of primal sketch tokens that occur when a targeting object is surrounded by a complex background.

## Methods

### 3-dominant point extraction

*v*

_{1},

*v*

_{2}and

*v*

_{3}. The first two points (

*v*

_{1}and

*v*

_{2}) maximize the Euclidean distance of an arbitrary pair of points in

*C*, and the third point

*v*

_{3}maximizes the sum of distances between a

*p*∈

*C*and

*v*

_{ i },

*i*=1,2, i.e.,

Given a point and a line segment *v*
_{1}
*v*
_{2}, we call ∥*p*−*v*
_{1}∥+∥*p*−*v*
_{2}∥ a *point-line-segment* distance to distinguish the common *point-line* distance that is defined by the distance between *p* and its vertical intersection with a line passing *v*
_{1} and *v*
_{2}.

Based on *v*
_{1},*v*
_{2}, and *v*
_{3}, the piecewise linearity of *C* is then verified, i.e., where each point *p*∈*C* falls on either the line segment *v*
_{1}
*v*
_{3} or *v*
_{2}
*v*
_{3}. If yes, the recursion is stop. Otherwise, *C* is partitioned into two subsets, and the above 3-dominant point extraction method is then applied to the two subsets recursively.

### K-dominant point extraction: basic concepts

In this section, we first generalize the approach for locating the 3rd dominant point, given two dominant points, from a set of unordered points *P* to a formula for locating the *i*-th dominant point, given *i* number of dominant points, from *P*. Then, we propose a simple method to insert a new dominant point into a sequence of geometrically-ordered dominant points so that dominant points are ordered geometrically. Last, we proposed a solution to address the challenge of concave polygons.

The basic idea of k-dominant point extraction is to iteratively insert a new dominant point into a set of *k*−1 dominant points that have been found, under certain geometric constraint. For the convenience of illustration, we now introduce several basic concepts. First of all, the *k*−1 dominant points are expected to be a geometric sequence that is consistent with a given set of 2D points.

Denote 〈*r*(1),…*r*(*k*)〉 is a permutation of 1,…,*k*. A *geometric sequence* of *k*−1 dominant points is denoted as *S*
_{
k−1}=〈*v*
_{
r(1)},*v*
_{
r(2)},…,*v*
_{
r(k−1)}〉. A valid geometric sequence is expected to be a polyline, i.e., *v*
_{
r(1)}
*v*
_{
r(2)} is the first line segment passing a subset of points, and *v*
_{
r(2)}
*v*
_{
r(3)} is the second line segment passing a subset of points, etc. The initial geometric sequence contains two dominant points, ideally representing a line segment (also called *1-piece polyline*).

A *closed* tag is introduced with respect to a consecutive pair of dominant points (*v*
_{
r(i)},*v*
_{
r(i+1)}) in a geometric sequence with the motivation of speeding up the insertion of a new dominant point. A consecutive pair with (*v*
_{
r(i)},*v*
_{
r(i+1)}) a *closed* tag indicates that a new dominant point is not allowed to be inserted between *v*
_{
r(i)} and *v*
_{
r(i+1)} in the associated geometric sequence.

*Insertability*is introduced with respect to a new dominant point in order to tell whether the new dominant point is allowed to insert to a geometric sequence of dominant points. Insertability of a point is essentially introduced as a condition to stop the “global” search of dominant points. Imagine that we have a set of points forming a rectangle. After we find out four dominant points associated with the four vertices of a rectangle, the insertability of the fifth dominant point is expected to be NO in order to avoid inserting a non-vertex point into the sequence. Given a geometric sequence

*S*=〈

*v*

_{1},

*v*

_{2},…,

*v*

_{ k−1}〉 and a point

*v*

_{ k }, the point

*v*

_{ k }is called (

*S*,

*ε*)

*-insertable*if the point-line-segment distance between

*v*

_{ k }to every pair (

*v*

_{ i },

*v*

_{ i+1}) is less than or equal to (1+

*ε*) times the length of the line segment

*v*

_{ i }

*v*

_{ i+1}, i.e.,

where *ε* is a parameter to tolerate the distortion of a straight line. *ε* is not a sensitive parameter, and it can be set from 0.01 to 0.05. In this paper, we fix it to be 0.02. Thus, we sometime simply call a point *v*
_{
k
}
*S*-insertable, or just insertable.

### Initialization

*v*

_{1}and

*v*

_{2}, given a point set, such that their Euclidean distance is a maximal distance among distances of all pairs of points in

*P*, i.e.,

The closed tags for *v*
_{1} and *v*
_{2} are both initialized as 0 (i.e., false).

### Searching a new dominant point

*P*and

*k*−1 dominant points

*v*

_{1},…,

*v*

_{ k−1},

*k*>2, we propose the following formula to search the

*k*-th dominant point:

For *k*=3, we have an initial geometry sequence *S*
_{2}=〈*v*
_{1},*v*
_{2}〉. Based on Eq. 2, we can test the insertability of the new dominant point *v*
_{3}. For *k*>3, we can assume that a geometry sequence *S*
_{
k−1} has been iteratively built, as described in the following section.

It is worth noting that the time complexity of searching a new dominant point depends on the point set *P*, i.e., *Θ*(|*P*|). However, testing the insertability of the new dominant point depends on the geometry sequence *S* only, i.e., in the cost of *Θ*(|*S*|). With closed tags, the computational cost can be further reduced.

### Upon an insertable dominant point: growing *S*
_{
k−1}

*S*-insertable dominant point, we will insert the point into an open “slot” of the geometric sequence

*S*. Given a sequence

*S*

_{ k−1}of

*k*−1 dominant points with a geometric order, i.e.,

*S*

_{ k−1}=〈

*v*

_{ r(1)},

*v*

_{ r(2)},…,

*v*

_{ r(k−1)}〉, each open pair (

*v*

_{ r(i)},

*v*

_{ r(i+1)}) of

*S*offers a space for an insertable

*v*

_{ k }to insert, as follows:

where □ indicates a possible space where *v*
_{
k
} may be inserted. Here the notation *S*
_{
k−1,i
} represents an *abstract* geometric sequence that contains a placeholder □ between the pair (*v*
_{
i
},*v*
_{
i+1}). Furthermore, we denote 〈*S*
_{
k−1,i
},*v*
_{
k
}〉 a *concrete* geometric sequence by replacing the placeholder □ in the abstract sequence *S*
_{
k−1,i
} by *v*
_{
k
}.

For convenience, we introduce *r*(*k*)=*r*(1) and augment the sequence 〈*v*
_{
r(1)},*v*
_{
r(2)},…, *v*
_{
r(k−1)}〉 to 〈*v*
_{
r(1)},*v*
_{
r(2)},…, *v*
_{
r(k−1)},*v*
_{
r(k)}〉.

*S*

_{ k }=〈

*v*

_{ r(1)},

*v*

_{ r(2)},…,

*v*

_{ r(k)}〉. The first one is:

where ∥·∥ denotes the cardinality of a set.

*S*

_{ k }, i.e.,

The second criterion can be applied if *C* forms a simple curve (no self intersection). It is also easy to see that the computational cost of the second type of confidence is much lower than the first type.

By maximizing the confidence of each derived sequence, we can decide the optimal insertion of a new dominant point in order to maintain the geometric order.

*k*dominant points. Given the first dominant points

*v*

_{1}and

*v*

_{2}. Without lose of generality, we start from the geometric sequence 〈

*v*

_{1},

*v*

_{2}〉. After

*v*

_{3}is computed by Eq. 4, there are two possible options to insert

*v*

_{3}: i) 〈

*v*

_{1},□,

*v*

_{2}〉 and 〈

*v*

_{1},

*v*

_{2},□〉. The first option brings us the sequence 〈

*v*

_{1},

*v*

_{3},

*v*

_{2}〉, where closed tag assignment is (1,1,0), meaning that

*v*

_{1}

*v*

_{3}and

*v*

_{3}

*v*

_{2}are closed, and

*v*

_{2}

*v*

_{1}is open. The second option brings us the sequence 〈

*v*

_{1},

*v*

_{2},

*v*

_{3}〉, where closed tag assignment is (0,1,1), meaning that

*v*

_{1}

*v*

_{2}is open, and

*v*

_{2}

*v*

_{3},

*v*

_{3}

*v*

_{1}are both closed. Based on the confidence measure, these two options are both optimal. Without lose of generality, we choose the first option for following illustration. Consecutively, the proposed method grows the geometric sequence as follows: i) 〈

*v*

_{1},

*v*

_{3},

*v*

_{2}〉 with closed tags (1,1,0); ii) 〈

*v*

_{1},

*v*

_{3},

*v*

_{2},

*v*

_{4}〉 with closed tags (1,1,1,0); iii) 〈

*v*

_{1},

*v*

_{3},

*v*

_{2},

*v*

_{4},

*v*

_{5}〉 with closed tags (1,1,1,0,1).

### Upon a non-insertable dominant point: reduce *P*

If a new dominant point *v*
_{
i
} computed by Eq. 4 is non-insertable, we will stop growing the geometric sequence and start to reduce the input point set *P*. The basic idea of reducing *P* is to remove all points that lie in one of closed line segments such that we obtain a subset of points that have a simpler topology. A point remained in *P* must be associated with a certain open pair of dominant points. So the above method can be recursively applied to each subset of points, and in turn each output (a sequence of dominant points from a subset of points can be correctly inserted into a higher level output). Simply speaking, a non-insertable dominant point activates a divide-and-conquer strategy that can handle the concavity of a data set shaped by a concave polygon.

*P*when a new dominant point is tested to be non-insertable. After reduction, there are two subsets of points since there are two open pairs of dominant points in the geometric sequence. K-dominant point extraction method is then recursively applied to these two point sets, respectively.

Algorithm 1 summarizes the procedure of testing the closedness of a pair of dominant points (*v,w*), given a point set *P*. Note that if closedness is true, *P* will be updated by removing all points near the line segment *vw*. The time complexity of the algorithm is dominated by Step 5 (sorting) that is *O*(|*P*| log(|*P*|)). Algorithm 2 summarizes the recursive implementation for k-dominant point extraction. The time complexity of the algorithm is dominated by two non-recursive steps: i) Step 4 (the initialization of *S*) that is *O*(|*P*|^{2}), and ii) Step 13 (closedness) that is *O*(|*P*| log(|*P*|), in addition to the recursive step, i.e., Step 16. In many cases, the concavity is not very complicated and the depth of recursion won’t be over 2. Therefore, the overall time complexity of the Algorithm is *O*(|*P*|^{2}(1+ log(|*P*|)^{2})) with an assumption that the number of vertices of a polygon is a constant and points in *P* can be uniformly projected to *S*.

### Limitation of max-sum-distance measure

*v*

_{1},

*v*

_{2},

*v*

_{3}〉, however a point set is non-reducible. More specifically, given a point set (a number of black dots) as illustrated in the figure, assume that the first three dominant points have already been located according to the proposed kdp method. Since the max function in Eq. 4 is a convex function, the fourth dominant point is expected to be near to the boundary of the convex hull of the point set (which is equivalent to the triangle with vertices

*v*

_{1},

*v*

_{2}and

*v*

_{3}). In other words, the four dominant point must be a point nearest to either

*v*

_{1},

*v*

_{2}or

*v*

_{3}. Based on the definition of “insertible”, the fourth point is non-insertible with respect to the geomtric sequence

*v*

_{1},

*v*

_{2}and

*v*

_{3}. According to the above algorithm, we now stop growing the sequence, and start to reduce the given point set

*P*. However, it turns out that

*P*is not reducible. This scenario shows a limitation of using max-sum-distance in computing k-dominant points. Note that this scenario is a representative formuation of two objects who have smooth boundaries and are touching to each other.

Figure 4
b shows a scenario where the fourth dominant point is non-insertible and the point set is reducible with respect to *v*
_{
i
},*i*=1,…,3. The fourth dominant point is expected to be a point on the line segment *v*
_{2}
*v*
_{3}. Precisely speaking, the fourth dominant point is the point nearest to *v*
_{2} as ∥*v*
_{2}−*v*
_{1}∥>∥*v*
_{3}−*v*
_{1}∥. Note that for any point *p* on the line segement, the sum of distances *v*
_{2}
*v*
_{3}, ∥*p*−*v*
_{2}∥+∥*p*−*v*
_{3}∥ is a constant. If ∥*v*
_{2}−*v*
_{1}∥=∥*v*
_{3}−*v*
_{1}∥, the fourth dominant point can be an arbitray point on the line segment *v*
_{2}
*v*
_{3}. Unlike the scenario Fig. 4
a where all pairs of dominant points are open, the point set in Fig. 4
b is reducible because (*v*
_{2},*v*
_{3}) forms a closed pair.

Figure 4 c shows a scenario where the fourth dominant point is insertible. Therefore, the algorithm will continue to locate the fifth dominant point. Reducibility is thus not applicable in this scenario.

*Fermat point*is the point in the plane that minimizes the sum of distances from itself to the three points. The Fermat point can be computed analytically, as illustrated in Fig. 5. Specifically, we first construct an equilateral triangle (in dash lines) for each edge of the given triangle (in solid lines), and then connect the outmost vertex of each equilateral triangle to a given vertex outside the equilateral triangle by a red line. The Fermat point must be the intersection of three red lines. Given

*m*points in a plane, the

*geometric median*is the point in the plane that minimizes the sum of distances from itself to the

*m*points.

A subtle difference between computing a geometric median and computing a dominant point under the min-sum-distance scheme is that the search space in the former problem is a continous and infinite plane, while the search space in the latter problem is a discrete and finite point set. For convenience, we call the problem of computing a dominant point under a min-sum-distance scheme *discrete geometric median*.

### Max/min-sum-distance measure

The three scenarios illustrated in Fig. 4 show that a max-sum-distance scheme is not able to handle various structures of a point set to extract dominant points. A min-sum-distance scheme is expected to be integrated with a max-sum-distance scheme adaptively. In other words, we have to compare both schemes, a max-sum-distance and a min-sum-distance, and select a better scheme under some criterion to extract the next dominant point during the stage of growing the geometric sequence of dominant points. For convenience, we call the problem as *max/min-sum-distance measure problem*.

*balance the distance from a new dominant point to its two neighboring dominant points in the new geometric sequence.*Specifically, given a point set

*P*and a geometric sequence of dominant points

*S*

_{ k−1}=〈

*v*

_{1},…,

*v*

_{ k−1}〉, we have two candidates of a new dominant point: i) \(v^{\max }_{k}\) according to the max-sum-distance measure, and ii) \(v^{\min }_{k}\) according to the min-sum-distance measure. For each candidate, \(v^{\max }_{k}\) or \(v^{\min }_{k}\), we first compute the optimal location to insert by maximizing the confidence of a derived sequence, i.e.,

Note that both *r*
^{max} and *r*
^{min} range from 0 to 1. A larger value indicates more balanced distance from a candidate to its optimal neighbors. So, if *r*
^{max}≥*r*
^{min}, the candidate \(v^{\max }_{k}\) is selected. Otherwise, \(v^{\min }_{k}\) is selected.

It is intuitive that dominant points selected by a balance-oriented criterion have a better description of the global structure of a point set, and thus they can provide more reliable estimation of geometric properties of a point set, such as curvature. In contrast, if a dominant point has an imbalanced distance ratio to its two neighbors, the estimation of a geometric property at this dominant point will be very sensitive to the localiation error of itself and its neighbors.

It is easy to see that the balanced-oriented criterion on distance measure can address the above-mentioned three scenarios very well. It is also not difficult to show that the max/min-sum-distance measure can be consistently selected if a point set forms a convex polygonal shape.

### Limitation of max/min-sum-distance measure

*v*

_{1},

*v*

_{2}and

*v*

_{3}are first extracted without any problem. Based on max/min-sum-distance measure, there are two candidates for the 4th dominant point: i) \(v_{4^{\prime }}\) according to max-sum-distance measure, and ii) \(v_{4^{\prime \prime }}\) according to min-sum-distance measure. However, the inflection point \(v_{4^{\prime \prime \prime }}\) has a more balanced distance ratio to its neighboring dominant points

*v*

_{1}and

*v*

_{2}than \(v_{4^{\prime }}\) and \(v_{4^{\prime \prime }}\). Thus, a inflection point, intuitively, can have a better description of the global structure of a point set, say, a sequence of dominant points that can response to inflection points can cover a larger number of points in a given point set than an equal-length sequence of dominant points that cann’t response to inflection points.

### Max/min/median-sum-distance measure

*balance the distance from a new dominant point to its two neighboring dominant points in the new geometric sequence.*Specifically, given a point set

*P*and a geometric sequence of dominant points

*S*

_{ k−1}=〈

*v*

_{1},…,

*v*

_{ k−1}〉, we have two candidates of a new dominant point: i) \(v^{\max }_{k}\) according to the max-sum-distance measure, ii) \(v^{\min }_{k}\) according to the min-sum-distance measure, and iii) \(v^{\text {mdn}}_{k}\) according to the median-sum-distance measure. For each candidate, \(v^{\max }_{k}\), \(v^{\min }_{k}\) or \(v^{\text {mdn}}_{k}\), we first compute the optimal location to insert by maximizing the confidence of a derived sequence, i.e.,

Note that *r*
^{max},*r*
^{min} and *r*
^{mdn} range from 0 to 1. The largest value indicates the most balanced distance from a candidate to its optimal neighbors. For example, if *r*
^{max} is the largest value, the candidate \(v^{\max }_{k}\) will be selected.

### Sequence subdivision

*v*

_{ i }, denote

*v*

_{ i−1}

*v*

_{ i }=

*v*

_{ i−1}−

*v*

_{ i }and

*v*

_{ i+1}

*v*

_{ i }=

*v*

_{ i+1}−

*v*

_{ i }are two directional vectors centered at

*v*

_{ i }. The cross angle between these two vectors that can be computed by \(\text {acos}\frac {v_{i-1}v_{i}}{\|v_{i-1}v_{i}\|}\frac {v_{i+1}v_{i}}{\|v_{i+1}v_{i}\|}\) can be used to tell whether a dominant point is smooth or not. For simplicity, we call the cross angle of the two directional vectors centered at

*v*

_{ i }

*the angle*of

*v*

_{ i }. Figure 7 a shows a scenario where the two hollow dots represent the two intersections between the contours of two touching Drosophila embryos, and their angles are acute. Figure 7 b shows a scenario where the contour of a Drosophila is a bean shape that contains two inflection points. The angles of two inflection points are obtuse, i.e., similar to the cross angle of other dominant points given a smooth contour.

## Results

We tested the proposed method on BDGP (Berkley Drosophila Genome Project) [1]. BDGP images are available at the following public webpage: http://www.fruitfly.org/insituimages/insitu_images/.

*successful detection*if the output by Algorithm 2 has larger than 90% overlapping region with the ground truth. The dataset contains 2000 images of BDGP Drosophila embryos. Table 1 shows the quantitative results, including the comparison of two existing methods on contour extraction of Drosophila embryos: i) Li and Kambhamettu’s method [3] that consists an initialization based on a quadratic curve model, and a refinement based on an active contour model; ii) Li’s method [4] that can detect and restore deficiencies and faults of primal sketch tokens occurring when a targeting object is surrounded by a complex background.

## Discussion

As we mentioned in the introduction, the proposed framework can be applied to other applications of contour extraction. The main contribution of the proposed framework is k-dominant point extraction based on a specific distance measure. There is a trade off among the three types of distance measures: max-sum, max/min-sum, and max/min/median-sum. The last one is the most sophisticate one, i.e., it can deal with concave contours, and touching scenarios of targeting objects, while the first one is the most efficient one in computation. Therefore, max-sum distance may be used in some circumstance, e.g., contours are convex. K-dominant point extraction may also be applied to more general applications beyond contour extraction, such as data clustering. In other words, the data that k-dominant point extraction is applied can have arbitrary dimensions rather than two.

## Conclusions

We have proposed a geometric method for contour extraction of Drosophila embryos. Experiment results show the effectiveness of the proposed method, typically in segmenting two touching embryos in an image. The results also show the superiority of the proposed method over two previous methods. The proposed method advances the theory of control point detection by generalizing 3-dominant points to k-dominant points. The generalization includes strategies to deal with concave shapes, thus the proposed method can be applied to a wide range of applications relevant to contour extraction.

## Declarations

### Acknowledgements

We thank editors and reviewers constructive comments and suggestions in improving the quality of the paper.

### Funding

This work was supported by National Science Foundation Grant of China 61370160, Guangdong Province Natural Science Foundation Project 2015A030313578, and Guangdong Scientific and Technological Plan Project 2015B010106005. Publication costs were funded by National Science Foundation Grant of China 61370160.

### Availability of data and materials

BDGP data is available in the public website: http://www.fruitfly.org/insituimages/insitu_images/.

### About this supplement

This article has been published as part of *BMC Systems Biology* Volume 11 Supplement 6, 2017: Selected articles from the IEEE BIBM International Conference on Bioinformatics & Biomedicine (BIBM) 2016: systems biology. The full contents of the supplement are available online at https://bmcsystbiol.biomedcentral.com/articles/supplements/volume-11-supplement-6.

### Authors’ contributions

QL conceived the study, designed algorithms, implemented software, carried out analyses, and wrote paper. YG carried out analyses and wrote paper. Both authors read and approved the final manuscript.

### Ethics approval and consent to participate

Not applicable.

### Consent for publication

Not applicable.

### Competing interests

The authors declare that they have no competing interests.

### Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Open Access** This article is distributed under the terms of the Creative Commons Attribution 4.0 International License(http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons Public Domain Dedication waiver(http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated.

## Authors’ Affiliations

## References

- Tomancak P, et al.Systematic determination of patterns of gene expression during drosophila embryogenesis. Genome Biol. 2002; 3(12):1–14.View ArticleGoogle Scholar
- Kumar S, Jayaraman K, Panchanathan S, Gurunathan R, Marti-Subirana A, Newfeld SJ. Best: A novel computational approach for comparing gene expression patterns from early stages of drosophila melanogaster development. Genetics. 2002; 16(4):2037–47.Google Scholar
- Li Q, Kambhamettu C. Contour extraction of drosophila embryos. IEEE/ACM Trans Comput Biol Bioinforma. 2011; 8(6):1509–21.View ArticleGoogle Scholar
- Li Q. A primal sketch based framework for bean-shape contour extraction. Neurocomputing. 2014; 142:508–19.View ArticleGoogle Scholar
- Peng H, Myers EW. Comparing in situ mRNA expression patterns of drosophila embryos. In: RECOMB. Springer: 2004. p. 157–66.Google Scholar
- Pan JY, Balan AGR, Xing EP, Traina AJM, Faloutsos C. Automatic mining of fruit fly embryo images. In: KDD. ACM: 2006. p. 693–8.Google Scholar
- Puniyani K, Faloutsos C, Xing EP. Spex2: Automated concise extraction of spatial gene expression patterns from fly embryo ish images. Bioinformatics. 2010; 26(12):47–56.View ArticleGoogle Scholar
- Frise E, Hammonds AS, Celniker SE. Systematic image-driven analysis of the spatial drosophila embryonic expression landscape. Mol Syst Biol. 2010; 6:345. http://msb.embopress.org/content/6/1/345.View ArticlePubMedPubMed CentralGoogle Scholar
- Mace DL, Varnado N, Zhang W, Frise E, Ohler U. Extraction and comparison of gene expression patterns from 2d rna in situ hybridization images. Bioinformatics. 2010; 15(26(6)):761–9.View ArticleGoogle Scholar
- Bessinger Z, Xing G, Li Q. Localization of drosophila embryos using connected components in scale space. In: 19th IEEE International Conference on Image Processing, ICIP 2012, Lake Buena Vista, Orlando, FL, USA, September 30 - October 3, 2012. IEEE: 2012. p. 497–500.Google Scholar
- Li Q. A geometric framework for rectangular shape detection. IEEE Trans Image Process. 2014; 23(9):4139–49.View ArticleGoogle Scholar
- Li Q, Liang G, Gong Y. A geometric framework for stop sign detection. In: IEEE China Summit and International Conference on Signal and Information Processing, ChinaSIP 2015, Chengdu, China, July 12-15, 2015. IEEE: 2015. p. 258–62.Google Scholar