From 665dbbbc715073dccb3b95cadfd32d900d842962 Mon Sep 17 00:00:00 2001
From: evenp <Philippe.Even@loria.fr>
Date: Tue, 1 Dec 2020 16:18:44 +0100
Subject: [PATCH] Notions rewrited

---
 Ipol/paper/Algos/algoFinal.tex   |  16 +--
 Ipol/paper/Algos/algoInitial.tex |   5 +-
 Ipol/paper/Algos/algoSingle.tex  |   6 +-
 Ipol/paper/algos.tex             |  26 ++---
 Ipol/paper/article.tex           |   8 +-
 Ipol/paper/figures/ads.pdf       | Bin 0 -> 12350 bytes
 Ipol/paper/figures/bs.pdf        | Bin 0 -> 2228 bytes
 Ipol/paper/figures/ds.pdf        | Bin 0 -> 13185 bytes
 Ipol/paper/figures/dsl.pdf       | Bin 0 -> 3091 bytes
 Ipol/paper/notions.tex           | 190 +++++++++++++++++++++++++++----
 10 files changed, 199 insertions(+), 52 deletions(-)
 create mode 100644 Ipol/paper/figures/ads.pdf
 create mode 100644 Ipol/paper/figures/bs.pdf
 create mode 100644 Ipol/paper/figures/ds.pdf
 create mode 100644 Ipol/paper/figures/dsl.pdf

diff --git a/Ipol/paper/Algos/algoFinal.tex b/Ipol/paper/Algos/algoFinal.tex
index f62c877..31802f5 100644
--- a/Ipol/paper/Algos/algoFinal.tex
+++ b/Ipol/paper/Algos/algoFinal.tex
@@ -7,7 +7,6 @@
 \SetKwData{dsd}{$\vec{V}_0$}
 \SetKwData{dirn}{$\vec{V}_G$}
 \SetKwData{dire}{$\vec{V}_E$}
-\SetKwData{dst}{$W_0$}
 \SetKwData{ath}{$\varepsilon$}
 %\SetKwData{on}{isExtending}
 %\SetKwData{nb}{$n_E$}
@@ -47,21 +46,22 @@
 \SetKwFunction{rempt}{removePoint}
 \SetKwFunction{thickness}{thickness}
 \SetKwFunction{setath}{setMaxThickness}
-\SetKwFunction{ang}{angle}
+\SetKwFunction{ang}{$\angle$}
 \SetKwFunction{dir}{direction}
 \SetKwFunction{alignds}{alignScanner}
 \SetKwFunction{centerline}{centerLine}
 
 \Input{gradient magnitude map \gmap, gradient orientation map \vmap,
-       directional scan center \dsc, direction \dsd and thickness \dst,
-       initial assigned thickness \ath, edge gradient direction \dire}
+       directional scan center \dsc and direction \dsd,
+       maximal thickness \ath, reference edge gradient direction \dire,
+       maximal amount of successive detection fails \imax}
 \Output{a detected blurred segment \bs}
 
 \bs \takes $\emptyset$\;
 \dirn \takes \ortho(\dsd, \dire)
 \Comment*{Gets test gradient direction:
           \dirn $\perp$ \dsd, \dirn$\cdot$\dire $> 0$}
-\ds \takes \getads (\dsc, \dsd, \dst) \Comment*{Gets an ADS from input scan.}
+\ds \takes \getads (\dsc, \dsd, 2\ath) \Comment*{Gets an ADS from input scan.}
 \scan \takes \fscan (\ds)\;
 \index \takes \locmax (\scan, \gmap, \gdiff, \vmap, \dirn)
 \Comment*{Gets index of pixels with oriented gradient local max.}
@@ -75,16 +75,16 @@
   \While{\ninter $-$ \ntemp $\neq$ (\imax, \imax)}{
     \nb \takes \nb $+$ $1$\;
     \bsth \takes \thickness(\bs)\;
-    \If{\pinchcount = \pinchdelay}{
+    \If{\pinchcount $=$ \pinchdelay}{
       \setath (\bs, \max (\ath, \thickness(\bs) + \half))\;
     }
     \If{\nb $>$ \adsdelay}{
-      \If{\nb = \adsdelay $+$ $1$ and \angle(\dir(\bs),\dsd) $>$ \devang}{
+      \If{\nb $=$ \adsdelay $+$ $1$ and \ang(\dir(\bs),\dsd) $>$ \devang}{
         \niside \takes \ntside $+$ (\imax, \imax)
         \Comment*{Too large deviation}
       }
       \alignds(\ds,\centerline(\bs))
-      \Comment*{Aligns scan stripe on blurred segment.}
+      \Comment*{Aligns scan strip on blurred segment.}
     }
     \ForEach{\side}{
       \If{\niside $-$ \ntside $\leq$ \imax}{
diff --git a/Ipol/paper/Algos/algoInitial.tex b/Ipol/paper/Algos/algoInitial.tex
index 9bf3e43..aa1cafe 100644
--- a/Ipol/paper/Algos/algoInitial.tex
+++ b/Ipol/paper/Algos/algoInitial.tex
@@ -28,8 +28,9 @@
 \SetKwFunction{bsinit}{initializeBlurredSegment}
 \SetKwFunction{addpt}{addPoint}
 
-\Input{gradient magnitude map \gmap,
-       input segment \is, assigned thickness \ath}
+\Input{gradient magnitude map \gmap, input segment \is,
+       maximal thickness \ath,
+       maximal amount of successive detection fails \imax}
 \Output{a detected blurred segment \bs}
 
 \bs \takes $\emptyset$\;
diff --git a/Ipol/paper/Algos/algoSingle.tex b/Ipol/paper/Algos/algoSingle.tex
index ff7163b..85f378c 100644
--- a/Ipol/paper/Algos/algoSingle.tex
+++ b/Ipol/paper/Algos/algoSingle.tex
@@ -9,7 +9,7 @@
 \SetKwData{crossang}{$\alpha_{min}$}
 \SetKwData{vecbs}{$\vec{D}$}
 \SetKwData{nb}{$n$}
-\SetKwData{ang}{$angle$}
+\SetKwData{ang}{$\angle$}
 \SetKwData{bsstart}{$P$}
 \SetKwData{dire}{$\vec{V}_E$}
 \SetKwData{centerpt}{$C$}
@@ -45,8 +45,8 @@
     }{
       \bsstart \takes \startpt (\bs)\;
       \dire \takes \vmap $[$ \bsstart $]$\;
-      \centerpt \takes \centerline (\bs) $\cup$ \is\;
-      \bs \takes \finetrack (\gmap, \vmap, \centerpt, \vecbs, $2$ \ath, \ath, \dire)
+      \centerpt \takes \centerline (\bs) $\cap$ \is\;
+      \bs \takes \finetrack (\gmap, \vmap, \centerpt, \vecbs, \ath, \dire)
       \Comment*{Runs fine tracking.}
       \If{\size (\bs) $<$ \minsize}{
         \bs \takes $\emptyset$ \Comment*{Not enough points.}
diff --git a/Ipol/paper/algos.tex b/Ipol/paper/algos.tex
index 8867825..b671b8d 100644
--- a/Ipol/paper/algos.tex
+++ b/Ipol/paper/algos.tex
@@ -28,15 +28,12 @@ Further extension is considered as useless.
 On each side, the process stops after a fixed amount of successive extension
 fails.
 
-\input{Algos/algoInitial}
-
-Three parameters are used in this step:
+Two parameters are used in this step:
 a minimal gradient magnitude $G_{min}$ to select candidates,
-a maximal extent $N_E$ of the blurred segment,
-and a maximal count $N_I$ of successive extent fails.
-Nominal values are proposed for $G_{min}$ and $N_E$.
-$N_I$ is set to a default value,
-that can be adjusted according to the application context.
+a maximal extent $N_E$ of the blurred segment.
+Nominal values are proposed for them.
+
+\input{Algos/algoInitial}
 
 \subsection{Fine tracking step of single extraction}
 
@@ -48,13 +45,11 @@ maxima of gradient magnitude found in the scan are tested untill a valid
 one is found. Moreover the gradient orientation is checked when selecting
 candidate points, using a rather strict maximal deviation value.
 In order to avoid early stops when the detected segment escapes from the
-scan stripe, the directional scanner is aligned on the blurred segment
+scan strip, the directional scanner is aligned on the blurred segment
 center line at each step. This alignment is only performed after a
 predefined number of steps when the blurred segment direction gets
 stable enough.
 
-\input{Algos/algoFinal}
-
 Moreover when the growing segment stops thickenning, the assigned maximal
 thickness of the recognition algorithm is pinched to a near value to
 the observed thickness. This pinch procedure avoids further inclusion of
@@ -66,10 +61,12 @@ Finally, when any extension fail occurs, the amount of later successful
 extensions must coincide to the fail count to validate these points.
 This condition helps to detect more accurate segment ends.
 
-Three new parameters are used in this step:
+\input{Algos/algoFinal}
+
+Three parameters are used in this step:
 a gradient height $\delta_G$ to discriminate local gradient maxima,
 a minimal count $N_P$ of successive extents without blurred segment thickening,
-and a minimal extent $N_A$ before recentering the scan stripe.
+and a minimal extent $N_A$ before recentering the scan strip.
 Nominal values are proposed for all of them.
 
 \subsection{Single blurred segment extraction}
@@ -77,6 +74,9 @@ Nominal values are proposed for all of them.
 The blurred segment extraction calls the initial detection, then the fine
 tracking steps and applies optional validation tests to the output segment.
 It is detailed in algorithm~/ref{algo:single}.
+Parameters are the maximal thickness $\varepsilon$ assigned to the blurred
+recognition algorithm, and the maximal amount $N_I$ of successive detection
+fail accepted.
 
 \input{Algos/algoSingle}
 
diff --git a/Ipol/paper/article.tex b/Ipol/paper/article.tex
index f971cf0..d004fcc 100644
--- a/Ipol/paper/article.tex
+++ b/Ipol/paper/article.tex
@@ -50,7 +50,7 @@
 \SetCommentSty{mycmtsty}
 
 % Use \newtheorem{} for remarks and definitions.
-\usepackage{amsthm}
+\usepackage{amsthm,amssymb}
 \newtheorem{definition}{Definition}
 \newtheorem*{remark}{Remark}
 
@@ -160,9 +160,9 @@ Compilation and execution instruction are included in the
 %------------------------------------------------------------------------------
 
 \section*{Acknowledgement}
-This work was originated in the scope of the French GeoDib ANR project
-("{\it G\'eom\'etrie des objets discrets bruit\'es}") held from 2006 to 2009
-and aiming at developing theoretical notions and algorithms to process noisy
+This work is a long-term outcome of French GeoDib ANR project
+("{\it G\'eom\'etrie des objets discrets bruit\'es}") held from 2006 to 2009,
+aiming at developing theoretical notions and algorithms to process noisy
 discrete objects.
 
 %------------------------------------------------------------------------------
diff --git a/Ipol/paper/figures/ads.pdf b/Ipol/paper/figures/ads.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..75cdc2b002d321bfdf6ebdc987c04946f87e4b4b
GIT binary patch
literal 12350
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

literal 0
HcmV?d00001

diff --git a/Ipol/paper/figures/bs.pdf b/Ipol/paper/figures/bs.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..445277891f872c5132a4bfc7bcc3d6a9cc772c5d
GIT binary patch
literal 2228
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
BW?%pS

literal 0
HcmV?d00001

diff --git a/Ipol/paper/figures/ds.pdf b/Ipol/paper/figures/ds.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..bb25b61f799ab732ce2c489e283f7d9045d6ff10
GIT binary patch
literal 13185
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

literal 0
HcmV?d00001

diff --git a/Ipol/paper/figures/dsl.pdf b/Ipol/paper/figures/dsl.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..f808b05851bb98646a4b3c1e3ecca8d268530024
GIT binary patch
literal 3091
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

literal 0
HcmV?d00001

diff --git a/Ipol/paper/notions.tex b/Ipol/paper/notions.tex
index 3afa12d..8e4a8c9 100644
--- a/Ipol/paper/notions.tex
+++ b/Ipol/paper/notions.tex
@@ -1,26 +1,172 @@
-\section{Required notions of discrete geometry}
+\section{Used notions of discrete geometry}
 
-Nouveau rappel des notions de geo discrete indispensables pour comprendre
-les algos :
-\begin{itemize}
-\item Discrete straight line
-\begin{itemize}
-\item{Thickness $\mu$}
-\end{itemize}
-\item Blurred segment
+In this section, the main notions of discrete geometry used in the
+framework are briefly recalled.
+
+A \textbf{digital straight line} $\mathcal{L}(a,b,c,\nu)$ is the set of
+points $p=(x,y) \in \mathbb{Z}^2$, such that:
+\begin{equation}
+0 \leq ax + by - c < \nu, \mbox{ with } (a,b,c,\nu) \in \mathbb{Z}^4
+\end{equation}
+The example of $\mathcal{L}(7,5,45,18)$ is given in \RefFig{fig:bs}(a).
+In this work, we use the following notations:
 \begin{itemize}
-\item{Assigned thickness}
-\item{Optimal line}
-\item{Main lines of the recognition algorithm}
-\end{itemize}
-\item Directional scanner
-\item Adaptive directional scanner
+\item director vector: $\vec{V}(\mathcal{L}) = (a,b)$
+\item arithmetical width: $W(\mathcal{L}) = \nu$
+\item shift to origin: $H(\mathcal{L}) = c$
+\item period: $P(\mathcal{L}) = max(|a|,|b|)$
+\item lower bounding line:
+$L(\mathcal{L}) = \left\{(x',y')\in\mathbb{R}^2~|~ax'+by'=c\right\}$
+\item upper bounding line:
+$U(\mathcal{L}) = \left\{(x',y')\in\mathbb{R}^2~|~ax'+by'=c+\nu-1\right\}$
+\item thickness:
+$T(\mathcal{L})
+= \frac{\textstyle W(\mathcal{L})-1}{\textstyle P(\mathcal{L})}$.
 \end{itemize}
+The thickness corresponds to the lowest value of the vertical and horizontal
+distances between lower and upper bounding lines.
+When $\nu = P(\mathcal{L})$, then $\mathcal{L}$ is the thinest 8-connected
+line and is called a \textit{naive line}.
+
+\begin{figure}[!htbp]
+\begin{center}
+  \begin{picture}(1,5)(0,0)
+%    \put(0,0){\framebox(1,5)}
+  \end{picture}
+  \includegraphics[width=0.45\linewidth]{figures/dsl.pdf}
+  \begin{picture}(20,5)(0,0)
+%    \put(0,0){\framebox(10,5)}
+    \put(-232,2){$O$}
+    \put(-12,2){$x$}
+    \put(-232,222){$y$}
+    \put(-115,-6){$a$}
+  \end{picture}
+  \includegraphics[width=0.45\textwidth]{figures/bs.pdf}
+  \begin{picture}(1,5)(0,0)
+%    \put(0,0){\framebox(1,5)}
+    \put(-232,2){$O$}
+    \put(-12,2){$x$}
+    \put(-232,222){$y$}
+    \put(-115,-5){$b$}
+  \end{picture}
+  \caption{(a) Digital straight line $\mathcal{L}(7,5,45,18)$.
+           (b) Blurred segment of assigned thickness
+               $\varepsilon = \frac{17}{7}$, with convex hull in dashed
+               lines and optimal line $\mathcal{L}(7,5,45,18)$.}
+  \label{fig:bs}
+\end{center}
+\end{figure}
+
+A \textbf{digital straight segment} is a subset of a digital straight line
+restricted to $\left\{x~|~x\in [x_{min},x_{max}]\right\}$ if $|a|<|b|$,
+to $\left\{y~|~y\in [y_{min},y_{max}]\right\}$ otherwise.
+
+A \textbf{blurred segment} \cite{DebledAl06} $\mathcal{B}$ of assigned
+thickness $\varepsilon$ is a set of points in $\mathbb{Z}^2$ that belong
+to a digital straight line $\mathcal{L}$ of thickness
+$T(\mathcal{L}) \leq \varepsilon$ (see \RefFig{fig:bs}(b)).
+$\mathcal{L}$ is a \textit{covering line} of $\mathcal{B}$.
+The covering line with minimal thickness is called the
+\textit{optimal line} of $\mathcal{B}$.
+The thickness $T(\mathcal{B})$ of the blurred segment is the thickness
+of its optimal line.
+
+The blurred segment detection is based on a grawing procedure where input
+points are sequentially added and tested using a linear-time incremental
+recognition algorithm \cite{DebledAl06}. This algorithm relies on the
+maintenance of the blurred segment convex hull.
+
+A \textbf{directional scan} $\Delta_S$ is an ordered partition of the grid
+domain $\mathcal{G} \subset \mathbb{Z}^2$ restricted to a thick digital
+straight line $\mathcal{D}$, called \textit{scan strip},
+into naive segments $S_i$, called \textit{scans}, orthogonal to $\mathcal{D}$.
+Each scan $S_i$ is a segment of a naive line $\mathcal{N}_i$,
+called \textit{scan line}.
+The directional scan is defined as:
+\begin{equation}
+\Delta_S = \left\{ S_i = \mathcal{D} \cap \mathcal{N}_i \cap \mathcal{G}
+\left| \begin{array}{l}
+\vec{V}(\mathcal{N}_i) \cdot \vec{V}(\mathcal{D}) = 0 \\
+H(\mathcal{N}_i) = H(\mathcal{N}_{i-1}) + P(\mathcal{D})
+\end{array} \right. \right\}
+\end{equation}
+In this definition, $\vec{V}(\mathcal{N}_i) \cdot \vec{V}(\mathcal{D}) = 0$
+expresses the orthogonality between the scan lines $\mathcal{N}_i$
+and the scan strip $\mathcal{D}$.
+The shift $p(\mathcal{D})$ between successive scans $\mathcal{N}_{i-1}$
+and $\mathcal{N}_i$ guarantees that all points of $\mathcal{D}$ are traversed
+only one time.
+
+The directional scan is completely defined by grid domain $\mathcal{G}$
+and first scan $S_0$ (see \RefFig{fig:ads}(a)).
+In FBSD, $S_0$ can be defined either by its two end points $P_1$ and $P_2$,
+or by center point $C$, director vector $\vec{V}$ and length $L$.
+The scans $S_i$ can then be iteratively accessed from start scan $S_0$
+to last right and left scans.
+
+\begin{figure}[!htbp]
+\begin{center}
+  \begin{picture}(1,5)(0,0)
+%    \put(0,0){\framebox(1,5)}
+  \end{picture}
+  \includegraphics[width=0.45\textwidth]{figures/ds.pdf}
+  \begin{picture}(20,5)(0,0)
+%    \put(0,0){\framebox(10,5)}
+    \put(-236,-2){$O$}
+    \put(-12,-2){$x$}
+    \put(-236,234){$y$}
+    \put(-115,-6){$a$}
+    \put(-78,115){\vector(-4,-1){20}}
+    \put(-76,113){\makebox(4,4)[l]{$P_2$}}
+    \put(-208,46){\vector(4,1){20}}
+    \put(-214,44){\makebox(4,4)[r]{$P_1$}}
+  \end{picture}
+  \includegraphics[width=0.45\textwidth]{figures/ads.pdf}
+  \begin{picture}(1,5)(0,0)
+%    \put(0,0){\framebox(1,5)}
+    \put(-236,-2){$O$}
+    \put(-12,-2){$x$}
+    \put(-236,234){$y$}
+    \put(-115,-5){$b$}
+    \put(-78,115){\vector(-4,-1){20}}
+    \put(-76,113){\makebox(4,4)[l]{$P_2$}}
+    \put(-208,46){\vector(4,1){20}}
+    \put(-214,44){\makebox(4,4)[r]{$P_1$}}
+    \put(-95,189){\vector(-1,0){40}}
+    \put(-93,186){\makebox(4,4)[l]{$\mathcal{C}$}}
+  \end{picture}
+  \caption{(a) A directional scan with start scan $S_0$ in black,
+           odd scans in green, even scans in blue,
+           bounds of scan lines $\mathcal{N}_i$ in dashed lines and
+           bounds of scan strip $\mathcal{D}$ in blue lines.
+           (b) An adaptive directional scan.
+           The scan strip is dynamically fit to curve $\mathcal{C}$ position,
+           and the scans are continuously centered on $\mathcal{C}$.}
+  \label{fig:ads}
+\end{center}
+\end{figure}
+
+An \textbf{adaptive directional scan} $\Delta_A$
+is a dynamical version of the directional scan with continuous registration
+of the scan strip to the center line $\mathcal{C}$ of a tracked linear feature.
+Compared to static directional scans, here the scan strip adapts from
+initial position $\mathcal{D}_0$ to update position $\mathcal{D}_i$, 
+and at each step, the scan moves within its scan line
+(see \RefFig{fig:ads}(b)).
+The adaptive directional scan is formally defined by:
 
-Typically, The manuscript of an IPOL article submitted for peer-review should
-include an introduction, a detailed explanation of the algorithm (it could
-include some theoretical background, pseudo-code and/or block diagram, a
-complexity analysis, and an explanation of the parameter values), commented
-examples of the results and references to related publications. This content
-can be adapted when the article is not about an algorithm (like dataset
-articles).
+\begin{equation}
+\Delta_A = \left\{
+S_i = \mathcal{D}_i \cap \mathcal{N}_i \cap \mathcal{G}
+\left| \begin{array}{l}
+\vec{V}(\mathcal{N}_i) \cdot \vec{V}(\mathcal{D}_0) = 0 \\
+H(\mathcal{N}_i) = H(\mathcal{N}_{i-1}) + P(\mathcal{D}_0) \\
+\mathcal{D}_{i} = \mathcal{L}(\widehat{C}_i, W(\mathcal{D}_0)), i > 0
+\end{array} \right. \right\}
+\label{eq:ads}
+\end{equation}
+where $\widehat{C}_{i}$ is a triplet composed of the director vector
+$(a_i,b_i)$ and the shift to origin $c_i$ of an estimate at position $i$
+of the curve $\mathcal{C}$ to track.
+This last clause expresses the scan bounds update at iteration $i$.
+In FBSD, the tracked linear feature is the blurred segment to detect.
-- 
GitLab