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.