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

Cómo Autoejecutar Scripts Python al Inicio en Agisoft Metashape

Automatizar tu flujo de trabajo de fotogrametría puede aumentar drásticamente la eficiencia, especialmente en tareas repetitivas o empresariales. Agisoft Metashape es compatible con scripts de Python, e incluso puedes configurarlo para que ejecute scripts automáticamente al iniciarse. Esta guía te muestra cómo configurarlo en Windows, macOS y Linux, e incluye las mejores prácticas para la estructura y depuración de scripts.

¿Por qué ejecutar automáticamente scripts Python en Metashape?

Autoejecutar scripts Python te permite:

  • Automatiza los flujos de trabajo rutinarios (por ejemplo, importar, alinear, construir modelo, exportar)
  • Hacer cumplir las normas del proyecto a todo el equipo
  • Activa subidas a la nube o sincronización de bases de datos al inicio
  • Procesar por lotes carpetas de imágenes sin intervención del usuario

Dónde colocar los scripts de ejecución automática

Metashape busca un archivo de script llamado startup.py en un directorio de usuario específico. Si lo encuentra, lo ejecutará automáticamente al iniciarse.

🟦 Windows

Coloca aquí tu guión:

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

Ejemplo de ruta: C:\Users\YourName\AppData\Roaming\Agisoft\Metashape Pro\scripts\startup.py

🍎 macOS

Utiliza la siguiente carpeta:

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

🐧 Linux

Para sistemas Linux:

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

Estructura básica de 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()

Casos de uso habituales

  • Carga por lotes las imágenes de una carpeta vigilada
  • Iniciar la alineación cuando se lance Metashape
  • Conectar a base de datos externa o recuperar metadatos
  • Registra el estado del proyecto o la actividad de los usuarios

Ejemplo: Alinear fotos automáticamente al inicio

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

Avanzado: Cargar desde script externo

Puedes mantener tu lógica central en otro script e importarlo para mantener limpio startup.py:

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

Cómo depurar startup.py

  • Utiliza con frecuencia las frases print()
  • Comprueba si hay errores en la consola de Metashape
  • Ejecuta startup.py manualmente desde la consola de Python para probar

Desactivar u omitir temporalmente la ejecución automática

Si tu script causa problemas, simplemente cambia el nombre o borra startup.py. Alternativamente, añade una bandera en el script para desactivar la ejecución cuando sea necesario:

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

Buenas prácticas

  • Mantén startup.py ligero-evita bucles pesados en el lanzamiento
  • Utiliza el registro en lugar de la impresión para guiones de larga duración
  • Valida las rutas de los archivos y las entradas antes de la ejecución
  • Comenta tu código claramente para los compañeros de equipo

Conclusión

La ejecución automática de scripts de Python al iniciar Metashape es una potente forma de automatizar los flujos de trabajo, especialmente en entornos de producción o multiusuario. Tanto si estás procesando datos por lotes, configurando un diseño de proyecto estándar o registrando la actividad del proyecto, startup.py facilita el control de tu entorno de fotogrametría desde el momento en que se abre el software.