> 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/translate-shape.md).

# Translate Shape

Cette fonction déplace des formes géométriques selon des offsets horizontaux et verticaux spécifiés. Utilisez-la lorsque vous devez décaler des points, rectangles, cercles ou contours dans l'espace de coordonnées de l'image.

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

`Shape` Une forme à traduire. Types acceptés :

* Point unique (x, y)
* Rectangle défini par deux points de coin
* Cercle défini par center\_x, center\_y, radius
* Contour (une liste/array ordonnée de points (x,y))

`X` Valeur de translation horizontale (optionnelle). Pixels entiers pour déplacer la forme le long de X. Par défaut 0 si non fourni.

`Y` Valeur de translation verticale (optionnelle). Pixels entiers pour déplacer la forme le long de Y. Par défaut 0 si non fourni.

(Tous les éléments ci-dessus sont des sockets d'entrée.)

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

`Shape` La forme traduite renvoyée dans le même format que l'entrée (point, rectangle, cercle ou contour).

(Ceci est un socket de sortie.)

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

Ce bloc fonction n'a pas d'autres contrôles ou widgets. Fournissez les translations via les sockets d'entrée.

## ⚙️ Mécanisme d'exécution <a href="#running-mechanism" id="running-mechanism"></a>

* Lors de l'exécution, le bloc lit la forme fournie ainsi que les valeurs optionnelles de translation `X` et `Y`.
* Les translations sont appliquées en tant qu'offsets entiers en pixels. Les valeurs positives déplacent la forme vers la droite/en bas, les valeurs négatives vers la gauche/en haut.
* Le bloc renvoie le même type de forme décalé des offsets donnés. Pour les contours, chaque sommet est déplacé du même offset (X, Y).
* Si un type de forme non pris en charge ou des données invalides sont fournis, le bloc signale une erreur de configuration — assurez-vous que l'entrée `Shape` correspond à l'un des formats acceptés.

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

* Prend en charge les types de formes courants : point, rectangle, cercle et contour.
* Conserve le format de sortie identique au format d'entrée pour un chaînage transparent.
* Translation simple basée sur des entiers pour un positionnement déterministe.
* Fonctionne avec des formes uniques ou des tableaux de contours pour des transformations géométriques en lot.

## 📝 Instructions d'utilisation <a href="#usage" id="usage"></a>

1. Fournissez une forme au socket `Shape` (par exemple, le contour renvoyé par un détecteur).
2. Donnez le déplacement horizontal au socket `X` (optionnel).
3. Donnez le déplacement vertical au socket `Y` (optionnel).
4. Lisez la forme traduite depuis le socket de sortie `Shape` et utilisez-la pour le dessin, la mesure ou un traitement ultérieur.

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

* Combiner avec des blocs de détection et ROI :
  * Utilisez `Find Contour`, `Find Object` ou `Approximate Contour` pour obtenir des formes, puis alimentez-les dans ce bloc pour aligner ou décaler les résultats.
  * Utilisez `Image ROI`, `Image ROI Select` ou `Get ROI` pour recadrer ou focaliser une région avant de traduire les formes afin que les coordonnées restent cohérentes dans la zone de travail.
* Travailler avec plusieurs formes ou listes :
  * Utilisez `Batch Processing`, `Debatch` ou `Batch Concatenation` pour traduire une liste de formes de manière itérative.
  * Pour afficher les résultats traduits à des fins de vérification visuelle, envoyez la sortie vers `Draw Point`, `Draw Rectangle` ou `Draw Result On Image`.
* Pour des flux de mesure :
  * Après translation des formes, utilisez `Measure Position Distance` pour calculer les distances entre positions déplacées et positions de référence.
  * Utilisez `Minimum Rectangle`, `Hull Convex` ou `Contour to Image` pour convertir et comparer des résumés géométriques après translation.
* Visualisation et débogage :
  * Pour visualiser des contours ou rectangles traduits sur des images, routez la forme traduite vers `Draw Rectangle` ou `Draw Result On Image` et prévisualisez avec `Show Image`.

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

* Aucun changement visible après translation :
  * Vérifiez que des valeurs non nulles sont fournies à `X` ou `Y`.
  * Assurez-vous que le bloc de dessin/affichage (par exemple `Show Image` ou `Draw Rectangle`) reçoit bien la forme traduite et que le même système de coordonnées est utilisé.
* Erreurs de format de forme inattendues :
  * Confirmez que la forme d'entrée respecte l'un des formats pris en charge (point, rectangle, cercle ou contour).
  * Si vous travaillez avec des listes, assurez-vous qu'elles sont fournies via un workflow compatible liste/lot (utilisez `Batch Processing` / `Debatch` si nécessaire).
* Formes hors limites :
  * Les translations peuvent déplacer des formes en dehors de la zone d'image. Si cela pose problème, clampérez les coordonnées via des contrôles en aval ou recadrez le ROI avant la translation.
