API : Python SDK

Chloros Python SDK poskytuje programový prístup k enginu na spracovanie obrazu Chloros, čo umožňuje automatizáciu, vlastné pracovné postupy a hladkú integráciu s vašimi aplikáciami Python a výskumnými procesmi.

Kľúčové funkcie

  • 🐍 Natívne Python – Čistý, Pythonský API pre spracovanie obrazu

  • 🔧 Plný prístup k API – Úplná kontrola nad spracovaním Chloros

  • 🚀 Automatizácia – Vytvárajte vlastné pracovné postupy hromadného spracovania

  • 🔗 Integrácia – Vložte Chloros do existujúcich aplikácií Python

  • 📊 Pripravené na výskum – Ideálne pre vedecké analytické procesy

  • Paralelné spracovanie – Škálovateľné podľa počtu jadier vášho procesora (Chloros+)

Požiadavky

Požiadavka
Podrobnosti

Chloros nainštalovaný

Windows: Inštalačný program pre stolné počítače; Linux: balík .deb

Operačný systém

Windows 10/11 (64-bit), Linux x86_64 (amd64), Linux arm64 (NVIDIA Jetson JetPack 6)

Python

Python 3.7 alebo novší

Pamäť

Minimálne 8 GB RAM (odporúča sa 16 GB)

Internet

Potrebný na aktiváciu licencie

circle-exclamation

Rýchly štart

Inštalácia

Inštalácia cez pip:

circle-info

Prvé nastavenie: Pred použitím SDK aktivujte svoju licenciu Chloros+ otvorením Chloros, Chloros (prehliadač) alebo Chloros CLI a prihlásením sa pomocou svojich prihlasovacích údajov. Toto je potrebné urobiť len raz. V Linux (bez grafického rozhrania) použite: chloros-cli login user@example.com 'password'

Základné použitie

Spracujte priečinok len niekoľkými riadkami:

circle-info

Cesty pre viaceré platformy: Príklady kódu na tejto stránke používajú cesty v štýle Windows (napr. C:\\DroneImages\\Flight001). V systéme Linux použite namiesto toho cesty typu Linux (napr. /home/user/drone_images/flight001 alebo ~/drone_images/flight001). SDK funguje identicky na oboch platformách.

Plná kontrola

Pre pokročilé pracovné postupy:


Inštalačná príručka

Predpoklady

Pred inštaláciou SDK sa uistite, že máte:

  1. Chloros nainštalovaný — Windows: Inštalačný program pre počítače (stiahnuť); Linux: balík .deb (Inštalácia)

  2. Python 3.7+ nainštalované (python.orgarrow-up-right)

  3. Aktívna licencia Chloros+ (aktualizáciaarrow-up-right)

Inštalácia cez pip

Štandardná inštalácia:

S podporou sledovania priebehu:

Vývojová inštalácia:

Overenie inštalácie

Otestujte, či je SDK správne nainštalovaný:


Prvé nastavenie

Aktivácia licencie

SDK používa rovnakú licenciu ako Chloros, Chloros (prehliadač) a Chloros CLI. Aktivujte raz prostredníctvom grafického rozhrania alebo CLI:Windows:OtvorteChloros alebo Chloros (prehliadač) a prihláste sa na karte alebo použite CLI.Linux: Použite CLI (GUI nie je k dispozícii):

Licencia je uložená v lokálnej cache a pretrváva aj po reštarte.

circle-check
circle-info

Odhlásenie: Používatelia SDK môžu programovo vymazať uložené prihlasovacie údaje pomocou metódy logout(). Pozrite si metódu logout() v referencii API.

Testovanie pripojenia

Overte, či sa SDK môže pripojiť k Chloros:


Referencia API

Trieda ChlorosLocal

Hlavná trieda pre lokálne spracovanie obrazu Chloros.

Konštruktor

Parametre:

Parameter
Typ
Predvolené
Popis

api_url

str

"http://localhost:5000"

URL lokálneho backendu Chloros

auto_start_backend

bool

True

Automaticky spustiť backend v prípade potreby

backend_exe

str

None (automatická detekcia)

Cesta k spustiteľnému súboru backendu

timeout

int

30

Časový limit požiadavky v sekundách

backend_startup_timeout

int

60

Časový limit na spustenie backendu (sekúnd)

Príklady:

circle-info

Automatická detekcia platformy: SDK automaticky vyskúša správnu cestu k backendu pre vašu platformu:

  • Windows: C:\Program Files\MAPIR\Chloros\resources\backend\chloros-backend.exe

  • Linux (.deb): /usr/lib/chloros/chloros-backend

  • Linux (ručné): /opt/mapir/chloros/backend/chloros-backend


Metódy

create_project(project_name, camera=None)

Vytvorí nový projekt Chloros.

Parametre:

Parameter
Typ
Povinné
Popis

project_name

str

Áno

Názov projektu

camera

str

Nie

Šablóna kamery (napr. „Survey3N_RGN“, „Survey3W_OCN“)

Vrátené hodnoty: dict – Odpoveď na vytvorenie projektuPríklad:


import_images(folder_path, recursive=False)

Import obrázkov zo zložky.

Parametre:

Parameter
Typ
Povinné
Popis

folder_path

str/Path

Áno

Cesta k zložke s obrázkami

recursive

bool

Nie

Vyhľadávať podzložky (predvolené: False)

Vrátené hodnoty: dict – Výsledky importu s počtom súborovPríklad:


configure(**settings)

Nastavenie parametrov spracovania.

Parametre:

Parameter
Typ
Predvolené
Popis

debayer

str

"Štandardné (rýchle, stredná kvalita)"

Metóda debayeringu

vignette_correction

bool

True

Povoliť korekciu vinetácie

reflectance_calibration

bool

True

Povoliť kalibráciu odrazivosti

indices

zoznam

None

Vegetácia indexy na výpočet

export_format

reťazec

"TIFF (16-bit)"

Výstupný formát

ppk

bool

False

Povoliť korekcie PPK

custom_settings

dict

None

Pokročilé vlastné nastavenia

Formáty exportu:

  • "TIFF (16-bit)" - Odporúčané pre GIS/fotogrametriu

  • "TIFF (32-bit, Percent)" - Vedecká analýza

  • "PNG (8-bit)" - Vizuálna kontrola

  • "JPG (8-bit)" - Komprimovaný výstup

**Dostupné indexy:**NDVI, NDRE, GNDVI, OSAVI, CIG, EVI, SAVI, MSAVI, MTVI2 a ďalšie.Príklad:


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

Spracujte obrázky projektu.

Parametre:

Parameter
Typ
Predvolené
Popis

mode

str

"parallel"

Režim spracovania: „parallel“ alebo „serial“

wait

bool

True

Čakanie na dokončenie

progress_callback

callable

None

Funkcia spätného volania priebehu (progress, msg)

poll_interval

float

2.0

Interval dotazovania na priebeh (sekundy)

Vrátené hodnoty: dict - Výsledky spracovania

circle-exclamation

Príklad:


get_config()

Získa aktuálnu konfiguráciu projektu.

Vráti: dict - Aktuálna konfigurácia projektuPríklad:


get_status()

Získa informácie o stave backendu vrátane priebehu spracovania na úrovni jednotlivých vlákien.

Vrátené hodnoty: dict – Stav backendu s nasledujúcou štruktúrou:

Príklad:


shutdown_backend()

Vypne backend (ak bol spustený pomocou SDK).

Príklad:


logout()

Vymazanie uložených prihlasovacích údajov z lokálneho systému.

Popis:

Programovo sa odhlási odstránením overovacích údajov uložených v cache. To je užitočné pre:

  • Prepínanie medzi rôznymi účtami Chloros+

  • Vymazanie overovacích údajov v automatizovaných prostrediach

  • Bezpečnostné účely (napr. odstránenie overovacích údajov pred odinštalovaním)

Vrátené hodnoty: dict – Výsledok operácie odhláseniaPríklad:

circle-info

Vyžaduje sa opätovná autentifikácia: Po volaní logout() sa musíte znovu prihlásiť prostredníctvom Chloros, Chloros (prehliadač) alebo Chloros CLI pred použitím SDK.


Pomocné funkcie

process_folder(folder_path, **options)

Jednořádková pomocná funkcia na spracovanie priečinka.

Parametre:

Parameter
Typ
Predvolené
Popis

folder_path

str/Path

Povinné

Cesta k zložke s obrázkami

project_name

str

Automaticky generované

Názov projektu

camera

str

None

Šablóna fotoaparátu

indices

zoznam

["NDVI"]

Indexy na výpočet

vignette_correction

bool

True

Povoliť korekciu vinetácie

reflectance_calibration

bool

True

Povoliť kalibráciu odrazivosti

export_format

str

"TIFF (16-bit)"

Formát výstupu

mode

str

"parallel"

Režim spracovania

progress_callback

volateľný

None

Spätné volanie priebehu

Vrátené hodnoty: dict - Výsledky spracovaniaPríklad:


Podpora správcu kontextu

SDK podporuje správcov kontextu pre automatické čistenie:


Kompletné príklady

circle-info

Používatelia Linux: Všetky nižšie uvedené príklady používajú cesty Windows. Nahraďte cesty C:\\... svojimi cestami Linux (napr. /home/user/... alebo ~/...). Všetky funkcie SDK sú na všetkých platformách identické.

Príklad 1: Základné spracovanie

Spracujte priečinok s predvolenými nastaveniami:


Príklad 2: Vlastný pracovný postup

Úplná kontrola nad spracovateľským potrubím:


Príklad 3: Hromadné spracovanie viacerých zložiek

Spracovanie viacerých súborov údajov z letov:


Príklad 4: Integrácia výskumného potrubia

Integrácia Chloros s analýzou údajov:


Príklad 5: Vlastné sledovanie priebehu

Pokročilé sledovanie priebehu s protokolovaním:


Príklad 6: Spracovanie chýb

Robustné spracovanie chýb pre produkčné použitie:


Príklad 7: Správa účtov a odhlásenie

Programové spravovanie prihlasovacích údajov:


Príklad 8: Nástroj pre príkazový riadok

Vytvorenie vlastného nástroja CLI pomocou SDK:

Použitie:


Spracovanie výnimiek

SDK poskytuje špecifické triedy výnimiek pre rôzne typy chýb:

Hierarchia výnimiek

Príklady výnimiek


Pokročilé témy

Vlastná konfigurácia backendu

Použite vlastnú polohu alebo konfiguráciu backendu:

Nezablokujúce spracovanie

Spustite spracovanie a pokračujte v iných úlohách:

Správa pamäte

Pri veľkých dátových súboroch spracúvajte v dávkach:


Riešenie problémov

Backend sa nespustí

Problém: SDK nedokáže spustiť backendRiešenia:

  1. Overte, či je nainštalovaný Chloros:

  1. Skontrolujte firewall (Windows) alebo dostupnosť portu (Linux: lsof -i :5000)

  2. Skúste manuálnu cestu k backendu:


Licencia nebola zistenáProblém: SDK upozorňuje na chýbajúcu licenciuRiešenia:

  1. Otvorte Chloros, Chloros (prehliadač) alebo Chloros CLI a prihláste sa.

  2. Overte, či je licencia uložená v pamäti cache:

  1. Ak máte problémy s prihlasovacími údajmi, vymažte uložené prihlasovacie údaje a prihláste sa znovu:

  1. Kontaktujte podporu: info@mapir.camera


Chyby importuProblém: ModuleNotFoundError: No module named 'chloros_sdk'Riešenia:


Časový limit spracovaniaProblém: Časový limit spracovania vypršalRiešenia:

  1. Zvýšte časový limit:

  1. Spracúvajte menšie dávky

  2. Skontrolujte voľné miesto na disku

  3. Sledujte systémové zdroje


Port je už obsadenýProblém: Port 5000 na strane servera je obsadenýRiešenia:

Alebo vyhľadajte a ukončite konfliktný proces:


Tipy na zvýšenie výkonu

Optimalizácia rýchlosti spracovania

  1. Použite paralelný režim (vyžaduje Chloros+)

  1. Znížte výstupné rozlíšenie (ak je to prijateľné)

  1. Deaktivujte nepotrebné indexy

  1. Spracúvajte na SSD (nie na HDD)***

Optimalizácia pamäte

Pre veľké dátové súbory:


Spracovanie na pozadí

Uvoľnite Python pre iné úlohy:


Príklady integrácie

Integrácia s Djangom

Flask API

Jupyter Notebook


Často kladené otázky

Otázka: Vyžaduje SDK pripojenie k internetu?

Odpoveď: Iba na počiatočnú aktiváciu licencie. Po prihlásení cez Chloros, Chloros (prehliadač) alebo Chloros CLI sa licencia uloží do lokálnej cache a funguje offline po dobu 30 dní.***

Otázka: Môžem používať SDK na serveri bez grafického rozhrania?Odpoveď: Áno! SDK funguje bez grafického rozhrania na serveroch Windows aj Linux.Linux (odporúčané pre bezhlavý režim):

  • Inštalácia prostredníctvom balíka .deb

  • Aktivácia licencie: chloros-cli login user@example.com 'password'

Server Windows:

  • Server Windows 2016 alebo novší

  • Nainštalovaný Chloros (jednorazovo)

  • Licencia aktivovaná prostredníctvom CLI alebo na akomkoľvek počítači


Otázka: Aký je rozdiel medzi Desktop, CLI a SDK?

Funkcia
Grafické rozhranie Desktop
Príkazový riadok CLI
Python SDK

Rozhranie

Ukazovateľom

Príkazový riadok

Python API

Najvhodnejšie pre

Vizuálnu prácu

Skriptovanie

Integráciu

Automatizácia

Obmedzená

Dobrá

Vynikajúca

Flexibilita

Základná

Dobrá

Maximálna

Licencia

Chloros+

Chloros+

Chloros+

Otázka: Môžem distribuovať aplikácie vytvorené pomocou SDK?Odpoveď: Kód SDK je možné integrovať do vašich aplikácií, ale:

  • Koneční používatelia musia mať nainštalovaný Chloros

  • Koneční používatelia potrebujú aktívne licencie Chloros+

  • Komerčná distribúcia vyžaduje OEM licenciu

V prípade otázok týkajúcich sa OEM kontaktujte info@mapir.camera.


Otázka: Ako aktualizujem SDK?


Otázka: Kam sa ukladajú spracované obrázky?

V predvolenom nastavení do projektovej cesty:


Otázka: Môžem spracovávať obrázky zo skriptov Python spúšťaných podľa plánu?Odpoveď: Áno! Použite plánovač vášho operačného systému so skriptmi Python:

Windows: Naplánujte prostredníctvom Plánovača úloh tak, aby sa spúšťal denne.Linux: Naplánujte prostredníctvom cron:


Otázka: Podporuje SDK async/await?Odpoveď: Aktuálna verzia je synchronná. Pre asynchrónne správanie použite wait=False alebo spustite v samostatnom vlákne:


Otázka: Ako môžem prepínať medzi rôznymi účtami Chloros+?Odpoveď: Použite metódu logout() na vymazanie uložených prihlasovacích údajov v cache a potom sa znovu prihláste s novým účtom:

Po odhlásení sa overte pomocou nového účtu cez grafické rozhranie, prehliadač alebo CLI, než znovu použijete SDK.


Pomoc

Dokumentácia

  • Referencia API: Táto stránka

Kanály podpory

Ukážkový kód

Všetky tu uvedené príklady sú otestované a pripravené na použitie v produkčnom prostredí. Skopírujte ich a prispôsobte svojim potrebám.


SDK vyžaduje aktívne predplatné Chloros+. Neoprávnené používanie, distribúcia alebo úprava sú zakázané.

Last updated