How to Auto-Run Python Scripts at Startup in Agisoft Metashape

Comment exécuter automatiquement des scripts Python au démarrage d’Agisoft Metashape ?

L’automatisation de votre flux de travail photogrammétrique peut augmenter considérablement l’efficacité, en particulier pour les tâches répétitives ou d’entreprise. Agisoft Metashape prend en charge les scripts Python et vous pouvez même le configurer pour qu’il s ‘exécute automatiquement au démarrage. Ce guide vous montre comment le configurer sous Windows, macOS et Linux, et inclut les meilleures pratiques pour la structure des scripts et le débogage.

Pourquoi exécuter automatiquement des scripts Python dans Metashape ?

L’exécution automatique des scripts Python vous permet de :

  • Automatiser les flux de travail de routine (par exemple, l’importation, l’alignement, la construction de modèles, l’exportation)
  • Faire respecter les normes du projet par l’ensemble de l’équipe
  • Déclencher des téléchargements dans le nuage ou des synchronisations de bases de données au démarrage
  • Traitement par lots des dossiers d’images sans intervention de l’utilisateur

Où placer les scripts d’exécution automatique ?

Metashape vérifie la présence d’un fichier de script appelé startup.py dans un répertoire utilisateur spécifique. S’il le trouve, il exécutera automatiquement ce script au démarrage.

🟦 Windows

Placez votre script ici :

%APPDATA%\Agisoft\Metashape Pro\scripts\startup.py

Exemple de chemin : C:\Users\YourName\AppData\Roaming\Agisoft\Metashape Pro\scripts\startup.py

🍎 macOS

Utilisez le dossier suivant :

~/Library/Application Support/Agisoft/Metashape Pro/scripts/startup.py

🐧 Linux

Pour les systèmes Linux :

~/.local/share/Agisoft/Metashape Pro/scripts/startup.py

Structure de base de la startup.py

import Metashape

def run_on_startup():
    doc = Metashape.app.document
    print("Metashape startup script running...")
    # Example task
    doc.addChunk()
    doc.chunk.label = "AutoCreatedChunk"
    print("Chunk created automatically.")

run_on_startup()

Cas d’utilisation courants

  • Chargement par lots d’images à partir d’un dossier surveillé
  • Commencez l’alignement au moment du lancement de Metashape
  • Connexion à une base de données externe ou récupération de métadonnées
  • Enregistrer l’état d’avancement du projet ou l’activité de l’utilisateur

Exemple : Alignement automatique des photos au démarrage

import Metashape

def run_on_startup():
    chunk = Metashape.app.document.addChunk()
    chunk.addPhotos(["C:/images/image1.jpg", "C:/images/image2.jpg"])
    chunk.matchPhotos(accuracy=Metashape.HighAccuracy)
    chunk.alignCameras()
    print("Alignment complete.")

run_on_startup()

Avancé : Charger à partir d’un script externe

Vous pouvez conserver votre logique de base dans un autre script et l’importer pour garder startup.py propre :

import sys
sys.path.append("C:/MyScripts/")
import auto_processing
auto_processing.main()

Comment déboguer startup.py

  • Utilisez fréquemment les déclarations print()
  • Vérifiez que la console Metashape ne contient pas d’erreurs
  • Exécutez startup.py manuellement à partir de la console Python pour tester

Désactiver ou ignorer temporairement l’exécution automatique

Si votre script pose des problèmes, renommez ou supprimez simplement startup.py. Vous pouvez également ajouter un drapeau dans le script pour désactiver l’exécution lorsque c’est nécessaire :

if __name__ == "__main__":
    debug = True
    if not debug:
        run_on_startup()

Meilleures pratiques

  • Gardez startup.py léger – évitez les boucles lourdes lors du lancement
  • Utilisez la journalisation au lieu de l’impression pour les scripts à long terme.
  • Valider les chemins d’accès aux fichiers et les entrées avant l’exécution
  • Commentez clairement votre code pour les coéquipiers

Conclusion

L’exécution automatique de scripts Python au démarrage de Metashape est un moyen puissant d’automatiser les flux de travail, en particulier dans les environnements de production ou multi-utilisateurs. Que vous traitiez des données par lots, que vous configuriez un projet standard ou que vous enregistriez l’activité du projet, startup.py vous permet de prendre facilement le contrôle de votre environnement de photogrammétrie dès l’ouverture du logiciel.