API: Python SDK

Chloros Python SDK предоставя програмно достъп до Chloros двигателя за обработка на изображения, позволявайки автоматизация, персонализирани работни процеси и безпроблемна интеграция с вашите Python приложения и изследователски процеси.

Основни характеристики

  • 🐍 Нативен Python - Чист, Pythonic API за обработка на изображения

  • 🔧 Пълен достъп до API - Пълен контрол над обработката на Chloros

  • 🚀 Автоматизация - Създаване на персонализирани работни потоци за пакетна обработка

  • 🔗 Интеграция - Вградете Chloros в съществуващи Python приложения

  • 📊 Готов за изследвания - Идеален за научни аналитични процеси

  • Паралелна обработка - Мащабира се според вашите CPU ядра (Chloros+)

Изисквания

Изискване
Подробности

Chloros Desktop

Трябва да бъде инсталиран локално

Операционна система

Windows 10/11 (64-битова)

Python

Python 3.7 или по-нова версия

Памет

Минимум 8 GB RAM (препоръчителни 16 GB)

Интернет

Необходим за активиране на лиценза

circle-info

Изисквания за лиценз: 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 Desktop (изтегляне)

  2. Активна лицензия Chloros+ (ъпгрейдarrow-up-right)

Инсталиране чрез pip

Стандартна инсталация:

С поддръжка за наблюдение на напредъка:

Инсталация за разработка:

Проверка на инсталацията

Проверете дали SDK е инсталиран правилно:


Първоначална настройка

Активиране на лиценза

SDK използва същия лиценз като Chloros, Chloros (браузър) и Chloros CLI. Активирайте веднъж чрез GUI или CLI:

  1. Отворете Chloros или Chloros (браузър)и влезте в потребителския . Или отворетеCLI.

  2. Въведете вашите Chloros+ данни за достъп и влезте в системата

  3. Лицензът се запазва локално (остава валиден и след рестартиране)

circle-info

Еднократна настройка: След влизане в системата чрез GUI или CLI, SDK автоматично използва кеширания лиценз. Не е необходима допълнителна автентификация!

circle-info

Излизане от системата: Потребителите на SDK могат да изчистят кешираните удостоверения чрез програмиране, като използват метода logout(). Вижте метода logout() в API Reference.

Тестване на връзката

Проверете дали SDK може да се свърже с Chloros:


API Reference

ChlorosLocal Class

Основен клас за локална обработка на изображения Chloros.

Конструктор

Параметри:

Параметър
Тип
По подразбиране
Описание

api_url

str

"http://localhost:5000"

URL на локалния Chloros бекенд

auto_start_backend

bool

True

Автоматично стартиране на бекенда, ако е необходимо

backend_exe

str

None (автоматично откриване)

Път към изпълнимия файл на бекенда

timeout

int

30

Тайм-аут на заявката в секунди

backend_startup_timeout

int

60

Тайм-аут за стартиране на бекенда (секунди)

Примери:


Методи

create_project(project_name, camera=None)

Създаване на нов проект Chloros.

Параметри:

Параметър
Тип
Задължителен
Описание

project_name

str

Да

Име на проекта

camera

str

Не

Шаблон на камерата (напр. „Survey3N_RGN”, „Survey3W_OCN”)

Връща: dict - Отговор за създаване на проектПример:


import_images(folder_path, recursive=False)

Импортиране на изображения от папка.

Параметри:

Параметър
Тип
Задължителен
Описание

folder_path

str/Path

Да

Път към папката с изображения

recursive

bool

Не

Търсене в подпапки (по подразбиране: False)

Връща: dict - Резултати от импорта с брой файловеПример:


configure(**settings)

Конфигуриране на настройките за обработка.

Параметри:

Параметър
Тип
По подразбиране
Описание

debayer

str

„Високо качество (по-бързо)“

Метод на Дебайер

vignette_correction

bool

True

Активиране на корекция на винетка

reflectance_calibration

bool

True

Активиране на калибриране на отражателната способност

indices

list

None

Растителни индекси за изчисляване

export_format

str

"TIFF (16-bit)"

Изходен формат

ppk

bool

False

Активиране на PPK корекции

custom_settings

dict

None

Разширени персонализирани настройки

Формати за експортиране:

  • "TIFF (16-bit)" - Препоръчва се за ГИС/фотограметрия

  • "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

str

"parallel"

Режим на обработка: „parallel“ или „serial“

wait

bool

True

Изчакване на завършване

progress_callback

callable

None

Функция за обратно извикване на напредъка (progress, msg)

poll_interval

float

2.0

Интервал на проверка на напредъка (секунди)

Връща: dict - Резултати от обработката

circle-info

Паралелен режим: Изисква лиценз Chloros+. Автоматично се мащабира според ядрата на вашия процесор (до 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

str/Path

Задължително

Път към папка с изображения

project_name

str

Автоматично генерирано

Име на проекта

camera

str

None

Шаблон на камерата

indices

list

["NDVI"]

Индекси за изчисляване

vignette_correction

bool

True

Активиране на корекция на винетката

reflectance_calibration

bool

True

Активиране на калибриране на отражателната способност

export_format

str

"TIFF (16-bit)"

Формат на изхода

mode

str

"parallel"

Режим на обработка

progress_callback

callable

None

Обратно извикване на напредъка

Връща: dict - Резултати от обработкатаПример:


Поддръжка на контекстен мениджър

SDK поддържа контекстни мениджъри за автоматично почистване:


Пълни примери

Пример 1: Основна обработка

Обработване на папка с настройки по подразбиране:


Пример 2: Персонализиран работен поток

Пълен контрол над процеса на обработка:


Пример 3: Обработка на няколко папки наведнъж

Обработка на няколко набора от данни за полети:


Пример 4: Интеграция на изследователски процес

Интегриране на Chloros с анализ на данни:


Пример 5: Персонализирано проследяване на напредъка

Разширено проследяване на напредъка с регистриране:


Пример 6: Обработка на грешки

Надеждна обработка на грешки за производствена употреба:


Пример 7: Управление на акаунти и излизане

Управление на удостоверенията чрез програмиране:


Пример 8: Инструмент за командния ред

Създаване на персонализиран инструмент CLI с SDK:

Употреба:


Обработка на изключения

SDK предоставя специфични класове изключения за различни типове грешки:

Йерархия на изключенията

Примери за изключения


Разширени теми

Персонализирана конфигурация на бекенда

Използвайте персонализирано местоположение или конфигурация на бекенда:

Неблокираща обработка

Започнете обработката и продължете с други задачи:

Управление на паметта

За големи масиви от данни, обработвайте на партиди:


Отстраняване на проблеми

Бекендът не стартира

Проблем: SDK не успява да стартира бекенда.Решения:

  1. Проверете дали Chloros Desktop е инсталиран:

  1. Проверете дали Windows Firewall не блокира

  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 на сървър без GUI?О: Да! Изисквания:

  • Windows Server 2016 или по-нова версия

  • Chloros инсталиран (еднократно)

  • Лиценз, активиран на която и да е машина (кеширан лиценз, копиран на сървъра)


В: Каква е разликата между Desktop, CLI и SDK?

Функция
Desktop GUI
CLI Command Line
Python SDK

Интерфейс

Посочи и кликни

Команда

Python API

Най-подходящ за

Визуална работа

Скриптове

Интеграция

Автоматизация

Ограничена

Добра

Отлична

Гъвкавост

Основна

Добра

Максимална

Лиценз

Chloros+

Chloros+

Chloros+

В: Мога ли да разпространявам приложения, създадени с SDK?О: Кодът SDK може да бъде интегриран във вашите приложения, но:

  • Крайните потребители трябва да имат инсталиран Chloros.

  • Крайните потребители трябва да имат активни лицензи Chloros+.

  • Търговското разпространение изисква OEM лицензиране.

Свържете се с info@mapir.camera за запитвания относно OEM.


В: Как да актуализирам SDK?


В: Къде се запазват обработените изображения?

По подразбиране, в пътя на проекта:


В: Мога ли да обработвам изображения от Python скриптове, работещи по график?О: Да! Използвайте Windows Task Scheduler с Python скриптове:

Настройте чрез Task Scheduler да се изпълнява ежедневно.


В: Поддържа ли SDK async/await?О: Текущата версия е синхронна. За асинхронно поведение използвайте wait=False или изпълнявайте в отделен поток:


В: Как да превключвам между различни акаунти Chloros+?О: Използвайте метода logout(), за да изчистите кешираните идентификационни данни, след което влезте отново с новия акаунт:

След излизане от акаунта, удостоверете се с новия акаунт чрез GUI, браузър или CLI, преди да използвате отново SDK.


Получаване на помощ

Документация

  • API Референция: Тази страница

Канали за поддръжка

Примерни кодове

Всички примери, изброени тук, са тествани и готови за производство. Копирайте ги и ги адаптирайте за вашия случай на употреба.


ЛицензСобствен софтуер - Авторски права (c) 2025 MAPIR Inc.

SDK изисква активен абонамент за Chloros+. Неоторизираното използване, разпространение или модифициране е забранено.

Last updated