> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/french/function-blocks/blocks-reference/detections-shapes/shape-analysis/choose-line.md).

# Choose Line

Ce bloc fonction permet de sélectionner une seule ligne à l'intérieur d'un contour et fournit des informations géométriques sur cette ligne. Il visualise le contour et ses points, permet de choisir quel segment mesurer, et renvoie la forme de la ligne, ses points d'extrémité, sa longueur et son angle — le tout dans une interface simple pour les non-codeurs.

## 📥 Entrées <a href="#inputs" id="inputs"></a>

`Image Any` L'image sur laquelle le contour et la ligne sélectionnée seront dessinés et affichés.

`Contour` Le contour (forme) depuis lequel un segment de ligne est choisi.

(Ce sont les prises d'entrée du bloc.)

## 📤 Sorties <a href="#outputs" id="outputs"></a>

`Generic Image` L'image avec le contour, les points et la ligne choisie dessinés pour confirmation visuelle.

`Length` La longueur mesurée du segment de ligne choisi, en pixels.

`Point 1` Coordonnées du premier point d'extrémité de la ligne choisie.

`Point 2` Coordonnées du deuxième point d'extrémité de la ligne choisie.

`Angle` Orientation de la ligne choisie en degrés.

`Line` La ligne sélectionnée, représentée en tant que shape pour les blocs en aval.

(Ce sont les prises de sortie fournies par le bloc.)

## 🕹️ Contrôles <a href="#controls" id="controls"></a>

`Line selection dropdown` Choisissez quelle paire de points consécutifs (ligne) à l’intérieur du contour utiliser.

`Line properties label` Affiche des informations textuelles sur la ligne sélectionnée, par exemple les points d'extrémité, la longueur et l'angle.

(Ces contrôles apparaissent dans l'interface du bloc et sont interactifs.)

## 🎯 Fonctionnalités <a href="#features" id="features"></a>

* Visualisation interactive du contour avec tous les points marqués.
* Menu déroulant simple pour choisir un segment de ligne formé par des points consécutifs du contour.
* Retour visuel immédiat : le contour, les points et la ligne sélectionnée sont dessinés sur l'image de sortie.
* Sorties numériques pour la longueur et l'angle, afin de pouvoir réutiliser ces mesures dans des traitements suivants.
* Produit une sortie de type shape représentant la ligne choisie pour les blocs en aval qui acceptent des shapes.

## ⚙️ Mode de fonctionnement <a href="#running-mechanism" id="running-mechanism"></a>

* Lorsqu'un `Contour` valide est fourni, le bloc liste les segments de ligne sélectionnables d'après les points du contour.
* Le bloc dessine le contour et marque chaque point. La sélection d'une entrée dans le `Line selection dropdown` met en évidence le segment correspondant.
* Le bloc calcule la distance euclidienne entre les deux points sélectionnés et l'angle de la ligne, met à jour le `Line properties label` et renvoie l'image visuelle ainsi que les sorties numériques (shape/points).
* Si aucun contour n'est présent, le bloc renvoie l'image d'entrée inchangée et réinitialise le texte du label de propriétés.

## 📝 Utilisation <a href="#usage" id="usage"></a>

1. Fournissez une image traitée à `Image Any` (généralement une image où les contours ont déjà été trouvés).
2. Fournissez la forme du contour à `Contour` (par exemple depuis un bloc de détection de contour).
3. Ouvrez le `Line selection dropdown` et choisissez le segment souhaité à inspecter.
4. Lisez les sorties de mesure `Length`, `Point 1`, `Point 2` et `Angle` ou passez `Line` aux blocs en aval.

## 💡 Astuces <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Utilisez le bloc `Find Contour` pour fournir des contours fiables dans l'entrée `Contour`.
* Si vous avez besoin d'un contour plus simple avant de choisir une ligne, essayez `Approximate Contour` pour réduire le nombre de points et faciliter la sélection.
* Pour n’inspecter qu’une zone recadrée, placez avant ce bloc un `Image ROI Select` ou `Get ROI` afin que le contour et la ligne soient mesurés dans la région pertinente.
* Pour extraire la zone de la ligne choisie pour un traitement ultérieur (par ex. template matching ou vérifications d'histogramme), alimentez la sortie `Generic Image` vers des blocs tels que `Contour to Image` ou `Image ROI`.
* Combinez avec `Draw Line`, `Draw Point` ou `Draw Rectangle` si vous souhaitez superposer des annotations supplémentaires sur l'image de sortie avant présentation ou sauvegarde.
* Alimentez les sorties numériques comme `Length` et `Angle` vers des blocs d'analyse ou de journalisation (par ex. `CSV Export` ou `Data to JSON`) pour enregistrer les résultats de mesure.

## 🛠️ Dépannage <a href="#troubleshooting" id="troubleshooting"></a>

* Si le menu déroulant ne propose aucune ligne, vérifiez qu'un contour valide a été fourni par le bloc précédent (le contour doit contenir plusieurs points).
* Si les indices sélectionnés semblent hors plage, essayez une simplification du contour (`Approximate Contour`) ou assurez-vous que l'image d'entrée et le contour correspondent au même espace de coordonnées / recadrage.
* Si les mesures semblent incorrectes, vérifiez que l'image utilisée n'a pas été redimensionnée ou padding ajoutés précédemment ; si c'est le cas, utilisez des étapes ROI ou de redimensionnement correspondantes pour que les coordonnées soient cohérentes.
