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

Come eseguire automaticamente gli script Python all’avvio in Agisoft Metashape

Automatizzare il flusso di lavoro della fotogrammetria può aumentare notevolmente l’efficienza, soprattutto per quanto riguarda le attività ripetitive o aziendali. Agisoft Metashape supporta lo scripting Python e puoi anche configurarlo per eseguire automaticamente gli script all’avvio. Questa guida ti mostra come configurarlo su Windows, macOS e Linux e include le migliori pratiche per la struttura e il debug degli script.

Perché eseguire automaticamente gli script Python in Metashape?

L’esecuzione automatica degli script Python ti permette di:

  • Automatizzare i flussi di lavoro di routine (ad esempio, importare, allineare, costruire il modello, esportare)
  • Applicare gli standard del progetto in tutto il team
  • Attiva i caricamenti sul cloud o le sincronizzazioni dei database all’avvio
  • Elaborazione in batch di cartelle di immagini senza l’intervento dell’utente

Dove posizionare gli script di esecuzione automatica

Metashape verifica la presenza di un file di script chiamato startup.py in una specifica directory utente. Se lo trova, eseguirà automaticamente questo script all’avvio.

🟦 Windows

Inserisci qui il tuo script:

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

Esempio di percorso: C:\Users\YourName\AppData\Roaming\Agisoft\Metashape Pro\scripts\startup.py

🍎 macOS

Usa la seguente cartella:

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

🐧 Linux

Per i sistemi Linux:

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

Struttura di base di 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()

Casi d’uso comuni

  • Carica in batch le immagini da una cartella controllata
  • Avvia l’allineamento al lancio di Metashape
  • Connettersi a un database esterno o recuperare i metadati
  • Registra lo stato del progetto o l’attività degli utenti

Esempio: Allinea automaticamente le foto all’avvio

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()

Avanzato: Carica da uno script esterno

Puoi mantenere la tua logica principale in un altro script e importarla per mantenere pulito startup.py:

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

Come eseguire il debug di startup.py

  • Usa spesso le frasi di print()
  • Controlla la console di Metashape per verificare la presenza di errori
  • Esegui startup.py manualmente dalla console di Python per testare

Disabilitare o saltare temporaneamente l’esecuzione automatica

Se lo script causa problemi, è sufficiente rinominare o eliminare startup.py. In alternativa, aggiungi un flag nello script per disabilitare l’esecuzione quando necessario:

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

Migliori pratiche

  • Mantieni il sito startup.py leggero, evita i loop pesanti durante il lancio.
  • Usa il logging invece della stampa per gli script a lungo termine
  • Convalida i percorsi dei file e gli input prima dell’esecuzione
  • Commenta chiaramente il tuo codice per i compagni di squadra

Conclusione

L’esecuzione automatica di script Python all’avvio di Metashape è un modo potente per automatizzare i flussi di lavoro, soprattutto in ambienti di produzione o multiutente. Che si tratti di elaborare i dati in batch, di impostare un layout di progetto standard o di registrare l’attività del progetto, startup.py permette di prendere facilmente il controllo del tuo ambiente di fotogrammetria fin dall’apertura del software.