> 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/point-polygon-test.md).

# Point Polygon Test

Ce bloc de fonction vérifie si une forme test (contour/points) est située à l'intérieur d'une autre forme englobante. Il annote l'image d'entrée avec des repères visuels et renvoie un booléen indiquant si tous les points testés sont à l'intérieur du contour englobant.

## 📥 Entrées

`Input Image (Grayscale)` Une image en niveaux de gris utilisée comme fond pour la visualisation et le dessin.

`Test Shape` Une forme (contour ou liste de points) à tester pour inclusion.

`Enclosing Shape` Un contour servant d'enveloppe de référence.

## 📤 Sorties

`Output Image` Image annotée montrant le contour englobant et les points testés. Les points à l'intérieur sont marqués d'une couleur, ceux à l'extérieur d'une autre.

`Plot Image` Résultat booléen : True si tous les points testés sont à l'intérieur du contour englobant, sinon False.

## 🕹️ Contrôles

Ce bloc ne possède pas de contrôles interactifs supplémentaires. Il s'exécute en fonction des entrées fournies.

## 🎨 Fonctionnalités

* Annotation visuelle du contour de référence et de chaque point testé sur l'image pour une vérification simple.
* Indication point par point (à l'intérieur vs à l'extérieur) via des marqueurs colorés.
* Renvoie un booléen unique résumant si la forme test est entièrement contenue.

## ⚙️ Mécanisme d'exécution

* À l'exécution, le bloc lit les trois sockets listés dans les entrées.
* Si l'une des entrées de forme est vide, le bloc renvoie l'image d'entrée sans modifications et n'effectue pas le test.
* Si les deux formes sont fournies, le bloc dessine le contour englobant et évalue chaque point de la forme test par rapport à cette enveloppe.
* Chaque point testé est tracé sur l'image avec une couleur indiquant s'il est à l'intérieur ou à l'extérieur. La sortie booléenne reflète si tous les points sont à l'intérieur.

## 📝 Instructions d'utilisation

1. Fournissez une image en niveaux de gris adaptée à `Input Image (Grayscale)` pour la visualisation.
2. Connectez le contour ou la liste de points à vérifier dans `Test Shape`.
3. Connectez le contour englobant dans `Enclosing Shape`.
4. Lisez l'image annotée depuis `Output Image` et le résultat d'inclusion depuis `Plot Image`.

## 💡 Astuces

* Utilisez `Find Contour` pour extraire des contours d'une image binaire et connectez son résultat à `Enclosing Shape` ou `Test Shape`.
* Utilisez `Approximate Contour` pour simplifier des contours complexes avant le test, cela accélère l'évaluation et réduit les faux négatifs.
* Recadrez d'abord la région d'intérêt avec `Image ROI` ou `Image ROI Select` pour concentrer le test sur les zones pertinentes et réduire le traitement.
* Pour inspecter ou créer la forme à tester, utilisez `Contour to Image` ou dessinez des points avec `Draw Point` puis utilisez cette sortie comme `Test Shape`.
* Si la forme test doit provenir d'une segmentation, essayez `Image Threshold` ou `Fill Contour` en amont pour obtenir des contours propres et des résultats plus fiables.

## 🛠️ Dépannage

* Si tous les points sont signalés à l'extérieur de manière inattendue, vérifiez que les systèmes de coordonnées correspondent (un recadrage ou un redimensionnement en amont peut décaler les coordonnées).
* Si le résultat est incohérent, visualisez les contours intermédiaires avec `Show Image` pour confirmer que les formes sont bien transmises.
* Si l'extraction de contours ne fournit pas de formes utilisables, prétraitez l'image avec `Blur` ou `Image Threshold` pour améliorer la détection des bords.
