diff --git a/Article/Fig_expe/buroNew.png b/Article/Fig_expe/buroNew.png
index 189e441e7ac46c022a642698f7ea06ac6cf952bf..05c5b16af4c432d63bb61297f51d15cc2b6ed71e 100644
Binary files a/Article/Fig_expe/buroNew.png and b/Article/Fig_expe/buroNew.png differ
diff --git a/Article/Fig_expe/buroOld.png b/Article/Fig_expe/buroOld.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab3de6c19746ce671623bc649fb44590a9a0e448
Binary files /dev/null and b/Article/Fig_expe/buroOld.png differ
diff --git a/Article/Fig_method/algoMulti.tex b/Article/Fig_method/algoMulti.tex
index 139655e9f39d4bcc9dd349e018c82b5fb3d7cb24..84f36d47a8ce307fe247c8de745a7fefb8a9c7b0 100644
--- a/Article/Fig_method/algoMulti.tex
+++ b/Article/Fig_method/algoMulti.tex
@@ -6,7 +6,7 @@
   \SetKwData{lm}{LocMax}
   \SetKwData{nullset}{$\emptyset$}
   \SetKwData{ortho}{$\vec{AB}_\perp$}
-  \SetKwData{eps}{$\varepsilon_{ini}$}
+  \SetKwData{eps}{$2~\varepsilon_{ini}$}
   \SetKwData{pta}{$A$}
   \SetKwData{ptb}{$B$}
   \SetKwData{Result}{Result}
diff --git a/Article/Fig_method/briques.gif b/Article/Fig_method/briques.gif
new file mode 100755
index 0000000000000000000000000000000000000000..dfb962a34e756ea46e0f273c5c0dbc046ffb162f
Binary files /dev/null and b/Article/Fig_method/briques.gif differ
diff --git a/Article/Fig_method/briques1_full.png b/Article/Fig_method/briques1_full.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0aacb9901316597a40a630683908fba2ac634a3
Binary files /dev/null and b/Article/Fig_method/briques1_full.png differ
diff --git a/Article/Fig_method/briques1_zoom.png b/Article/Fig_method/briques1_zoom.png
new file mode 100644
index 0000000000000000000000000000000000000000..10b7c6d527eb3b6e1a53e477747b799977e9fbc4
Binary files /dev/null and b/Article/Fig_method/briques1_zoom.png differ
diff --git a/Article/Fig_method/briques2_full.png b/Article/Fig_method/briques2_full.png
new file mode 100644
index 0000000000000000000000000000000000000000..70aed9d64bdb18d9c1d53b5e2edb84655d5a9fb7
Binary files /dev/null and b/Article/Fig_method/briques2_full.png differ
diff --git a/Article/Fig_method/briques2_zoom.png b/Article/Fig_method/briques2_zoom.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e37f0cfe7afa6b0d5cdcd79e34b663acb55b522
Binary files /dev/null and b/Article/Fig_method/briques2_zoom.png differ
diff --git a/Article/Fig_method/edgeDir.readme b/Article/Fig_method/edgeDir.readme
index b7923f481987ed07c4cc7397772a8e4f962205c1..edd70c5d8ee58d878328566c702586acac1d1029 100644
--- a/Article/Fig_method/edgeDir.readme
+++ b/Article/Fig_method/edgeDir.readme
@@ -1,5 +1,12 @@
-Images obtenues pas le test testEdgeDir.txt
+Images obtenues par le test testEdgeDir.txt
 suivi de la commande de detection multiple : Ctrl-M
 avec deux modalites pilotees par Ctrl-E
-
 Sur gimp selection de la zone (34,166)(444,314).
+
+Images obtenues par le test testBriques.txt sur l'image briques.gif.
+avec une consigne d'epaisseur finale reglee a 8 pixels (touche x).
+Les segments sont extraits en detection simple
+et les deux aretes sont sauvegardees separement et affichees.
+Trop de detections parasites en multi-detection.
+Attenuation du contraste a blevel = 50.
+Sur gimp selection de la zone (174,160)(-10,104).
diff --git a/Article/Fig_method/parpaings.png b/Article/Fig_method/parpaings.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac6716017d8dd3a3b6d1bde446140a7032de1386
Binary files /dev/null and b/Article/Fig_method/parpaings.png differ
diff --git a/Article/Fig_method/parpaings2.png b/Article/Fig_method/parpaings2.png
new file mode 100644
index 0000000000000000000000000000000000000000..70b3376d8d3a44aff8525a29581a5de8b26b13a2
Binary files /dev/null and b/Article/Fig_method/parpaings2.png differ
diff --git a/Article/Fig_method/parpaings3.png b/Article/Fig_method/parpaings3.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5844fe79faa96225bc829bc196d9d080e2a8275
Binary files /dev/null and b/Article/Fig_method/parpaings3.png differ
diff --git a/Article/Fig_method/testBriques.txt b/Article/Fig_method/testBriques.txt
new file mode 100644
index 0000000000000000000000000000000000000000..863bd5b8d56a8b39506d090c4078927dc442482f
--- /dev/null
+++ b/Article/Fig_method/testBriques.txt
@@ -0,0 +1,2 @@
+105 320
+118 283
diff --git a/Article/biblio.bib b/Article/biblio.bib
index 781258bf9f7feb1ad2b81c6ca64dae32208737a9..8af3773c3c3f0050a5d721cbc1f1d0e097231c3c 100755
--- a/Article/biblio.bib
+++ b/Article/biblio.bib
@@ -11,7 +11,7 @@
   title = {Blurred segments in gray level images for
            interactive line extraction},
   author = {Kerautret, Bertrand and Even, Philippe},
-  booktitle = {Proc. of Int. Workshop on Computer Image Analysis}},
+  booktitle = {Proc. of Int. Workshop on Combinatorial Image Analysis},
   series = {LNCS},
   volume = {5852},
   optpublisher = {Springer},
@@ -131,7 +131,7 @@
 
 
 @inproceedings{LuAl15,
-  title = {CannyLines: a parameter-free line segment detector},
+  title = {Canny{L}ines: a parameter-free line segment detector},
   author = {Lu, Xiaohu and Yao, Jian and Li, Kai and Li, Li},
   booktitle = {Int. Conf. on Image Processing},
   publisher = {IEEE},
diff --git a/Article/expe.tex b/Article/expe.tex
index c5fcbb4389bd798ff71c939a8b22c68918e3e431..03c226d75f8316109ed925312d10477a7315afaf 100755
--- a/Article/expe.tex
+++ b/Article/expe.tex
@@ -16,25 +16,27 @@ in \RefTab{tab:cmpOldNew}.
 \begin{figure}[h]
 \center
   \begin{tabular}{c@{\hspace{0.2cm}}c}
-    \includegraphics[width=0.49\textwidth]{Fig_expe/buro.png} &
+    \includegraphics[width=0.49\textwidth]{Fig_expe/buroOld.png} &
     \includegraphics[width=0.49\textwidth]{Fig_expe/buroNew.png}
     \begin{picture}(1,1)
+      \put(-158,46){\circle{8}}
+      \put(-162,42){\makebox(8,8){\scriptsize 0}}
       \put(-18,30){\circle{8}}
       \put(-22,26){\makebox(8,8){\scriptsize 1}}
       \put(-57,92){\circle{8}}
       \put(-61,88){\makebox(8,8){\scriptsize 2}}
       \put(-53,104){\circle{8}}
       \put(-57,100){\makebox(8,8){\scriptsize 3}}
-      \put(-89,49){\circle{8}}
-      \put(-93,45){\makebox(8,8){\scriptsize 4}}
+      \put(-90,71){\circle{8}}
+      \put(-94,67){\makebox(8,8){\scriptsize 4}}
       \put(-92,23){\circle{8}}
       \put(-96,19){\makebox(8,8){\scriptsize 5}}
       \put(-134,9){\circle{8}}
       \put(-138,5){\makebox(8,8){\scriptsize 6}}
       \put(-156,27){\circle{8}}
       \put(-160,23){\makebox(8,8){\scriptsize 7}}
-      \put(-157,82){\circle{8}}
-      \put(-161,78){\makebox(8,8){\scriptsize 8}}
+      \put(-150,84){\circle{8}}
+      \put(-154,80){\makebox(8,8){\scriptsize 8}}
       \put(-39,110){\circle{8}}
       \put(-43,106){\makebox(8,8){\scriptsize 9}}
     \end{picture}
diff --git a/Article/intro.tex b/Article/intro.tex
index ed01ccd06c78674138c0ceb900039af1135e27c3..53d2923913a9d6f04f37c173f74fe3ff6e878ef5 100755
--- a/Article/intro.tex
+++ b/Article/intro.tex
@@ -28,7 +28,7 @@ The present work aims at designing a flexible tool to detect blurred segments
 with optimal width and orientation in gray-level images for as well
 supervised as unsupervised contexts.
 User-friendly solutions are sought, with ideally no parameter to set,
-or at least quite few values with intuitive meaning to an end user.
+or at least quite few values with intuitive meaning.
 
 \subsection{Previous work}
 
@@ -37,7 +37,7 @@ blurred segments of fixed width in gray-level images was already introduced.
 It is based on a first rough detection in a local area
 of the image either defined by the user in supervised context or blindly
 explored in automatic mode. The goal is to disclose the presence of an edge.
-Therefore, a simple test as the gradient maximal value is performed.
+Therefore a simple test as the gradient maximal value is performed.
 
 In case of success, refinement steps are run through an exploration of
 the image in the direction of the detected edge.
@@ -48,25 +48,23 @@ untill a correct candidate with an acceptable gradient orientation is found.
 Only the gradient information is processed as it provides a good information
 on the image dynamics, and hence the presence of edges.
 Trials to also use the intensity signal were made through costly correlation
-techniques, but they were mostly successful for detecting objects with
-stable appearance such as metallic pipes \cite{AubryAl17}.
+techniques, but they were mostly successful for detecting shapes with a
+stable appearance such as metallic tubular objects \cite{AubryAl17}.
 
-Despite of good performances obtained compared to other methods from the
-literature, several drawbacks remain.
-First, the blurred segment width is not measured, but initially set by the
-user to meet the application requirements, so that no quality information
-can be derived from the computed segment.
-Moreover, the blurred segment hull is left free to shift sidewards, or worst,
-to rotate around a thin edge in the image, and the produced orientation
-value can be largely biased.
+Despite of good performances achieved, several drawbacks remain.
+First, the blurred segment width is not measured but initially set by the
+user according to the application requirements. The produced information
+on the edge quality is rather poor, and especially when the edge is thin,
+the risk to incorporate outlier points is quite high, thus producing a
+biased estimation of the edge orientation.
 
-Then, two refinement steps are systematically run to cope with most of the
-tested data, although this is useless when the first detection is successfull.
-Beyond, there is no guarantee that this could treat all kinds of data.
-The search direction is fixed by the support vector of the blurred segment
-detected at the former step, and because the set of vectors in a bounded
-discrete space is finite, there is necessarily a limit on this direction
-accuracy.
+Then, two refinement steps are systematically run.
+On one hand, this is useless when the first detection is successfull.
+On the other hand, there is no guarantee that this approach is able to
+process larger images.
+The search direction relies on the support vector of the blurred segment
+detected at the former step, and the numerization rounding fixes a limit
+on this estimated orientation accuracy.
 It results that more steps would inevitably be necessary to process higher
 resolution images.
 
@@ -83,10 +81,10 @@ As a side effect, these two major evolutions also led to a noticeable
 improvement of the time performance of the detector.
 
 In the next section, the main theoretical notions this work relies on are
-introduced, with a specific focus on the new concept of adaptive directional
-scanner.
-Then the new detector workflow and its integration into both supervised and
-unsupervised contexts are presented and discussed in \RefSec{sec:method}.
+introduced.
+Then the new detector workflow, the adaptive directional scanner, the control
+of the assigned with and their integration into both supervised
+and unsupervised contexts are presented and discussed in \RefSec{sec:method}.
 Experiments led to assess the expected increase of performance are decribed
 in \RefSec{sec:expe}.
 Finally achieved results are summarized in \RefSec{sec:conclusion},
diff --git a/Article/method.tex b/Article/method.tex
index c58b4b53f3468c1c3826b580b28b30913a444e3b..d38d22dea545b60d6b82b71a20169930f11b8c4d 100755
--- a/Article/method.tex
+++ b/Article/method.tex
@@ -114,11 +114,11 @@ necessary.
 But at each iteration, already tested points are processed again,
 thus producing a useless computational cost.
 
-Here the proposed solution is to dynamically align the scan direction to
+Here the proposed solution is to dynamically align the scan direction on
 the blurred segment one all along the expansion stage.
-At each iteration $i$, the scan strip is updated using the direction
-of the blurred segment computed at previous iteration $i-1$.
-The adaptive directional scan $ADS$ is then defined by :
+At each iteration $i$, the scan strip is aligned on the direction of the
+blurred segment $\mathcal{B}_{i-1}$ computed at previous iteration $i-1$.
+More generally, an adaptive directional scan $ADS$ is defined by:
 \begin{equation}
 %S_i = \mathcal{D}_{i-1} \cap \mathcal{N}_i
 ADS = \left\{
@@ -126,14 +126,23 @@ S_i = \mathcal{D}_i \cap \mathcal{N}_i \cap \mathcal{I}
 \left| \begin{array}{l}
 \delta(\mathcal{N}_i) = - \delta^{-1}(\mathcal{D}_0) \\
 \wedge~ h_0(\mathcal{N}_i) = h_0(\mathcal{N}_{i-1}) + p(\mathcal{D}) \\
-\wedge~ \mathcal{D}_{i} = D (\mathcal{B}_{i-1},\varepsilon + k), i > 1
+\wedge~ \mathcal{D}_{i} = \mathcal{D} (C_{i-1}, \vec{D}_{i-1}, w_{i-1}), i > 1
+%\wedge~ \mathcal{D}_{i} = D (\mathcal{B}_{i-1},\varepsilon + k), i > 1
 \end{array} \right. \right\}
 \end{equation}
-where $D (\mathcal{B}_i,w)$ is the scan strip aligned to the
-detected segment at iteration $i$ with width $w$.
-In practice, the scan width is set a little greater than the assigned
-width $\varepsilon$ ($k$ is a constant arbitrarily set to 4).
-The last clause expresses the update of the scan bounds at iteration $i$.
+%where $D (\mathcal{B}_i,w)$ is the scan strip aligned to the
+%detected segment at iteration $i$ with width $w$.
+%In practice, the scan width is set a little greater than the assigned
+%width $\varepsilon$ ($k$ is a constant arbitrarily set to 4).
+where $C_{i-1}$, $\vec{D}_{i-1}$ and $w_{i-1}$ are a position, a director 
+vector and a width observed at iteration $i-1$.
+In the scope of the present detector, $C_{i-1}$ is the intersection of
+the input selection and the medial axis of $\mathcal{B}_{i-1}$,
+$\vec{D}_{i-1}$ the support vector of the narrowest digital straight line 
+that contains $\mathcal{B}_{i-1}$,
+and $w_{i-1}$ a value slightly greater than the minimal width of
+$\mathcal{B}_{i-1}$.
+So the last clause expresses the update of the scan bounds at iteration $i$.
 Compared to static directional scans, the scan strip moves while
 scan lines remain fixed.
 This behavior ensures a complete detection of the blurred segment even
@@ -145,15 +154,15 @@ when the orientation is badly estimated (\RefFig{fig:escape} c).
     \includegraphics[width=0.48\textwidth]{Fig_notions/escapeFirst_zoom.png} &
     \includegraphics[width=0.48\textwidth]{Fig_notions/escapeSecond_zoom.png} \\
     \multicolumn{2}{c}{
-    \includegraphics[width=0.98\textwidth]{Fig_notions/escapeThird_zoom.png}}
+    \includegraphics[width=0.72\textwidth]{Fig_notions/escapeThird_zoom.png}}
     \begin{picture}(1,1)(0,0)
       {\color{dwhite}{
-        \put(-260,134.5){\circle*{8}}
-        \put(-86,134.5){\circle*{8}}
+        \put(-260,100.5){\circle*{8}}
+        \put(-86,100.5){\circle*{8}}
         \put(-172,7.5){\circle*{8}}
       }}
-      \put(-263,132){a}
-      \put(-89,132){b}
+      \put(-263,98){a}
+      \put(-89,98){b}
       \put(-175,5){c}
     \end{picture}
   \end{tabular}
@@ -195,7 +204,7 @@ $\lambda$ iterations ($\mu_{i+\lambda} = \mu_i$), it is set to a much
 stricter value able to circumscribe the possible interpretations of the
 segment, that take into account the digitization margins:
 \begin{equation}
-\varepsilon = \mu_{i+\lambda} + 1/2
+\varepsilon = \mu_{i+\lambda} + \frac{\textstyle 1}{\textstyle 2}
 \end{equation}
 This strategy aims at preventing the incorporation of spurious outliers in
 further parts of the segment.
@@ -218,21 +227,26 @@ This strategy provides a first quick analysis of the local context before
 extracting the segment and contributes to notably stabilize the overall
 process.
 
-When selecting candidates for the fine detection stage, an option is left
-to also reject points with a gradient vector in an opposite direction to
-the gradient vector of the blurred segment start point.
-In that case, called {\it edge selection mode}, all the blurred segment
-points have the same direction.
-If they are not rejected, points with opposite gradients are aggregated
-into a same blurred segment, allowing the detection of the two opposite
-edges of a thin straight object. This is called {\it line selection mode}.
+When selecting candidates for the fine detection stage, an option, called
+{\it edge selection mode}, is left to filter the points according to their
+gradient direction.
+In {\it main edge selection mode}, only the points with a gradient vector
+in the same direction as the start point gradient vector are added to the
+blurred segment.
+In {\it opposite edge selection mode}, only the points with an opposite
+gradient vector direction are kept.
+In {\it line selection mode} this filter is not applied, and all the
+candidate points are aggregated into a same blurred segment, whatever the
+direction of their gradient vector.
+This mode allows the detection of the two opposite edges of a thin straight
+object.
 This distinction is illustrated on \RefFig{fig:edgeDir}.
 
 \begin{figure}[h]
 \center
   \begin{tabular}{c@{\hspace{0.2cm}}c}
-    \includegraphics[width=0.48\textwidth]{Fig_method/multiStroke_zoom.png} &
-    \includegraphics[width=0.48\textwidth]{Fig_method/multiEdge_zoom.png}
+    \includegraphics[width=0.48\textwidth]{Fig_method/briques1_zoom.png} &
+    \includegraphics[width=0.48\textwidth]{Fig_method/briques2_zoom.png}
   \end{tabular}
   \begin{picture}(1,1)(0,0)
     {\color{dwhite}{
@@ -242,43 +256,47 @@ This distinction is illustrated on \RefFig{fig:edgeDir}.
     \put(-262.5,-20){a}
     \put(-89,-20){b}
   \end{picture}
-  \caption{Blurred segment obtained in line selection mode (a) and in
-           edge selection mode (b) as a result of the test of the gradient
-           direction of added points.
-           In line selection mode, a thick blurred segment is built and
-           extended up to four tiles.
-           In edge selection mode, a thin blurred segment is built along
-           one of the two tile join edges.
-           Both join edges, drawn with distinct colors, are detected with
-           the multi-selection option.
-           They are much shorter than the whole join detected in line
-           selection mode, because the tiles are not perfectly aligned.}
+  \caption{Blurred segments obtained in line or edge selection mode
+           as a result of the gradient direction filtering when adding points.
+           In line selection mode (a), a thick blurred segment is built and
+           extended all along the brick join.
+           In edge selection mode (b), a thin blurred segment is built along
+           one of the two join edges.
+           Both join edges are detected with the multi-selection option.
+           On that very textured image, they are much shorter than the whole
+           join detected in line selection mode.
+           Blurred segment points are drawn in black color, and the enclosing
+           straight segment with minimal width in blue.}
   \label{fig:edgeDir}
 \end{figure}
 
-Another option, called multi-detection allows the detection of all the
-segments crossed by the input stroke $AB$.
-The multi-detection algorithm is displayed below.
+\subsection{Multiple blurred segments detection}
 
-\input{Fig_method/algoMulti}
+Another option, called {\it multi-detection} (Algorithm 1), allows the
+detection of all the segments crossed by the input stroke $AB$.
+In order to avoid multiple detections of the same edge, an occupancy mask,
+initially empty, collects the dilated points of all the blurred segments,
+so that these points can not be add to another segment.
 
-First the positions $M_j$ of the local maxima of the gradient magnitude found
-under the stroke are sorted from the highest to the lowest.
+First the positions $M_j$ of the prominent local maxima of the gradient
+magnitude found under the stroke are sorted from the highest to the lowest.
 For each of them the main detection process is run with three modifications:
-i) the initial detection takes $M_j$ and the orthogonal direction $AB_\perp$
-to the stroke as input to build a static scan of fixed width
-$\varepsilon_{ini}$, and $M_j$ is used as start point of the blurred segment;
-ii) an occupancy mask, initially empty, is filled in with the points of the
-detected blurred segments $\mathcal{B}_j''$ at the end of each successful
-detection;
-iii) points marked as occupied are rejected when selecting candidates for the
+\begin{enumerate}
+\item the initial detection takes $M_j$ and the orthogonal direction
+$\vec{AB}_\perp$ to the stroke as input to build a static scan of fixed width
+$2~\varepsilon_{ini}$, and $M_j$ is used as start point of the blurred
+segment;
+\item the occupancy mask is filled in with the points of the detected blurred
+segments $\mathcal{B}_j''$ at the end of each successful detection;
+\item points marked as occupied are rejected when selecting candidates for the
 blurred segment extension in the fine tracking step.
+\end{enumerate}
+
+\input{Fig_method/algoMulti}
 
 In edge selection mode (\RefFig{fig:edgeDir} b), the multi-detection
-algorithm is executed twice.
-In the second run, the start point is rejected and only candidate points
-with opposite gradient direction are considered to extend the blurred
-segment.
+algorithm is executed twice, first in main edge selection mode, then
+in opposite edge selection mode.
 
 %Beyond the possible detection of a large set of edges at once, the
 %multi-detection allows the detection of some unaccessible edges in
@@ -332,38 +350,72 @@ segment.
 \subsection{Automatic blurred segment detection}
 
 An unsupervised mode is also proposed to automatically detect all the
-straight edges in the image. A stroke that crosses the whole image, is
+straight edges in the image. The principle of this automatic detection
+is described in Algorithm 2. A stroke that crosses the whole image, is
 swept in both direction, vertical then horizontal, from the center to
 the borders. At each position, the multi-detection algorithm is run
 to collect all the segments found under the stroke.
 
 \input{Fig_method/algoAuto}
 
-The behavior of the unsupervised detection is depicted through the two
-examples of \RefFig{fig:auto}.
-The example on the left shows the detection of thin straight objects on a
-circle with variable width.
-On the left half of the circumference, the distance between both edges
-exceeds the initial assigned width and a thick blurred segment is build
-for each of them. Of course, on a curve, a continuous thickenning is
-observed untill the blurred segment minimal width reaches the initial
-assigned width.
-On the right half, both edges are encompassed in a common blurred segment,
-and at the extreme right part of the circle, the few distant residual points
-are grouped to form a thick segment.
-
-The example on the right shows the limits of the edge detector on a picture
-with quite dense repartition of gradient.
-All the salient edges are well detected but they are surrounded by a lot
-of false detections, that rely on the presence of many local maxima of
-the gradient magnitude with similar orientations.
+\RefFig{fig:evalAuto}b gives an idea of the automatic detection performance.
+In the example of \RefFig{fig:noisy}, hardly perceptible edges are detected
+despite of a quite textured context.
+Unsurpringly the length of the detected edges is linked to the initial
+value of the assigned width, but a large value also augments the rate
+of interfering outliers insertion.
 
 \begin{figure}[h]
 \center
-  \begin{tabular}{c@{\hspace{0.2cm}}c}
-    \includegraphics[width=0.37\textwidth]{Fig_method/vcercleAuto.png} &
-    \includegraphics[width=0.58\textwidth]{Fig_method/plafondAuto.png}
+  \begin{tabular}{c@{\hspace{0.1cm}}c@{\hspace{0.1cm}}c}
+    \includegraphics[width=0.32\textwidth]{Fig_method/parpaings.png} &
+    \includegraphics[width=0.32\textwidth]{Fig_method/parpaings2.png} &
+    \includegraphics[width=0.32\textwidth]{Fig_method/parpaings3.png}
   \end{tabular}
-  \caption{Automatic detection of blurred segments.}
-  \label{fig:auto}
+  \begin{picture}(1,1)(0,0)
+    {\color{dwhite}{
+      \put(-286,-25.5){\circle*{8}}
+      \put(-171,-25.5){\circle*{8}}
+      \put(-58,-25.5){\circle*{8}}
+    }}
+    \put(-288.5,-28){a}
+    \put(-173.5,-28){b}
+    \put(-60.5,-28){c}
+  \end{picture}
+  \caption{Automatic detection of blurred segments on a textured image.
+           a) the input image,
+           b) automatic detection result with initial assigned width set
+           to 3 pixels,
+           c) automatic detection result with initial assigned width set
+           to 8 pixels.}
+  \label{fig:noisy}
 \end{figure}
+
+%The behavior of the unsupervised detection is depicted through the two
+%examples of \RefFig{fig:auto}.
+%The example on the left shows the detection of thin straight objects on a
+%circle with variable width.
+%On the left half of the circumference, the distance between both edges
+%exceeds the initial assigned width and a thick blurred segment is build
+%for each of them. Of course, on a curve, a continuous thickenning is
+%observed untill the blurred segment minimal width reaches the initial
+%assigned width.
+%On the right half, both edges are encompassed in a common blurred segment,
+%and at the extreme right part of the circle, the few distant residual points
+%are grouped to form a thick segment.
+%
+%The example on the right shows the limits of the edge detector on a picture
+%with quite dense repartition of gradient.
+%All the salient edges are well detected but they are surrounded by a lot
+%of false detections, that rely on the presence of many local maxima of
+%the gradient magnitude with similar orientations.
+%
+%\begin{figure}[h]
+%\center
+%  \begin{tabular}{c@{\hspace{0.2cm}}c}
+%    \includegraphics[width=0.37\textwidth]{Fig_method/vcercleAuto.png} &
+%    \includegraphics[width=0.58\textwidth]{Fig_method/plafondAuto.png}
+%  \end{tabular}
+%  \caption{Automatic detection of blurred segments.}
+%  \label{fig:auto}
+%\end{figure}
diff --git a/Article/notions.tex b/Article/notions.tex
index 21c395ce7c88b920405be44b68dd9c7c2cc8f41b..cc62fe6442d9f73ca08cc601f4a8e8e1ab3c67b2 100755
--- a/Article/notions.tex
+++ b/Article/notions.tex
@@ -67,7 +67,7 @@ DS = \left\{ S_i = \mathcal{D} \cap \mathcal{N}_i \cap \mathcal{I}
 \end{array} \right. \right\}
 %S_i = \mathcal{D} \cap \mathcal{N}_i, \mathcal{N}_i \perp \mathcal{D}
 \end{equation}
-In this expression, the clause
+In this definition, the clause
 $\delta(\mathcal{N}_i) = - \delta^{-1}(\mathcal{D})$
 expresses the othogonality constraint between the scan lines $\mathcal{N}_i$
 and the scan strip $\mathcal{D}$.
@@ -79,7 +79,7 @@ The scans $S_i$ are developed on each side of a start scan $S_0$,
 and ordered by their distance to the start line $\mathcal{N}_0$ with
 a positive (resp. negative) sign if they are on the left (resp. right)
 side of $\mathcal{N}_0$ (\RefFig{fig:ds}).
-The directional scan is iterately processed from the start scan to both ends.
+The directional scan is iterately parsed from the start scan to both ends.
 At each iteration $i$, the scans $S_i$ and $S_{-i}$ are successively processed.
 
 \begin{figure}[h]
@@ -111,29 +111,30 @@ At each iteration $i$, the scans $S_i$ and $S_{-i}$ are successively processed.
      \put(-60,30){$\mathcal{N}_8$}
      \put(-169,8){$\mathcal{N}_{-5}$}
      \end{picture}
-  \caption{A directional scan: the start scan $S_0$ in blue, odd scans in
-           green, even scans in red, scan lines bounds $\mathcal{N}_i$ in
-           plain lines and scan strip bounds $\mathcal{D}$ in dotted lines.}
+  \caption{A directional scan.
+           The start scan $S_0$ is drawn in blue, odd scans in green,
+           even scans in red, the bounds of scan lines $\mathcal{N}_i$
+           with plain lines and the bounds of scan strip $\mathcal{D}$
+           with dotted lines.}
   \label{fig:ds}
 \end{figure}
 
 A directional scan can be defined by its start scan $S_0$.
 If $A(x_A,y_A)$ and $B(x_B,y_B)$ are the end points of $S_0$,
-the scan strip is defined by :
+and if we note $\delta_x = x_B - x_A$, $\delta_y = y_B - y_A$,
+$c_1 = \delta_x\cdot x_A + \delta_y\cdot y_A$,
+$c_2 = \delta_x\cdot x_B + \delta_y\cdot y_B$ and
+$\nu_{AB} = max (|\delta_x|, |\delta_y|)$, it is then defined by
+the following scan strip $\mathcal{D}^{A,B}$ and scan lines
+$\mathcal{N}_i^{A,B}$:
 \begin{equation}
-\mathcal{D}(A,B) =
-\mathcal{L}(\delta_x,~ \delta_y,~ min (c1,c2),~ 1 + |c_1-c_2|)
-\end{equation}
-\noindent
-where $\delta_x = x_B - x_A$, $\delta_y = y_B - y_A$,
-$c_1 = \delta_x\cdot x_A + \delta_y\cdot y_A$ and
-$c_2 = \delta_x\cdot x_B + \delta_y\cdot y_B$.
-The scan line $\mathcal{N}_i$ is then defined by :
-\begin{equation}
-\mathcal{N}_i(A,B) = \mathcal{L}(\delta_y,~ -\delta_x,~
+\left\{ \begin{array}{l}
+\mathcal{D}^{A,B} =
+\mathcal{L}(\delta_x,~ \delta_y,~ min (c1,c2),~ 1 + |c_1-c_2|) \\
+\mathcal{N}_i^{A,B} = \mathcal{L}(\delta_y,~ -\delta_x,~
 \delta_y\cdot x_A - \delta_x\cdot y_A + i\cdot \nu_{AB},~ \nu_{AB})
+\end{array} \right.
 \end{equation}
-where $\nu_{AB} = max (|\delta_x|, |\delta_y|)$
 
 %The scan lines length is $d_\infty(AB)$ or $d_\infty(AB)-1$, where $d_\infty$
 %is the chessboard distance ($d_\infty = max (|d_x|,|d_y|)$).
@@ -141,15 +142,16 @@ where $\nu_{AB} = max (|\delta_x|, |\delta_y|)$
 %as the image bounds should also be processed anyway.
 
 A directional scan can also be defined by its central point $C(x_C,y_C)$,
-its direction $\vec{D}(X_D,Y_D)$ and its width $w$. The scan strip is :
-\begin{equation}
-\mathcal{D}(C,\vec{D},w)
-= \mathcal{L}(Y_D,~ -X_D,~ x_C\cdot Y_D - y_C\cdot X_D - w / 2,~ w)
-\end{equation}
-
-\noindent
-and the scan line $\mathcal{N}_i(C,\vec{D},w)$ :
+its direction $\vec{D}(X_D,Y_D)$ and its width $w$. If we note
+$c_3 = x_C\cdot Y_D - y_C\cdot X_D$ and
+$c_4 = X_D\cdot x_C + Y_D\cdot y_C$, it is then defined by
+the following scan strip $\mathcal{D}^{C,\vec{D},w}$ and scan lines
+$\mathcal{N}_i^{C,\vec{D},w}$:
 \begin{equation}
-\mathcal{N}_i(C,\vec{D},w) = \mathcal{L}(X_D,~ Y_D,~
-     X_D\cdot x_C + Y_D\cdot y_C - w / 2 + i\cdot w,~ max (|X_D|,|Y_D|)
+\left\{ \begin{array}{l}
+\mathcal{D}^{C,\vec{D},w}
+= \mathcal{L}(Y_D,~ -X_D,~ c_3 - w / 2,~ w) \\
+\mathcal{N}_i^{C,\vec{D},w} = \mathcal{L}(X_D,~ Y_D,~
+               c_4 - w / 2 + i\cdot w,~ max (|X_D|,|Y_D|)
+\end{array} \right.
 \end{equation}
diff --git a/Code/Seg/IPOLdemo/mainIPOL.cpp b/Code/Seg/IPOLdemo/mainIPOL.cpp
index cce90bfb94c8911ee0b191a58fb6c53ecb8a590a..05639cfc9241540d753d2fa641d34a05058112da 100755
--- a/Code/Seg/IPOLdemo/mainIPOL.cpp
+++ b/Code/Seg/IPOLdemo/mainIPOL.cpp
@@ -96,7 +96,11 @@ int main (int argc, char *argv[])
     cout << "siez i:"<< pts.size() << endl;
   }
   fout << "# Line detection generated from " << argv[0] << "with format : X1 Y1 X2 Y2 on each line" << std::endl;
+<<<<<<< HEAD
 
+=======
+  
+>>>>>>> 98e75cffc2ac74f66288076537880443741a9cc8
   // Blurred segment detection
   vector<BlurredSegment *> bss;
   BSDetector detector;