-\contentsline {figure}{\numberline {4.3}{\ignorespaces Influence du contour initial sur la segmentation. Le contour final 1 est celui de la figure \ref {fig-snakecpu-cochon512}.}}{54}{figure.4.3}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Initialisation 2 }}}{54}{figure.4.3}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Contour final 2 : 273 n\oe uds 87~ms}}}{54}{figure.4.3}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Contour final 1 : 256 n\oe uds 44~ms}}}{54}{figure.4.3}
-\contentsline {figure}{\numberline {4.4}{\ignorespaces Segmentation de l'image de test en 4000$^2$ pixels.}}{55}{figure.4.4}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$d_{max}=16$ et $l_{min}=8$, 1246 n\oe uds en 1.3~s}}}{55}{figure.4.4}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$d_{max}=128$ et $l_{min}=32$, 447 n\oe uds en 0.7~s}}}{55}{figure.4.4}
-\contentsline {figure}{\numberline {4.5}{\ignorespaces Segmentation de l'image de test en 4000$^2$ pixels avec une cible de petite taille. Le contour initial est celui utilis\IeC {\'e} \IeC {\`a} la figure \ref {fig-snakecpu-cochon4k}.}}{55}{figure.4.5}
-\contentsline {figure}{\numberline {4.6}{\ignorespaces \IeC {\'E}volution du co\IeC {\^u}t relatif des trois fonctions les plus consommatrices en temps de calcul en fonction de la taille de l'image \IeC {\`a} traiter.}}{56}{figure.4.6}
-\contentsline {figure}{\numberline {4.7}{\ignorespaces Calcul des images cumul\IeC {\'e}es $S_x$ et $S_x^2$ en trois \IeC {\'e}tapes successives. a) cumul partiel bloc par bloc et m\IeC {\'e}morisation de la somme de chaque bloc. b) cumul sur le vecteur des sommes partielles. c) ajout des sommes partielles \IeC {\`a} chaque \IeC {\'e}l\IeC {\'e}ment des blocs cumul\IeC {\'e}s.}}{58}{figure.4.7}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {D\IeC {\'e}tail des op\IeC {\'e}rations effectu\IeC {\'e}es par le \textit {kernel} \texttt {compute\_block\_prefixes()}. La valeur $bs$ correspond au nombre de pixels de chaque bloc, qui est aussi le nombre de threads ex\IeC {\'e}cut\IeC {\'e} par chaque bloc de la grille de calcul.}}}{58}{figure.4.7}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {D\IeC {\'e}tail des op\IeC {\'e}rations effectu\IeC {\'e}es par le \textit {kernel} \texttt {scan\_blocksums()}.}}}{58}{figure.4.7}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {D\IeC {\'e}tail des op\IeC {\'e}rations effectu\IeC {\'e}es par le \textit {kernel} \texttt {add\_sums2prefixes()}.}}}{58}{figure.4.7}
-\contentsline {figure}{\numberline {4.8}{\ignorespaces Structuration des donn\IeC {\'e}es en m\IeC {\'e}moire du GPU pour l'\IeC {\'e}valuation en parall\IeC {\`e}le de l'ensemble des \IeC {\'e}volutions possibles du contour.}}{59}{figure.4.8}
-\contentsline {figure}{\numberline {4.9}{\ignorespaces Comparaison des cycles de d\IeC {\'e}placement des n\oe uds. Ligne du haut : version s\IeC {\'e}quentielle. Ligne du bas : version parall\IeC {\`e}le. Les segments en rouge sont des segments du contour non \IeC {\'e}valu\IeC {\'e}s, alors que ceux en pointill\IeC {\'e}s sont les paires ayant re\IeC {\c c}u les meilleures \IeC {\'e}valuations parmi les 8 d\IeC {\'e}placements possibles des n\oe uds correspondant.}}{60}{figure.4.9}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Contour de r\IeC {\'e}f\IeC {\'e}rence.}}}{60}{figure.4.9}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {D\IeC {\'e}placement du n\oe ud $N_1$. Le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{60}{figure.4.9}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {D\IeC {\'e}placement du n\oe ud $N_2$. Le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{60}{figure.4.9}
-\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {D\IeC {\'e}placement en parall\IeC {\`e}le de tous les n\oe uds. Les segments du contour n'ont pas \IeC {\'e}t\IeC {\'e} \IeC {\'e}valu\IeC {\'e}s. On ne peut pas dire, a priori si le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{60}{figure.4.9}
-\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {D\IeC {\'e}placement en parall\IeC {\`e}le des n\oe uds impairs. Le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{60}{figure.4.9}
-\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {D\IeC {\'e}placement en parall\IeC {\`e}le des n\oe uds pairs. Un seul segment n'a pas \IeC {\'e}t\IeC {\'e} \IeC {\'e}valu\IeC {\'e}.}}}{60}{figure.4.9}
-\contentsline {figure}{\numberline {4.10}{\ignorespaces D\IeC {\'e}termination des coefficients $C(i,j)$ des pixels du contour.}}{62}{figure.4.10}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Quadrants 1 et 4}}}{62}{figure.4.10}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Quadrants 2 et 3}}}{62}{figure.4.10}
-\contentsline {figure}{\numberline {4.11}{\ignorespaces Segmentations de grandes images, avec le contour intial transpos\IeC {\'e} de celui de la figure \ref {fig-snakecpu-cochon512}. a) image de 100~MP. b) image de 150~MP.}}{63}{figure.4.11}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {5 it\IeC {\'e}rations en 0,59~s}}}{63}{figure.4.11}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {3 it\IeC {\'e}rations en 0,35~s}}}{63}{figure.4.11}
-\contentsline {figure}{\numberline {4.12}{\ignorespaces D\IeC {\'e}termination intelligente du contour initial en deux phases successives. a) La premi\IeC {\`e}re \IeC {\'e}tape repose sur un \IeC {\'e}chantillonnage horizontal. b) La seconde \IeC {\'e}tape repose sur un \IeC {\'e}chantillonnage vertical. }}{64}{figure.4.12}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {D\IeC {\'e}termination de $j_L$ et $j_H$.}}}{64}{figure.4.12}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {D\IeC {\'e}termination de $i_L$ et $i_H$.}}}{64}{figure.4.12}
+\contentsline {figure}{\numberline {4.3}{\ignorespaces Influence du contour initial sur la segmentation. Le contour final 1 est celui de la figure \ref {fig-snakecpu-cochon512}.}}{55}{figure.4.3}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Initialisation 2 }}}{55}{figure.4.3}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Contour final 2 : 273 n\oe uds 87~ms}}}{55}{figure.4.3}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Contour final 1 : 256 n\oe uds 44~ms}}}{55}{figure.4.3}
+\contentsline {figure}{\numberline {4.4}{\ignorespaces Segmentation de l'image de test en 4000$^2$ pixels. Le trac\IeC {\'e} du contour a \IeC {\'e}t\IeC {\'e} artificiellement \IeC {\'e}paissi pour le rendre visible \IeC {\`a} l'\IeC {\'e}chelle de l'impression.}}{56}{figure.4.4}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$d_{max}=16$ et $l_{min}=8$, 1246 n\oe uds en 1.3~s}}}{56}{figure.4.4}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$d_{max}=128$ et $l_{min}=32$, 447 n\oe uds en 0.7~s}}}{56}{figure.4.4}
+\contentsline {figure}{\numberline {4.5}{\ignorespaces Segmentation de l'image de test en 4000$^2$ pixels avec une cible de petite taille. Le contour initial est la transcription celui utilis\IeC {\'e} \IeC {\`a} la figure \ref {fig-snakecpu-cochon512}. Le trac\IeC {\'e} du contour a \IeC {\'e}t\IeC {\'e} artificiellement \IeC {\'e}paissi pour le rendre visible \IeC {\`a} l'\IeC {\'e}chelle de l'impression.}}{56}{figure.4.5}
+\contentsline {figure}{\numberline {4.6}{\ignorespaces \IeC {\'E}volution du co\IeC {\^u}t relatif des trois fonctions les plus consommatrices en temps de calcul en fonction de la taille de l'image \IeC {\`a} traiter.}}{57}{figure.4.6}
+\contentsline {figure}{\numberline {4.7}{\ignorespaces Calcul des images cumul\IeC {\'e}es $S_x$ et $S_x^2$ en trois \IeC {\'e}tapes successives. a) cumul partiel bloc par bloc et m\IeC {\'e}morisation de la somme de chaque bloc. b) cumul sur le vecteur des sommes partielles. c) ajout des sommes partielles \IeC {\`a} chaque \IeC {\'e}l\IeC {\'e}ment des blocs cumul\IeC {\'e}s.}}{59}{figure.4.7}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {D\IeC {\'e}tail des op\IeC {\'e}rations effectu\IeC {\'e}es par le \textit {kernel} \texttt {compute\_block\_prefixes()}. La valeur $bs$ correspond au nombre de pixels de chaque bloc, qui est aussi le nombre de threads ex\IeC {\'e}cut\IeC {\'e} par chaque bloc de la grille de calcul.}}}{59}{figure.4.7}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {D\IeC {\'e}tail des op\IeC {\'e}rations effectu\IeC {\'e}es par le \textit {kernel} \texttt {scan\_blocksums()}.}}}{59}{figure.4.7}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {D\IeC {\'e}tail des op\IeC {\'e}rations effectu\IeC {\'e}es par le \textit {kernel} \texttt {add\_sums2prefixes()}.}}}{59}{figure.4.7}
+\contentsline {figure}{\numberline {4.8}{\ignorespaces Structuration des donn\IeC {\'e}es en m\IeC {\'e}moire du GPU pour l'\IeC {\'e}valuation en parall\IeC {\`e}le de l'ensemble des \IeC {\'e}volutions possibles du contour.}}{60}{figure.4.8}
+\contentsline {figure}{\numberline {4.9}{\ignorespaces Comparaison des cycles de d\IeC {\'e}placement des n\oe uds. Ligne du haut : version s\IeC {\'e}quentielle. Ligne du bas : version parall\IeC {\`e}le. Les segments en rouge sont des segments du contour non \IeC {\'e}valu\IeC {\'e}s, alors que ceux en pointill\IeC {\'e}s sont les paires ayant re\IeC {\c c}u les meilleures \IeC {\'e}valuations parmi les 8 d\IeC {\'e}placements possibles des n\oe uds correspondant.}}{61}{figure.4.9}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Contour de r\IeC {\'e}f\IeC {\'e}rence.}}}{61}{figure.4.9}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {D\IeC {\'e}placement du n\oe ud $N_1$. Le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{61}{figure.4.9}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {D\IeC {\'e}placement du n\oe ud $N_2$. Le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{61}{figure.4.9}
+\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {D\IeC {\'e}placement en parall\IeC {\`e}le de tous les n\oe uds. Les segments du contour n'ont pas \IeC {\'e}t\IeC {\'e} \IeC {\'e}valu\IeC {\'e}s. On ne peut pas dire, a priori si le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{61}{figure.4.9}
+\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {D\IeC {\'e}placement en parall\IeC {\`e}le des n\oe uds impairs. Le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{61}{figure.4.9}
+\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {D\IeC {\'e}placement en parall\IeC {\`e}le des n\oe uds pairs. Un seul segment n'a pas \IeC {\'e}t\IeC {\'e} \IeC {\'e}valu\IeC {\'e}.}}}{61}{figure.4.9}
+\contentsline {figure}{\numberline {4.10}{\ignorespaces D\IeC {\'e}termination des coefficients $C(i,j)$ des pixels du contour.}}{63}{figure.4.10}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Quadrants 1 et 4}}}{63}{figure.4.10}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Quadrants 2 et 3}}}{63}{figure.4.10}
+\contentsline {figure}{\numberline {4.11}{\ignorespaces Segmentations de grandes images, avec le contour intial transpos\IeC {\'e} de celui de la figure \ref {fig-snakecpu-cochon512}. a) image du cochon en 100~MP. b) image satellite de l'\IeC {\^\i }le de Montserrat en 150~MP.}}{64}{figure.4.11}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {5 it\IeC {\'e}rations en 0,59~s}}}{64}{figure.4.11}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {3 it\IeC {\'e}rations en 0,35~s}}}{64}{figure.4.11}
+\contentsline {figure}{\numberline {4.12}{\ignorespaces D\IeC {\'e}termination intelligente du contour initial en deux phases successives. a) La premi\IeC {\`e}re \IeC {\'e}tape repose sur un \IeC {\'e}chantillonnage horizontal. b) La seconde \IeC {\'e}tape repose sur un \IeC {\'e}chantillonnage vertical. }}{65}{figure.4.12}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {D\IeC {\'e}termination de $j_L$ et $j_H$.}}}{65}{figure.4.12}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {D\IeC {\'e}termination de $i_L$ et $i_H$.}}}{65}{figure.4.12}