API: Python SDK

El Chloros Python SDK proporciona acceso programático al motor de procesamiento de imágenes Chloros, lo que permite la automatización, los flujos de trabajo personalizados y la integración perfecta con sus aplicaciones Python y sus procesos de investigación.

Características principales

  • 🐍 Python nativo - API limpio y pythónico para el procesamiento de imágenes

  • 🔧 Acceso completo a API - Control total sobre el procesamiento Chloros

  • 🚀 Automatización - Cree flujos de trabajo de procesamiento por lotes personalizados

  • 🔗 Integración: incruste Chloros en aplicaciones Python existentes.

  • 📊 Listo para la investigación: perfecto para procesos de análisis científico.

  • Procesamiento paralelo: se adapta a los núcleos de su CPU (Chloros+).

Requisitos

Requisito
Detalles

Chloros Desktop

Debe estar instalado localmente

Sistema operativo

Windows 10/11 (64 bits)

Python

Python 3.7 o superior

Memoria

8 GB de RAM como mínimo (se recomiendan 16 GB)

Internet

Necesario para la activación de la licencia

circle-info

Requisitos de licencia: Python SDK requiere una suscripción de pago a Chloros+ para acceder a API. Los planes estándar (gratuitos) no tienen acceso a API/SDK. Visite https://cloud.mapir.camera/pricingarrow-up-right para actualizar.

Inicio rápido

Instalación

Instalar mediante pip:

circle-info

Configuración inicial: Antes de utilizar SDK, active su licencia Chloros+ abriendo Chloros, Chloros (navegador) o Chloros CLI e iniciando sesión con sus credenciales. Esto solo es necesario hacerlo una vez.

Uso básico

Procese una carpeta con solo unas pocas líneas:

Control total

Para flujos de trabajo avanzados:


Guía de instalación

Requisitos previos

Antes de instalar SDK, asegúrese de tener:

  1. Chloros Desktop instalado (descargar)

  2. Python 3.7+ instalado (python.orgarrow-up-right)

  3. Licencia Chloros+ activa (actualizararrow-up-right)

Instalar mediante pip

Instalación estándar:

Con soporte para supervisión del progreso:

Instalación de desarrollo:

Verificar la instalación

Compruebe que SDK está instalado correctamente:


Configuración inicial

Activación de la licencia

El SDK utiliza la misma licencia que el Chloros, el Chloros (navegador) y el Chloros CLI. Actívela una vez a través de la GUI o CLI:

  1. Abra Chloros o Chloros (navegador)e inicie sesión en la pestaña Usuario . O bien, abraCLI.

  2. Introduzca sus credenciales de Chloros+ e inicie sesión

  3. La licencia se almacena en caché localmente (persiste tras los reinicios)

circle-info

Configuración única: después de iniciar sesión a través de la GUI o CLI, SDK utiliza automáticamente la licencia almacenada en caché. ¡No se necesita autenticación adicional!

circle-info

Cerrar sesión: Los usuarios de SDK pueden borrar las credenciales almacenadas en caché mediante programación utilizando el método logout(). Consulte el método logout() en la referencia API.

Probar conexión

Verifique que SDK puede conectarse a Chloros:


Referencia API

Clase ChlorosLocal

Clase principal para el procesamiento de imágenes locales Chloros.

Constructor

Parámetros:

Parámetro
Tipo
Predeterminado
Descripción

api_url

str

"http://localhost:5000"

URL del backend local Chloros

auto_start_backend

bool

True

Iniciar automáticamente el backend si es necesario

backend_exe

str

None (detección automática)

Ruta al ejecutable del backend

timeout

int

30

Tiempo de espera de la solicitud en segundos

backend_startup_timeout

int

60

Tiempo de espera para el inicio del backend (segundos)

Ejemplos:


Métodos

create_project(project_name, camera=None)

Crear un nuevo proyecto Chloros.

Parámetros:

Parámetro
Tipo
Obligatorio
Descripción

project_name

str

Nombre del proyecto

camera

str

No

Plantilla de cámara (por ejemplo, «Survey3N_RGN», «Survey3W_OCN»)

Devuelve: dict - Respuesta de creación del proyecto.Ejemplo:


import_images(folder_path, recursive=False)

Importar imágenes desde una carpeta.

Parámetros:

Parámetro
Tipo
Obligatorio
Descripción

folder_path

str/Path

Ruta a la carpeta con imágenes

recursive

bool

No

Buscar subcarpetas (predeterminado: Falso)

Devuelve: dict: resultados de la importación con recuento de archivos.Ejemplo:


configure(**settings)

Configurar los ajustes de procesamiento.

Parámetros:

Parámetro
Tipo
Predeterminado
Descripción

debayer

str

«Alta calidad (más rápido)»

Método Debayer

vignette_correction

bool

True

Habilitar corrección de viñeta

reflectance_calibration

bool

True

Habilitar calibración de reflectancia

indices

lista

None

Índices de vegetación para calcular

export_format

str

«TIFF (16 bits)»

Formato de salida

ppk

bool

False

Habilitar correcciones PPK

custom_settings

dict

None

Ajustes personalizados avanzados

Formatos de exportación:

  • "TIFF (16-bit)": recomendado para SIG/fotogrametría

  • "TIFF (32-bit, Percent)": análisis científico

  • "PNG (8-bit)": inspección visual

  • "JPG (8-bit)": salida comprimida

**Índices disponibles:**NDVI, NDRE, GNDVI, OSAVI, CIG, EVI, SAVI, MSAVI, MTVI2 y más.Ejemplo:


process(mode="parallel", wait=True, progress_callback=None)

Procesar las imágenes del proyecto.

Parámetros:

Parámetro
Tipo
Predeterminado
Descripción

mode

str

"parallel"

Modo de procesamiento: «paralelo» o «serie»

wait

bool

True

Esperar a que finalice

progress_callback

callable

None

Función de devolución de llamada de progreso (progreso, mensaje)

poll_interval

float

2.0

Intervalo de sondeo para el progreso (segundos)

Devuelve: dict - Resultados del procesamiento

circle-info

Modo paralelo: Requiere la licencia Chloros+. Se adapta automáticamente a los núcleos de la CPU (hasta 16 trabajadores).

Ejemplo:


get_config()

Obtiene la configuración actual del proyecto.

Devuelve: dict: configuración actual del proyecto.Ejemplo:


get_status()

Obtener información sobre el estado del backend.

Devuelve: dict - Estado del backend.Ejemplo:


shutdown_backend()

Apaga el backend (si se ha iniciado con SDK).

Ejemplo:


logout()

Borra las credenciales almacenadas en la caché del sistema local.

Descripción:

Cierra sesión de forma programada eliminando las credenciales de autenticación almacenadas en caché. Esto es útil para:

  • Cambiar entre diferentes cuentas Chloros+.

  • Borrar credenciales en entornos automatizados.

  • Fines de seguridad (por ejemplo, eliminar credenciales antes de desinstalar).

Devuelve: dict: resultado de la operación de cierre de sesión.Ejemplo:

circle-info

Se requiere reautenticación: Después de llamar a logout(), debe volver a iniciar sesión a través de Chloros, Chloros (navegador) o Chloros CLI antes de utilizar SDK.


Funciones prácticas

process_folder(folder_path, **options)

Función práctica de una línea para procesar una carpeta.

Parámetros:

Parámetro
Tipo
Predeterminado
Descripción

folder_path

str/Path

Obligatorio

Ruta a la carpeta con imágenes

project_name

str

Generado automáticamente

Nombre del proyecto

camera

str

None

Plantilla de cámara

indices

list

["NDVI"]

Índices para calcular

vignette_correction

bool

True

Habilitar corrección de viñeta

reflectance_calibration

bool

True

Habilitar calibración de reflectancia

export_format

str

«TIFF (16 bits)»

Formato de salida

mode

str

"parallel"

Modo de procesamiento

progress_callback

callable

None

Retorno de llamada de progreso

Devuelve: dict - Resultados del procesamiento.Ejemplo:


Compatibilidad con el administrador de contexto

SDK es compatible con los administradores de contexto para la limpieza automática:


Ejemplos completos

Ejemplo 1: Procesamiento básico

Procesar una carpeta con la configuración predeterminada:


Ejemplo 2: flujo de trabajo personalizado

Control total sobre el proceso de procesamiento:


Ejemplo 3: procesamiento por lotes de varias carpetas

Procesar varios conjuntos de datos de vuelos:


Ejemplo 4: integración del proceso de investigación

Integración de Chloros con el análisis de datos:


Ejemplo 5: Supervisión personalizada del progreso

Seguimiento avanzado del progreso con registro:


Ejemplo 6: Gestión de errores

Gestión de errores robusta para uso en producción:


Ejemplo 7: Gestión de cuentas y cierre de sesión

Gestionar credenciales mediante programación:


Ejemplo 8: Herramienta de línea de comandos

Cree una herramienta CLI personalizada con SDK:

Uso:


Gestión de excepciones

SDK proporciona clases de excepciones específicas para diferentes tipos de errores:

Jerarquía de excepciones

Ejemplos de excepciones


Temas avanzados

Configuración personalizada del backend

Utilice una ubicación o configuración de backend personalizada:

Procesamiento sin bloqueo

Inicie el procesamiento y continúe con otras tareas:

Gestión de la memoria

Para conjuntos de datos grandes, procese por lotes:


Solución de problemas

El backend no se inicia

Problema: SDK no inicia el backend.Soluciones:

  1. Compruebe que Chloros Desktop está instalado:

  1. Compruebe que Windows Firewall no lo está bloqueando.

  2. Pruebe la ruta manual del backend:


No se detecta la licenciaProblema: SDK advierte de que falta la licencia.Soluciones:

  1. Abra Chloros, Chloros (navegador) o Chloros CLI e inicie sesión.

  2. Compruebe que la licencia está almacenada en la caché:

  1. Si tiene problemas con las credenciales, borre las credenciales almacenadas en la caché y vuelva a iniciar sesión:

  1. Póngase en contacto con el servicio de asistencia: info@mapir.camera


Errores de importaciónProblema: ModuleNotFoundError: No module named 'chloros_sdk'Soluciones:


Tiempo de espera de procesamientoProblema: Se agota el tiempo de espera de procesamiento.Soluciones:

  1. Aumente el tiempo de espera:

  1. Procesar lotes más pequeños

  2. Comprobar el espacio disponible en disco

  3. Supervisar los recursos del sistema


Puerto ya en usoProblema: Puerto 5000 del backend ocupadoSoluciones:

O buscar y cerrar el proceso conflictivo:


Consejos de rendimiento

Optimizar la velocidad de procesamiento

  1. Utilizar el modo paralelo (requiere Chloros+)

  1. Reduzca la resolución de salida (si es aceptable)

  1. Desactive los índices innecesarios

  1. Procese en SSD (no en HDD)***

Optimización de la memoria

Para conjuntos de datos grandes:


Procesamiento en segundo plano

Liberar Python para otras tareas:


Ejemplos de integración

Integración con Django

Flask API

Jupyter Notebook


Preguntas frecuentes

P: ¿SDK requiere conexión a Internet?

R: Solo para la activación inicial de la licencia. Después de iniciar sesión a través de Chloros, Chloros (navegador) o Chloros CLI, la licencia se almacena en la caché local y funciona sin conexión durante 30 días.***

P: ¿Puedo utilizar SDK en un servidor sin GUI?R: ¡Sí! Requisitos:

  • Windows Server 2016 o posterior

  • Chloros instalado (una sola vez)

  • Licencia activada en cualquier máquina (licencia almacenada en caché copiada al servidor)


P: ¿Cuál es la diferencia entre Desktop, CLI y SDK?

Característica
GUI de escritorio
CLI Línea de comandos
Python SDK

Interfaz

Puntar y hacer clic

Comando

Python API

Ideal para

Trabajo visual

Scripting

Integración

Automatización

Limitada

Buena

Excelente

Flexibilidad

Básica

Buena

Máxima

Licencia

Chloros+

Chloros+

Chloros+

P: ¿Puedo distribuir aplicaciones creadas con SDK?R: El código SDK se puede integrar en sus aplicaciones, pero:

  • Los usuarios finales necesitan tener instalado Chloros.

  • Los usuarios finales necesitan tener licencias Chloros+ activas.

  • La distribución comercial requiere una licencia OEM.

Póngase en contacto con info@mapir.camera para consultas sobre OEM.


P: ¿Cómo actualizo SDK?


P: ¿Dónde se guardan las imágenes procesadas?

De forma predeterminada, en la ruta del proyecto:


P: ¿Puedo procesar imágenes desde scripts Python que se ejecutan según lo programado?R: ¡Sí! Utilice el Programador de tareas Windows con scripts Python:

Programe a través del Programador de tareas para que se ejecute diariamente.


P: ¿SDK es compatible con async/await?R: La versión actual es sincrónica. Para un comportamiento asíncrono, utilice wait=False o ejecute en un subproceso separado:


P: ¿Cómo puedo cambiar entre diferentes cuentas Chloros+?R: Utilice el método logout() para borrar las credenciales almacenadas en la caché y, a continuación, vuelva a iniciar sesión con la nueva cuenta:

Después de cerrar la sesión, autentíquese con la nueva cuenta a través de la GUI, el navegador o CLI antes de volver a utilizar SDK.


Obtener ayuda

Documentación

  • Referencia API: esta página

Canales de asistencia

Código de ejemplo

Todos los ejemplos que se incluyen aquí se han probado y están listos para su uso en producción. Cópielos y adáptelos a su caso de uso.


SDK requiere una suscripción activa a Chloros+. Se prohíbe el uso, la distribución o la modificación no autorizados.

Última actualización