API: Python SDK

Chloros Python SDK забезпечує програмний доступ до механізму обробки зображень Chloros, що дозволяє автоматизувати процеси, створювати власні робочі процеси та безперешкодно інтегрувати їх у ваші додатки Python та дослідницькі конвеєри.

Основні функції

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

  • 🔧 Повний доступ до API - Повний контроль над обробкою Chloros

  • 🚀 Автоматизація - Створення налаштованих робочих процесів пакетної обробки

  • 🔗 Інтеграція - Вбудовуйте Chloros в існуючі додатки Python

  • 📊 Готовий до досліджень - Ідеально підходить для наукових аналітичних конвеєрів

  • Паралельна обробка - Масштабується до ваших ядер процесора (Chloros+)

Вимоги

Вимога
Деталі

Chloros Desktop

Повинно бути встановлено локально

Операційна система

Windows 10/11 (64-біт)

Python

Python 3.7 або вище

Пам'ять

Мінімум 8 ГБ оперативної пам'яті (рекомендується 16 ГБ)

Інтернет

Необхідний для активації ліцензії

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. Активуйте один раз через графічний інтерфейс або CLI:

  1. Відкрийте Chloros або Chloros (браузер)і увійдіть на вкладку «Користувач» . Або відкрийтеCLI.

  2. Введіть свої облікові дані Chloros+ і увійдіть

  3. Ліцензія зберігається в локальному кеші (зберігається після перезавантаження)

circle-info

Одноразова настройка: Після входу через графічний інтерфейс або CLI, SDK автоматично використовує кешовану ліцензію. Додаткова автентифікація не потрібна!

circle-info

Вихід: Користувачі SDK можуть програмно очистити кешовані облікові дані за допомогою методу logout(). Див. метод logout() у довіднику API.

Перевірка з'єднання

Перевірте, чи SDK може підключитися до Chloros:


API Довідка

Клас ChlorosLocal

Основний клас для локальної обробки зображень 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

список

None

Індекси рослинності для розрахунку

export_format

str

«TIFF (16-бітний)»

Формат виводу

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"

Режим обробки: «паралельний» або «послідовний»

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-біт)"

Формат виводу

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 не блокує

  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


FAQ

Питання: Чи потрібно для SDK підключення до Інтернету?

В: Тільки для початкової активації ліцензії. Після входу через Chloros, Chloros (браузер) або Chloros CLI ліцензія кешується локально і працює в автономному режимі протягом 30 днів.***

Питання: Чи можу я використовувати SDK на сервері без графічного інтерфейсу?Відповідь: Так! Вимоги:

  • Windows Server 2016 або пізніша версія

  • Chloros встановлено (одноразово)

  • Ліцензія активована на будь-якому комп'ютері (кешована ліцензія скопійована на сервер)


Питання: У чому різниця між Desktop, CLI та SDK?

Функція
Desktop GUI
CLI Командний рядок
Python SDK

Інтерфейс

Покажчик миші

Команда

Python API

Найкраще підходить для

Візуальної роботи

Скриптів

Інтеграції

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

Обмежена

Хороша

Відмінна

Гнучкість

Базова

Хороша

Максимальна

Ліцензія

Chloros+

Chloros+

Chloros+

Питання: Чи можу я розповсюджувати програми, створені за допомогою SDK?Відповідь: Код SDK можна інтегрувати у ваші програми, але:

  • Кінцевим користувачам потрібно встановити Chloros

  • Кінцевим користувачам потрібні активні ліцензії Chloros+

  • Для комерційного розповсюдження потрібна ліцензія OEM.

Зверніться до info@mapir.camera з питаннями щодо OEM.


Питання: Як оновити SDK?


Питання: Де зберігаються оброблені зображення?

За замовчуванням, у шляху до проекту:


Питання: Чи можна обробляти зображення за допомогою скриптів Python, що виконуються за розкладом?Відповідь: Так! Використовуйте планувальник завдань Windows із скриптами Python:

Заплануйте щоденне виконання за допомогою планувальника завдань.


Питання: Чи підтримує SDK асинхронний/очікуючий режим?Відповідь: Поточна версія є синхронною. Для асинхронної роботи використовуйте wait=False або запустіть в окремому потоці:


Питання: Як перемикатися між різними обліковими записами Chloros+?Відповідь: Використовуйте метод logout(), щоб очистити кешовані облікові дані, а потім знову увійдіть за допомогою нового облікового запису:

Після виходу з облікового запису пройдіть аутентифікацію за допомогою нового облікового запису через графічний інтерфейс, браузер або CLI, перш ніж знову використовувати SDK.


Отримання допомоги

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

  • Довідка API: Ця сторінка

Канали підтримки

Приклад коду

Усі наведені тут приклади перевірені та готові до використання. Скопіюйте їх та адаптуйте до своїх потреб.


SDK вимагає активної підписки на Chloros+. Несанкціоноване використання, розповсюдження або модифікація заборонені.

Last updated