API:Python SDK

Chloros Python SDK 提供对Chloros图像处理引擎的编程访问,支持自动化、自定义工作流,并与您的Python应用程序及研究流程无缝集成。

核心特性

  • 🐍 原生Python - 简洁的Python化图像处理接口

  • 🔧 全功能访问 - 完全掌控图像处理流程

  • 🚀 自动化 - 构建定制化批处理工作流

  • 🔗 集成 - 将Chloros嵌入现有Python应用程序

  • 📊 科研就绪 - 完美适配科学分析管道

  • 并行处理 - 扩展至CPU核心(Chloros+)

系统要求

要求
详细说明

Chloros桌面版

必须本地安装

许可证

操作系统

Windows 10/11 (64位)

Python

Python 3.7 或更高版本

内存

最低8GB RAM(推荐16GB)

网络连接

需联网激活许可证

{% 提示 style="warning" %}

许可证要求:Python SDK 需付费订阅 Chloros+ 才能访问 API。 标准(免费)方案不包含API/SDK访问权限。请访问https://cloud.mapir.camera/pricingarrow-up-right进行升级。

快速入门

安装

通过 pip 安装:

circle-info

首次设置:使用SDK前,请通过Chloros+打开Chloros或Chloros (浏览器) 或 Chloros CLI 并使用凭证登录。此操作仅需执行一次。

基础用法

处理仅含少量内容的文件夹:

全面控制

用于高级工作流:


安装指南

先决条件

安装 SDK 前,请确保您已具备:

  1. 已安装Chloros桌面版 (下载)

  2. 已安装Python 3.7+ (python.orgarrow-up-right)

  3. 有效的Chloros+许可证 (升级arrow-up-right)

通过pip安装

标准安装:

带进度监控支持:

开发环境安装:

安装验证

测试SDK是否正确安装:


初始配置

许可证激活

SDK与Chloros、Chloros(浏览器版)及Chloros CLI共享同一许可证。 通过图形界面或CLI激活一次:

  1. 打开Chloros或Chloros(浏览器版),在用户 标签页登录。或直接打开CLI

  2. 输入Chloros+凭证并登录

  3. 许可证本地缓存(重启后仍有效)

{% 提示 style="success" %}

一次性设置:通过GUI或CLI登录后,SDK将自动使用缓存许可证。无需额外认证!

circle-info

注销:SDK用户可通过logout()方法以编程方式清除缓存凭证。 参见 API 参考文档中的 logout() 方法

测试连接

验证SDK能否连接至Chloros:


API 参考文档

ChlorosLocal 类

本地图像处理的核心类。

构造函数

参数:

参数
类型
默认值
描述

api_url

字符串

"http://localhost:5000"

本地后端 URL 的 Chloros

auto_start_backend

布尔值

True

需要时自动启动后端

backend_exe

str

None (自动检测)

后端可执行文件路径

timeout

int

30

请求超时时间(秒)

backend_startup_timeout

int

60

后端启动超时(秒)

示例:


方法

create_project(project_name, camera=None)

创建新的Chloros项目。

参数:

参数
类型
是否必填
描述

project_name

字符串

项目名称

camera

字符串

相机模板(例如"Survey3N_RGN", "Survey3W_OCN")

返回值: dict - 项目创建响应示例:


import_images(folder_path, recursive=False)

从文件夹导入图像。

参数:

参数
类型
必填
描述

folder_path

字符串/路径

图片所在文件夹路径

recursive

布尔值

搜索子文件夹(默认:假)

返回值: dict - 包含文件数量的导入结果示例:


configure(**settings)

配置处理设置。

参数:

参数
类型
默认值
描述

debayer

str

"高质量(更快)"

去拜耳化方法

vignette_correction

布尔值

True

启用晕影校正

reflectance_calibration

布尔值

True

启用反射率校准

indices

list

None

待计算植被指数

export_format

str

"TIFF (16-bit)"

输出格式

ppk

bool

False

启用PPK校正

custom_settings

字典

None

高级自定义设置

导出格式:

  • "TIFF (16-bit)" - 推荐用于GIS/摄影测量

  • "TIFF (32-bit, Percent)" - 科学分析

  • "PNG (8-bit)" - 可视化检查

  • "JPG (8-bit)" - 压缩输出

**可用指数:**NDVI, NDRE, GNDVI, OSAVI, CIG, EVI, SAVI, MSAVI, MTVI2, 等。示例:


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

处理项目图像。

参数:

参数
类型
默认值
描述

mode

字符串

"parallel"

处理模式:"parallel" 或 "serial"

wait

布尔值

True

等待完成

progress_callback

可调用对象

None

进度回调函数(progress, msg)

poll_interval

浮点数

2.0

进度轮询间隔(秒)

返回值: dict - 处理结果

{% 提示 style="warning" %}

并行模式:需Chloros+许可证。自动扩展至CPU核心数(最多16个工作进程)。

示例:


get_config()

获取当前项目配置。

返回值: dict - 当前项目配置示例:


get_status()

获取后端状态信息。

返回值: dict - 后端状态示例:


shutdown_backend()

关闭后端(若由SDK启动)。

示例:


logout()

清除本地系统缓存的凭据。

说明:

通过移除缓存的身份验证凭据实现程序化注销。适用于:

  • 在不同Chloros+账户间切换

  • 自动化环境中清除凭据

  • 安全需求(例如卸载前清除凭据)

返回值: dict - 注销操作结果示例:

circle-info

需重新认证:调用logout()后, 必须通过Chloros、Chloros(浏览器)或Chloros CLI重新登录,方可使用SDK。


便捷函数

process_folder(folder_path, **options)

用于处理文件夹的一行便捷函数。

参数:

参数
类型
默认值
描述

folder_path

字符串/路径

必填

含图像的文件夹路径

project_name

字符串

自动生成

项目名称

camera

字符串

None

相机模板

indices

列表

["NDVI"]

计算索引

vignette_correction

布尔

True

启用暗角校正

reflectance_calibration

布尔值

True

启用反射率校准

export_format

字符串

"TIFF (16位)"

输出格式

mode

字符串

"parallel"

处理模式

progress_callback

可调用对象

None

进度回调函数

返回值: dict - 处理结果示例:


上下文管理器支持

SDK支持上下文管理器实现自动清理:


完整示例

示例 1:基础处理

使用默认设置处理文件夹:


示例 2:自定义工作流

完全掌控处理管道:


示例 3:批量处理多个文件夹

处理多个飞行数据集:


示例4:研究管道集成

将Chloros与数据分析集成:


示例 5:自定义进度监控

通过日志实现高级进度跟踪:


示例 6:错误处理

面向生产环境的健壮错误处理:


示例 7:账户管理与注销

程序化管理凭证:


示例 8:命令行工具

基于 SDK 构建自定义工具:

用法:


异常处理

SDK 为不同错误类型提供特定异常类:

异常层次结构

异常示例


高级主题

自定义后端配置

使用自定义后端位置或配置:

非阻塞处理

启动处理并继续执行其他任务:

内存管理

处理大型数据集时采用批处理模式:


故障排除

后端启动失败

问题: SDK 无法启动后端解决方案:

  1. 确认已安装Chloros桌面版:

  1. 检查Windows防火墙是否阻塞

  2. 尝试手动指定后端路径:


未检测到许可证问题: SDK 提示许可证缺失解决方案:

  1. 打开Chloros、Chloros(浏览器)或Chloros CLI并登录

  2. 验证许可证是否已缓存:

  1. 若凭证出现问题,请清除缓存凭证并重新登录:

  1. 联系技术支持:info@mapir.camera


导入错误问题: ModuleNotFoundError: No module named 'chloros_sdk'解决方案:


处理超时问题: 处理超时解决方案:

  1. 延长超时时间:

  1. 分批处理较小数据量

  2. 检查可用磁盘空间

  3. 监控系统资源


端口已被占用问题:后端端口5000被占用解决方案:

或查找并关闭冲突进程:


性能优化建议

提升处理速度

  1. 启用并行模式(需Chloros+)

  1. 降低输出分辨率(若可接受)

  1. 禁用非必要索引

  1. 在SSD上处理(非HDD)***

内存优化

针对大型数据集:


后台处理

释放Python资源供其他任务使用:


集成示例

Django集成

Flask集成API

Jupyter Notebook


常见问题

问:SDK是否需要联网?

*答:仅需初始许可证激活时联网。 通过Chloros、Chloros(浏览器)或Chloros CLI登录后,许可证将缓存至本地,支持离线使用30天。

问:能否在无图形界面的服务器上使用SDK?**答:**可以!要求如下:

  • Windows Server 2016或更高版本

  • 安装Chloros(仅需一次)

  • 任何设备激活的许可证(缓存许可证复制至服务器)


问:桌面版、CLI与SDK有何区别?

功能
桌面图形界面
CLI 命令行
Python SDK

界面类型

点击式操作

命令行模式

Python API

适用场景

可视化工作

脚本编写

系统集成

自动化程度

有限

良好

卓越

灵活性

基础

良好

最高

许可类型

Chloros+

Chloros+

Chloros+

问:能否分发使用SDK构建的应用程序?**答:**SDK代码可集成至您的应用程序,但需满足:

  • 终端用户需安装Chloros

  • 终端用户需持有有效的Chloros+许可证

  • 商业分发需获取OEM授权

有关OEM授权事宜请联系info@mapir.camera。


Q: 如何更新SDK?


问:处理后的图像保存在何处?

默认存储于项目路径:


问:能否通过定时任务处理Python脚本中的图像?**答:**可以!请结合Windows任务计划程序与Python脚本使用:

通过任务计划程序设置每日运行。


问:SDK是否支持异步/等待?**答:**当前版本为同步模式。如需异步行为,请使用wait=False或在独立线程中运行:


问:如何在不同Chloros+账户间切换?**答:**使用logout()方法清除缓存凭证,然后用新账户重新登录:

注销后,请通过图形界面、浏览器或CLI使用新账户进行身份验证,再重新使用SDK。


获取帮助

文档

  • API 参考:本页面

支持渠道

示例代码

此处列出的所有示例均经过测试且可直接投入生产环境。请根据您的使用场景复制并调整这些代码。


许可协议专有软件 - 版权所有 (c) 2025 MAPIR 公司

SDK 需有效 Chloros+ 订阅支持。禁止未经授权的使用、分发或修改。

最后更新于