-\section{Implémentation parallèle}
-Les \textit{isolines} sont construites segment après segment. On leur permet ainsi de suivre des formes courbes. La validité d'un segment et son éventuelle sélection sont soumises au critère décrit dans le paragraphe précédent.
-Une limitation du nombre de segments candidats nous est également apparue pertinente, car elle permet d'apporter une réponse aux points suivants :
-\begin{enumerate}
-\item la sélection du premier segment est cruciale mais il n'est pas prouvé que l'\textit{isoline} la meilleure ait pour premier segment celui qui a été effectivement selectionné en premier. Une telle erreur sur la direction primaire peut s'avérer très pénalisante pour la qualité du traitement. C'est pourquoi nous conduisons en parallèle les allongements des 32 \textit{isolines}, chacune ayant l'un des motifs permis (voir figure \ref{fig-lniv-p5q1}) comme premier segment.
-\item évaluer systématiquement les 32 motifs pour chaque extension peut alors rendre l'algorithme très coûteux. En effet, si $q$ est le nombre de segments maximum autorisés pour une \textit{isoline}, le nombre d'évaluations à effectuer se monte à $32^q$ par pixel. Cela représente un total de $\mathbf{3,5.10^{13}}$ évaluations pour des \textit{isolines} de 5 segments dans une image de 1024$^2$ pixels.
-\item permettre à tout allongement de se faire dans chacune des 32 directions risque de générer des \textit{isolines} oscillant entre les deux extrémités de l'un de ses segments, ou bien s'enroulant sur elles-même au delà du simple rebouclage. .
-\item une ligne de niveau ne peut pas se couper, donc une \textit{isoline} ne peut être composée de segments qui se croisent.
-\end{enumerate}
-
-Les contraintes des points 3 et 4 ci-dessus nous ont conduit à limiter la déviation angulaire pouvant résulter de toute procédure d'allongement. Nous notons $\Delta d_{max}$ l'écart maximal toléré entre les indices des motifs de deux segments successifs.
-Le choix de la valeur de $\Delta d_{max}$ adaptée depend de la taille des segments ainsi que du nombre maximal de segments que peut comporter une \textit{isoline}.
-L'autre conséquence de cette limitation est la diminution du nombre total d'évaluations nécessaires. Si $\Delta d_{max} = 2$, le nombre d'évaluations effectuées dans l'exemple du point 2 passe ainsi de $\mathbf{3,5.10^{13}}$ à $1024^2\times 32\times 5^{q-1} = \mathbf{2,0.10^{10}}$ soit 1500 fois moins.
+\section{Modélisation des isolines pour l'implémentation parallèle sur GPU}
+Les isolines sont construites segment après segment afin de pouvoir approcher des formes courbes. La validité d'un segment et son éventuelle sélection sont soumises au tests statistiques décrits dans le paragraphe précédent.
+La solution la plus évidente, que nous qualifierons de \textit{globale}, consiste à soumettre l'ensemble des isolines possibles aux tests statistiques pour sélectionner la meilleure. Toutefois, évaluer systématiquement les 32 motifs pour chaque extension peut rendre l'algorithme très coûteux. En effet, si $q$ est le nombre de segments maximum autorisés pour une isoline, le nombre d'évaluations à effectuer se monte à $32^q$ par pixel. Cela représente par exemple un total de $\mathbf{3,5.10^{13}}$ évaluations pour des isolines de $q=5$ segments dans une image de 1024$\times$1024 pixels.
+
+De plus, cette solution génère potentiellement des artefacts pour le cas où des isolines s'enrouleraient sur elles-mêmes au delà du simple rebouclage, ou bien feraient des aller-retours entre les deux extrémités d'un segment, ou encore présenteraient des segments qui se croisent.
+
+Pour toutes ces raisons, nous avons limité le nombre de segments candidats à chaque étape d'allongement, mais n'effectuons pas de sélection directe du premier segment. Nous conduisons en parallèle les allongements de 32 isolines, chacune ayant l'un des motifs de $P_a$ comme premier segment (voir figure \ref{fig-lniv-p5q1}).
+Cela permet d'éviter une erreur sur la direction primaire potentiellement très pénalisante pour la qualité du traitement, tout en conservant une quantité d'évaluations réalisable dans un temps assez court.
+% \begin{enumerate}
+% \item la sélection du premier segment est cruciale mais il n'est pas prouvé que la meilleure isoline soit celle qui a pour premier segment celui qui a été effectivement sélectionné en premier. Une telle erreur sur la direction primaire peut s'avérer très pénalisante pour la qualité du traitement. C'est pourquoi
+% \item
+% \item permettre à tout allongement de se faire dans chacune des 32 directions risque de générer des isolines oscillant entre les deux extrémités de l'un de ses segments, ou bien s'enroulant sur elles-même au delà du simple rebouclage.
+% \item une ligne de niveau ne peut pas se couper, donc une isoline ne peut pas être composée de segments qui se croisent.
+% \end{enumerate}
+La solution retenue consiste à limiter la déviation angulaire pouvant résulter de toute procédure d'allongement. Nous notons $\Delta d_{max}$ l'écart maximal toléré entre les indices des motifs de deux segments successifs.
+Le choix d'une valeur de $\Delta d_{max}$ adaptée dépend de la taille des segments ainsi que du nombre maximal de segments que peut comporter une isoline.
+L'autre conséquence de cette limitation est la diminution du nombre total d'évaluations nécessaires. Si $\Delta d_{max} = 2$, le nombre d'évaluations effectuées dans l'exemple du point 2 passe ainsi à $1024^2\times 32\times 5^{q-1} = \mathbf{2,0.10^{10}}$ soit 1500 fois moins (avec $q=5$).