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.