API: Python SDK

O Chloros Python SDK fornece acesso programático ao mecanismo de processamento de imagens Chloros, permitindo automação, fluxos de trabalho personalizados e integração perfeita com seus aplicativos Python e pipelines de pesquisa.

Principais recursos

  • 🐍 Python nativo - API limpo e Pythonic para processamento de imagens

  • 🔧 Acesso completo ao API - Controle total sobre o processamento do Chloros

  • 🚀 Automação - Crie fluxos de trabalho de processamento em lote personalizados

  • 🔗 Integração - Incorpore o Chloros em aplicativos Python existentes

  • 📊 Pronto para pesquisa - Perfeito para pipelines de análise científica

  • Processamento paralelo - Escalável para os núcleos da sua CPU (Chloros+)

Requisitos

Requisito
Detalhes

Chloros Desktop

Deve estar instalado localmente

Sistema operacional

Windows 10/11 (64 bits)

Python

Python 3.7 ou superior

Memória

Mínimo de 8 GB de RAM (recomendado 16 GB)

Internet

Necessária para ativação da licença

circle-info

Requisito de licença: O Python SDK requer uma assinatura paga do Chloros+ para acesso ao API. Os planos padrão (gratuitos) não têm acesso ao API/SDK. Acesse https://cloud.mapir.camera/pricingarrow-up-right para fazer o upgrade.

Início rápido

Instalação

Instale via pip:

circle-info

Configuração inicial: Antes de usar o SDK, ative sua licença Chloros+ abrindo o Chloros, Chloros (navegador) ou o Chloros CLI e fazendo login com suas credenciais. Isso só precisa ser feito uma vez.

Uso básico

Processe uma pasta com apenas algumas linhas:

Controle total

Para fluxos de trabalho avançados:


Guia de instalação

Pré-requisitos

Antes de instalar o SDK, certifique-se de ter:

  1. Chloros Desktop instalado (download)

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

  3. Licença ativa do Chloros+ (atualizaçãoarrow-up-right)

Instalar via pip

Instalação padrão:

Com suporte para monitoramento de progresso:

Instalação de desenvolvimento:

Verificar a instalação

Teste se o SDK está instalado corretamente:


Configuração inicial

Ativação da licença

O SDK usa a mesma licença que o Chloros, o Chloros (navegador) e o Chloros CLI. Ative uma vez através da GUI ou do CLI:

  1. Abra o Chloros ou o Chloros (navegador)e faça login na guia Usuário . Ou abra oCLI.

  2. Insira suas credenciais Chloros+ e faça login

  3. A licença é armazenada em cache localmente (persiste após reinicializações)

circle-info

Configuração única: após fazer login pela GUI ou pelo CLI, o SDK usa automaticamente a licença armazenada em cache. Não é necessária autenticação adicional!

circle-info

Logout: Os usuários do SDK podem limpar programaticamente as credenciais armazenadas em cache usando o método logout(). Consulte o método logout() na Referência do API.

Testar conexão

Verifique se o SDK pode se conectar ao Chloros:


Referência API

Classe ChlorosLocal

Classe principal para processamento de imagem local Chloros.

Construtor

Parâmetros:

Parâmetro
Tipo
Padrão
Descrição

api_url

str

"http://localhost:5000"

URL do backend local Chloros

auto_start_backend

bool

True

Iniciar automaticamente o backend, se necessário

backend_exe

str

None (detecção automática)

Caminho para o executável do backend

timeout

int

30

Tempo limite da solicitação em segundos

backend_startup_timeout

int

60

Tempo limite para inicialização do backend (segundos)

Exemplos:


Métodos

create_project(project_name, camera=None)

Criar um novo projeto Chloros.

Parâmetros:

Parâmetro
Tipo
Obrigatório
Descrição

project_name

str

Sim

Nome do projeto

camera

str

Não

Modelo da câmera (por exemplo, “Survey3N_RGN”, “Survey3W_OCN”)

Retorna: dict - Resposta de criação do projetoExemplo:


import_images(folder_path, recursive=False)

Importa imagens de uma pasta.

Parâmetros:

Parâmetro
Tipo
Obrigatório
Descrição

folder_path

str/Path

Sim

Caminho para a pasta com imagens

recursive

bool

Não

Pesquisar subpastas (padrão: Falso)

Retorna: dict - Importar resultados com contagem de arquivosExemplo:


configure(**settings)

Configurar as definições de processamento.

Parâmetros:

Parâmetro
Tipo
Padrão
Descrição

debayer

str

“Alta qualidade (mais rápido)”

Método Debayer

vignette_correction

bool

True

Ativar correção de vinheta

reflectance_calibration

bool

True

Ativar calibração de refletância

indices

lista

None

Índices de vegetação a calcular

export_format

str

"TIFF (16 bits)"

Formato de saída

ppk

bool

False

Ativar correções PPK

custom_settings

dict

None

Configurações personalizadas avançadas

Formatos de exportação:

  • "TIFF (16-bit)" - Recomendado para GIS/fotogrametria

  • "TIFF (32-bit, Percent)" - Análise científica

  • "PNG (8-bit)" - Inspeção visual

  • "JPG (8-bit)" - Saída compactada

**Índices disponíveis:**NDVI, NDRE, GNDVI, OSAVI, CIG, EVI, SAVI, MSAVI, MTVI2 e outros.Exemplo:


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

Processe as imagens do projeto.

Parâmetros:

Parâmetro
Tipo
Padrão
Descrição

mode

str

"parallel"

Modo de processamento: “paralelo” ou “serial”

wait

bool

True

Aguardar conclusão

progress_callback

callable

None

Função de retorno de chamada de progresso (progress, msg)

poll_interval

float

2.0

Intervalo de sondagem para progresso (segundos)

Retorna: dict - Resultados do processamento

circle-info

Modo paralelo: Requer licença Chloros+. Escala automaticamente para os núcleos da CPU (até 16 trabalhadores).

Exemplo:


get_config()

Obter a configuração atual do projeto.

Retorna: dict - Configuração atual do projetoExemplo:


get_status()

Obtém informações sobre o status do backend.

Retorna: dict - Status do backendExemplo:


shutdown_backend()

Desliga o backend (se iniciado por SDK).

Exemplo:


logout()

Limpa as credenciais armazenadas em cache do sistema local.

Descrição:

Faz logout programaticamente removendo as credenciais de autenticação em cache. Isso é útil para:

  • Alternar entre diferentes contas Chloros+

  • Limpar credenciais em ambientes automatizados

  • Fins de segurança (por exemplo, remover credenciais antes da desinstalação)

Retorna: dict - Resultado da operação de logoutExemplo:

circle-info

Reautenticação necessária: Após chamar logout(), você deve fazer login novamente através de Chloros, Chloros (navegador) ou Chloros CLI antes de usar o SDK.


Funções de conveniência

process_folder(folder_path, **options)

Função de conveniência de uma linha para processar uma pasta.

Parâmetros:

Parâmetro
Tipo
Padrão
Descrição

folder_path

str/Path

Obrigatório

Caminho para a pasta com imagens

project_name

str

Gerado automaticamente

Nome do projeto

camera

str

None

Modelo da câmera

indices

list

["NDVI"]

Índices a serem calculados

vignette_correction

bool

True

Ativar correção de vinheta

reflectance_calibration

bool

True

Ativar calibração de refletância

export_format

str

"TIFF (16 bits)"

Formato de saída

mode

str

"parallel"

Modo de processamento

progress_callback

callable

None

Retorno de chamada de progresso

Retorna: dict - Resultados do processamentoExemplo:


Suporte ao gerenciador de contexto

O SDK oferece suporte a gerenciadores de contexto para limpeza automática:


Exemplos completos

Exemplo 1: Processamento básico

Processe uma pasta com as configurações padrão:


Exemplo 2: fluxo de trabalho personalizado

Controle total sobre o pipeline de processamento:


Exemplo 3: processamento em lote de várias pastas

Processe vários conjuntos de dados de voos:


Exemplo 4: integração do pipeline de pesquisa

Integre o Chloros com a análise de dados:


Exemplo 5: Monitoramento personalizado do progresso

Rastreamento avançado do progresso com registro:


Exemplo 6: Tratamento de erros

Tratamento robusto de erros para uso em produção:


Exemplo 7: Gerenciamento de contas e logout

Gerencie credenciais programaticamente:


Exemplo 8: Ferramenta de linha de comando

Crie uma ferramenta CLI personalizada com o SDK:

Uso:


Tratamento de exceções

O SDK fornece classes de exceção específicas para diferentes tipos de erro:

Hierarquia de exceções

Exemplos de exceções


Tópicos avançados

Configuração personalizada do back-end

Use um local ou configuração de back-end personalizado:

Processamento sem bloqueio

Inicie o processamento e continue com outras tarefas:

Gerenciamento de memória

Para grandes conjuntos de dados, processe em lotes:


Solução de problemas

Backend não inicia

Problema: SDK não consegue iniciar o backendSoluções:

  1. Verifique se o Chloros Desktop está instalado:

  1. Verifique se o Windows Firewall não está bloqueando

  2. Tente o caminho manual do backend:


Licença não detectadaProblema: SDK avisa sobre a falta da licençaSoluções:

  1. Abra o Chloros, Chloros (navegador) ou Chloros CLI e faça login.

  2. Verifique se a licença está armazenada em cache:

  1. Se estiver enfrentando problemas com credenciais, limpe as credenciais armazenadas em cache e faça login novamente:

  1. Entre em contato com o suporte: info@mapir.camera


Erros de importaçãoProblema: ModuleNotFoundError: No module named 'chloros_sdk'Soluções:


Tempo limite de processamentoProblema: Tempo limite de processamentoSoluções:

  1. Aumente o tempo limite:

  1. Processe lotes menores

  2. Verifique o espaço disponível em disco

  3. Monitore os recursos do sistema


Porta já em usoProblema: Porta 5000 do back-end ocupadaSoluções:

Ou localize e feche o processo em conflito:


Dicas de desempenho

Otimize a velocidade de processamento

  1. Use o modo paralelo (requer Chloros+)

  1. Reduza a resolução de saída (se aceitável)

  1. Desative índices desnecessários

  1. Processe em SSD (não em HDD)***

Otimização da memória

Para grandes conjuntos de dados:


Processamento em segundo plano

Libere Python para outras tarefas:


Exemplos de integração

Integração com Django

Flask API

Jupyter Notebook


Perguntas frequentes

P: O SDK requer conexão com a Internet?

R: Apenas para a ativação inicial da licença. Após fazer login via Chloros, Chloros (navegador) ou Chloros CLI, a licença é armazenada em cache localmente e funciona offline por 30 dias.***

P: Posso usar o SDK em um servidor sem GUI?R: Sim! Requisitos:

  • Windows Server 2016 ou posterior

  • Chloros instalado (uma vez)

  • Licença ativada em qualquer máquina (licença armazenada em cache copiada para o servidor)


P: Qual é a diferença entre Desktop, CLI e SDK?

Recurso
GUI do Desktop
Linha de comando do CLI
Python SDK

Interface

Ponto e clique

Comando

Python API

Ideal para

Trabalho visual

Scripting

Integração

Automação

Limitada

Boa

Excelente

Flexibilidade

Básica

Boa

Máxima

Licença

Chloros+

Chloros+

Chloros+

P: Posso distribuir aplicativos criados com o SDK?R: O código SDK pode ser integrado aos seus aplicativos, mas:

  • Os usuários finais precisam ter o Chloros instalado

  • Os usuários finais precisam ter licenças ativas do Chloros+

  • A distribuição comercial requer licenciamento OEM

Entre em contato com o info@mapir.camera para consultas sobre OEM.


P: Como atualizo o SDK?


P: Onde as imagens processadas são salvas?

Por padrão, no Caminho do Projeto:


P: Posso processar imagens a partir de scripts Python executados em horários programados?R: Sim! Use o Agendador de Tarefas Windows com scripts Python:

Programe através do Agendador de Tarefas para executar diariamente.


P: O SDK suporta async/await?R: A versão atual é síncrona. Para comportamento assíncrono, use o wait=False ou execute em um thread separado:


P: Como faço para alternar entre diferentes contas Chloros+?R: Use o método logout() para limpar as credenciais em cache e, em seguida, faça login novamente com a nova conta:

Após o logout, autentique-se com a nova conta através da GUI, do navegador ou do CLI antes de usar o SDK novamente.


Obtendo ajuda

Documentação

  • Referência do API: esta página

Canais de suporte

Código de amostra

Todos os exemplos listados aqui foram testados e estão prontos para produção. Copie-os e adapte-os para o seu caso de uso.


O SDK requer uma assinatura ativa do Chloros+. É proibido o uso, distribuição ou modificação não autorizados.

Atualizado