> 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/roi-processing/image-roi-circle.md).

# Image ROI Circle

Ce bloc de fonction vous permet de créer une seule région d'intérêt (ROI) circulaire éditable sur une image. Utilisez la zone interactive pour dessiner, déplacer et redimensionner le cercle. Le bloc renvoie l'image circulaire recadrée et une forme de cercle (`Circle`) (centre et rayon) que vous pouvez transmettre à d'autres blocs.

## 📥 Entrées

`Image`\
Image à recadrer et sur laquelle éditer la superposition circulaire (niveaux de gris ou couleur).

## 📤 Sorties

`Image`\
Image recadrée contenant la zone circulaire (l'arrière-plan en dehors du cercle est masqué).

`Circle`\
Forme de cercle décrivant la ROI sélectionnée sous la forme centre + rayon (utile pour les blocs sensibles à la géométrie).

## 🕹️ Contrôles

`ROI Canvas`\
Zone d'image interactive où vous créez et éditez le cercle à la souris.

`Create by Drag`\
Cliquer-glisser sur le canvas pour créer un nouveau cercle.

`Move Center`\
Faire glisser le centre du cercle pour repositionner la ROI.

`Resize Radius`\
Faire glisser la poignée du rayon pour changer la taille du cercle.

`Clear (C)`\
Appuyer sur la touche C pour effacer le cercle courant et recommencer.

## ⚙️ Fonctionnement

* Le bloc affiche l'image fournie sur le `ROI Canvas` et superpose le cercle courant (si défini).
* Pendant l'exécution, le canvas écoute les événements de souris (drag / move) pour créer, déplacer ou redimensionner le cercle.
* Une fois un cercle valide défini, le bloc produit l'image circulaire recadrée (masquée) et une sortie de forme contenant les valeurs du centre et du rayon.
* Si le cercle n'est pas défini ou si le rayon est nul, le bloc renvoie `None` pour les deux sorties afin que les blocs en aval puissent gérer l'absence de ROI.

## ✨ Fonctionnalités

* Interaction intuitive cliquer-et-glisser pour créer une ROI.
* Poignées séparées pour déplacer le centre et redimensionner le rayon.
* Retour visuel immédiat avec superposition colorée et mise en évidence des poignées.
* Sorties fournissant à la fois le recadrage masqué et une description réutilisable de la forme.

## 📝 Instructions d'utilisation

1. Connectez un bloc producteur d'image à l'entrée `Image` et exécutez une fois pour que l'image apparaisse sur le canvas.
2. Cliquez et glissez sur le `ROI Canvas` pour créer un cercle.
3. Faites glisser le centre du cercle pour le déplacer ou la poignée de rayon pour redimensionner.
4. Appuyez sur `C` pour effacer et redessiner si nécessaire.
5. Utilisez les sorties `Image` et `Circle` pour envoyer le recadrage ou la forme vers d'autres blocs.

## 💡 Astuces et conseils

* Prévisualisez le recadrage sélectionné dans une fenêtre plus grande avec `Show Image` pour inspecter avant d'exporter.
* Si votre image source est volumineuse, utilisez `Image Resize` avant ce bloc pour accélérer l'interaction et garantir que la ROI s'adapte à l'espace de travail.
* Utilisez `Apply Mask` pour combiner le masque circulaire avec d'autres images ou pour superposer le résultat du masque sur un arrière-plan différent.
* Pour sélectionner des régions plus complexes ou multiples, envisagez d'utiliser `Image ROI Select` ou `Image ROI Polygon Multi`, puis affinez avec ce ROI circulaire si besoin.
* Sauvegardez les recadrages capturés directement avec `Image Logger` ou `Image Write` pour archivage ou traitement ultérieur.
* Prétraitez des entrées bruitées avec `Blur` ou `Image Threshold` afin que la région visuelle s'aligne mieux avec vos flux de détection ou de mesure.
* Combinez les sorties `Circle` avec des blocs de mesure ou d'analyse (par exemple shape-analysis ou detectors) en transmettant la forme `Circle` là où c'est supporté.

## 🛠️ Dépannage

* Aucune image visible sur le canvas : assurez-vous que le bloc en amont produit une image et exécutez le scénario une fois pour charger l'image.
* Les sorties sont `None` : le centre du cercle ou le rayon est indéfini, ou le rayon est effectivement zéro. Redessinez le cercle.
* Le cercle paraît décalé ou trop petit : essayez de redimensionner l'image en amont via `Image Resize` ou redessinez le cercle à une échelle plus grande.
* L'interaction semble non réactive : confirmez que l'image a été fournie au moins une fois et que le canvas affiche l'image ; relancez le bloc si nécessaire.
