AlgorithmShyamosree Pal and Partha Bhowmick, Determining Digital Circularity Using Integer Intervals, Journal of Mathematical Imaging and Vision, Springer, Vol. 42(1), pp. 1-24, 2012.What's itDigital circularity is a well-researched topic for its real-world practicality to circularity measure, estimation of discrete curvature, circular arc segmentation, etc. Several geometric techniques have been proposed over the years to measure digital circularity of an object and to address the related issues. Most of these works, however, had not considered the inherent digital-geometric properties of digital discs/circles, which are indeed difficult to establish. Our number-theoretic analysis reveals a novel technique to determine whether a digital curve segment is digitally circular using the correspondence of its constituent runs with the square numbers in integer intervals. |
The notion of radii nesting is used to successively analyze
these runs of digital points.
It has been shown why and how the conflicting radii play
a crucial role during the analysis and subsequently why and how the
rate of convergence of the radius interval
depends on the pattern of runs that constitute the digital curve segment.
Two algorithms have been proposed along with their demonstrations and detailed analysis,
and a simple-yet-effective solution has been provided to expedite them using
infimum circle and supremum circles
that bound the initial range of radii.
We have also shown how the proposed technique can be used for segmentation
of an arbitrary digital curve segment into a sequence of circular arcs (an example shown aside).Digital circleFor basic definitions, see this paper.A digital circle is a digital curve segment having its pre-image as a real circle in $\mathbb R^2$. With radius $r\in\mathbb Z^+$ and center $c=o(0,0)$, the digital circle $\dcir(o,r)$ has eight symmetric octants. Its first octant is given by: $\dcir_1(o,r)=\left\{(i,j)\in\mathbb Z: 0\leq i\leq j\leq r \,\wedge\, |j-\sqrt{r^2-i^2}|<\dfrac12\right\}.$ Hence, the full digital circle is: $\dcir(o,r)=\left\{(i,j): \{|i|,|j|\}\in\dcir_1(o,r)\right\}.$ Combining, we get the symmetry-free form as: $\dcir(o,r)=\left\{(i,j)\in\mathbb Z:\, \left|\max(|i|,|j|) - \sqrt{r^2-(\min(|i|,|j|))^2}\right| <\dfrac12\right\}.$ The digital circle $\dcir(p,r)$ having center at $p(i_p,j_p)\in\mathbb Z$ and radius $r\in\mathbb Z^+$ is given by: $\dcir(p,r)=\left\{(i+i_p,j+j_p): \ (i,j)\in\dcir(o,r) \right\}.$ |
|
Conflicting circles |
|
![]() Given that $S[0] = 6$ is the first run-length of a digital curve segment $S$, which corresponds to the topmost run-length $\lambda_{0}$ of a digital circle, we find that there are many conflicting circles, and their radii are in $[26, 36]$. |
![]() If the next run-length is $S[1] = 3$, then out of these circles, only two circles $(r \in [26, 27])$ satisfy it $(\lambda_{1} = S[1] = 3)$, and thus the conflicting range decreases. |
![]() $S[1] = 4$ is satisfied by seven circles with $r \in [28, 34]$. |
![]() $S[1] = 5$ is satisfied by two circles with $r \in [35, 36]$. However, if $S[1]\leq2$ or $S[1]\geq6$, then there is no digital circle whose topmost run-length is $S[0] = 6$. |
Nesting the RadiiLemma 1. The interval that contains the squares of abscissae of (all and only) the grid points constituting the $k(\geq0)$th run in Octant 1 of $\dcir(o,r)$ is$I_k:=[u_k,v_k]=[\max\{0,(2k-1)r-k(k-1)\},(2k+1)r-k(k+1)-1]$. Proof. Follows from an earlier work by Bhowmick & Bhattacharya (2008). Lemma 2. $\lambda_0$ is the length of top run of $\dcir(o,r)$ if and only if $r$ lies in the interval $R_0=\left[(\lambda_0-1)^2+1,\lambda_0^2\right]$. Proof. Using Lemma 1. Lemma 3. $\lambda_0$ and $\lambda_1$ are the lengths of top two runs of a digital circle $\dcir(o,r)$ if and only if $r\in R_0\cap R_1$, where, $R_1=\left[\left\lceil\dfrac{(\Lambda_1-1)^2+3}{3}\right\rceil, \left\lfloor\dfrac{\Lambda_1^2+2}{3}\right\rfloor\right]$ and $\Lambda_1=\lambda_0+\lambda_1$. In particular, if $R_0\cap R_1=\emptyset$, then there exists no digital circle whose top two runs have length $\lambda_0$ and $\lambda_1$. Proof. Using Lemma 1 and Lemma 2. To decide whether there exits a valid range of radii corresponding to a given sequence of run-lengths, we obtain the following theorems using Lemmas 1—3. Theorem 1 (Radii interval). $\langle \lambda_0,\lambda_1,\ldots,\lambda_{n}\rangle$ is the sequence of top $n+1$ run-lengths of $\dcir(o,r)$ if and only if \[r\in \bigcap\limits_{k=0}^{n} R_k\] where, \[R_{k}=\left[\left\lceil\dfrac{1}{2k+1}\left(\left(\Lambda_k-1\right)^2+k(k+1)+1\right)\right\rceil, \left\lfloor\dfrac{1}{2k+1}\left(\Lambda_k^2+k(k+1)\right)\right\rfloor\right]\] and \[\Lambda_k=\sum\limits_{j=0}^{k}\lambda_j.\] In particular, if $\bigcap\limits_{k=0}^{n} R_k=\emptyset$, then there exists no digital circle whose top $n+1$ runs have length $\langle \lambda_0,\lambda_1,\ldots,\lambda_{n}\rangle$. The decision algorithm DCT that verifies whether a sequence $S$ corresponds to top $n$ runs of a digital circle, is as follows.
|