API : Python SDK

Chloros Python SDK poskytuje programový přístup k enginu pro zpracování obrazu Chloros, což umožňuje automatizaci, vlastní pracovní postupy a hladkou integraci s vašimi aplikacemi Python a výzkumnými procesy.

Klíčové vlastnosti

  • 🐍 Nativní Python – Čistý, pythonský API pro zpracování obrazu

  • 🔧 Plný přístup k API – Úplná kontrola nad zpracováním Chloros

  • 🚀 Automatizace – Vytvářejte vlastní pracovní postupy pro dávkové zpracování

  • 🔗 Integrace – Vložte Chloros do stávajících Python aplikací

  • 📊 Připraveno pro výzkum – Ideální pro vědecké analytické procesy

  • Paralelní zpracování – Škálovatelné podle počtu jader vašeho procesoru (Chloros+)

Požadavky

Požadavek
Podrobnosti

Chloros nainstalován

Windows: Instalační program pro stolní počítače; Linux: balíček .deb

Operační systém

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

Python

Python 3.7 nebo vyšší

Paměť

Minimálně 8 GB RAM (doporučeno 16 GB)

Internet

Vyžadováno pro aktivaci licence

circle-exclamation

Rychlý start

Instalace

Instalace přes pip:

circle-info

První nastavení: Před použitím SDK aktivujte licenci Chloros+ otevřením Chloros, Chloros (prohlížeč) nebo Chloros CLI a přihlášením se pomocí svých přihlašovacích údajů. Toto je třeba provést pouze jednou. V Linux (bez grafického rozhraní) použijte: chloros-cli login user@example.com 'password'

Základní použití

Zpracujte složku pomocí několika řádků:

circle-info

Cesty napříč platformami: Příklady kódu na této stránce používají cesty ve stylu Windows (např. C:\\DroneImages\\Flight001). V systému Linux použijte místo toho cesty ve stylu Linux (např. /home/user/drone_images/flight001 nebo ~/drone_images/flight001). SDK funguje na obou platformách stejně.

Plná kontrola

Pro pokročilé pracovní postupy:


Průvodce instalací

Předpoklady

Před instalací SDK se ujistěte, že máte:

  1. nainstalovaný Chloros — Windows: Instalační program pro stolní počítače (stáhnout); Linux: balíček .deb (Instalace)

  2. Python 3.7+ nainstalováno (python.orgarrow-up-right)

  3. Aktivní licence Chloros+ (upgradearrow-up-right)

Instalace přes pip

Standardní instalace:

S podporou sledování průběhu:

Vývojová instalace:

Ověření instalace

Ověřte, zda je SDK nainstalován správně:


První nastavení

Aktivace licence

SDK používá stejnou licenci jako Chloros, Chloros (prohlížeč) a Chloros CLI. Aktivujte jednou prostřednictvím grafického uživatelského rozhraní nebo CLI:Windows:OtevřeteChloros nebo Chloros (prohlížeč) a přihlaste se na kartě Uživatel nebo použijte CLI.Linux: Použijte CLI (GUI není k dispozici):

Licence je uložena v lokální mezipaměti a zůstává zachována i po restartu.

circle-check
circle-info

Odhlášení: Uživatelé SDK mohou programově vymazat uložené přihlašovací údaje pomocí metody logout(). Viz metoda logout() v referenční příručce API.

Test připojení

Ověřte, zda se SDK může připojit k Chloros:


Referenční příručka API

Třída ChlorosLocal

Hlavní třída pro lokální zpracování obrazu Chloros.

Konstruktor

Parametry:

Parametr
Typ
Výchozí hodnota
Popis

api_url

str

"http://localhost:5000"

URL lokálního backendu Chloros

auto_start_backend

bool

True

Automaticky spustit backend v případě potřeby

backend_exe

str

None (automatická detekce)

Cesta ke spustitelnému souboru backendu

timeout

int

30

Časový limit požadavku v sekundách

backend_startup_timeout

int

60

Časový limit pro spuštění backendu (sekundy)

Příklady:

circle-info

Automatická detekce napříč platformami: SDK automaticky vyzkouší správnou cestu k backendu pro vaši 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


Metody

create_project(project_name, camera=None)

Vytvořte nový projekt Chloros.

Parametry:

Parametr
Typ
Povinné
Popis

project_name

str

Ano

Název projektu

camera

str

Ne

Šablona kamery (např. „Survey3N_RGN“, „Survey3W_OCN“)

Vrací: dict – Odpověď na vytvoření projektuPříklad:


import_images(folder_path, recursive=False)

Import obrázků ze složky.

Parametry:

Parametr
Typ
Povinný
Popis

folder_path

str/Path

Ano

Cesta ke složce s obrázky

recursive

bool

Ne

Prohledat podsložky (výchozí: False)

Vrací: dict - Výsledky importu s počtem souborůPříklad:


configure(**settings)

Nakonfigurujte nastavení zpracování.

Parametry:

Parametr
Typ
Výchozí hodnota
Popis

debayer

str

„Standard (rychlé, střední kvalita)“

Metoda debayeringu

vignette_correction

bool

True

Povolit korekci vinětace

reflectance_calibration

bool

True

Zapnout kalibraci odrazivosti

indices

list

None

Vegetace indexy k výpočtu

export_format

str

„TIFF (16-bit)“

Výstupní formát

ppk

bool

False

Povolit korekce PPK

custom_settings

dict

None

Pokročilá vlastní nastavení

Formáty exportu:

  • "TIFF (16-bit)" – Doporučeno pro GIS/fotogrammetrii

  • "TIFF (32-bit, Percent)" – Vědecká analýza

  • "PNG (8-bit)" – Vizuální kontrola

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

**Dostupné indexy:**NDVI, NDRE, GNDVI, OSAVI, CIG, EVI, SAVI, MSAVI, MTVI2 a další.Příklad:


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

Zpracujte obrázky projektu.

Parametry:

Parametr
Typ
Výchozí hodnota
Popis

mode

str

"parallel"

Režim zpracování: „parallel“ nebo „serial“

wait

bool

True

Čekání na dokončení

progress_callback

callable

None

Funkce zpětného volání pro průběh (progress, msg)

poll_interval

float

2.0

Interval dotazování na průběh (sekundy)

Vrací: dict – Výsledky zpracování

circle-exclamation

Příklad:


get_config()

Získá aktuální konfiguraci projektu.

Vrací: dict – Aktuální konfigurace projektuPříklad:


get_status()

Získá informace o stavu backendu včetně průběhu zpracování pro jednotlivá vlákna.

Vrací: dict – Stav backendu s následující strukturou:

Příklad:


shutdown_backend()

Ukončí backend (pokud byl spuštěn příkazem SDK).

Příklad:


logout()

Vymaže uložené přihlašovací údaje z mezipaměti lokálního systému.

Popis:

Programově se odhlásí odstraněním uložených přihlašovacích údajů. To je užitečné pro:

  • Přepínání mezi různými účty Chloros+

  • Vymazání přihlašovacích údajů v automatizovaných prostředích

  • bezpečnostní účely (např. odstranění přihlašovacích údajů před odinstalací)

Vrací: dict – výsledek operace odhlášeníPříklad:

circle-info

Vyžadováno opětovné ověření: Po volání logout() se musíte znovu přihlásit pomocí Chloros, Chloros (prohlížeč) nebo Chloros CLI před použitím SDK.


Pomocné funkce

process_folder(folder_path, **options)

Jednořádková pomocná funkce pro zpracování složky.

Parametry:

Parametr
Typ
Výchozí hodnota
Popis

folder_path

str/Path

Povinné

Cesta ke složce s obrázky

project_name

str

Automaticky generováno

Název projektu

camera

str

None

Šablona fotoaparátu

indices

seznam

["NDVI"]

Indexy pro výpočet

vignette_correction

bool

True

Povolit korekci vinětace

reflectance_calibration

bool

True

Zapnout kalibraci odrazivosti

export_format

str

"TIFF (16-bit)"

Výstupní formát

mode

str

"parallel"

Režim zpracování

progress_callback

callable

None

Zpětné volání průběhu

Vrací: dict - Výsledky zpracováníPříklad:


Podpora správce kontextu

SDK podporuje správce kontextu pro automatické uvolnění:


Kompletní příklady

circle-info

Uživatelé Linux: Všechny níže uvedené příklady používají cesty Windows. Nahraďte cesty C:\\... svými cestami Linux (např. /home/user/... nebo ~/...). Veškeré funkce SDK jsou na všech platformách identické.

Příklad 1: Základní zpracování

Zpracujte složku s výchozím nastavením:


Příklad 2: Vlastní pracovní postup

Plná kontrola nad zpracovatelským potrubím:


Příklad 3: Dávkové zpracování více složek

Zpracování více letových datových sad:


Příklad 4: Integrace do výzkumného procesu

Integrace Chloros do analýzy dat:


Příklad 5: Vlastní sledování průběhu

Pokročilé sledování průběhu s protokolováním:


Příklad 6: Zpracování chyb

Robustní zpracování chyb pro produkční použití:


Příklad 7: Správa účtů a odhlášení

Programové řízení přihlašovacích údajů:


Příklad 8: Nástroj příkazového řádku

Vytvořte vlastní nástroj CLI pomocí SDK:

Použití:


Zpracování výjimek

SDK poskytuje specifické třídy výjimek pro různé typy chyb:

Hierarchie výjimek

Příklady výjimek


Pokročilá témata

Vlastní konfigurace backendu

Použijte vlastní umístění nebo konfiguraci backendu:

Neblokující zpracování

Spusťte zpracování a pokračujte v dalších úkolech:

Správa paměti

U velkých datových sad zpracovávejte v dávkách:


Řešení problémů

Backend se nespustí

Problém: SDK se nedaří spustit backendŘešení:

  1. Ověřte, zda je nainstalován Chloros:

  1. Zkontrolujte firewall (Windows) nebo dostupnost portu (Linux: lsof -i :5000)

  2. Zkuste ruční zadání cesty k backendu:


Licence nebyla detekovánaProblém: SDK upozorňuje na chybějící licenciŘešení:

  1. Otevřete Chloros, Chloros (prohlížeč) nebo Chloros CLI a přihlaste se.

  2. Ověřte, zda je licence uložena v mezipaměti:

  1. Pokud máte problémy s přihlašovacími údaji, vymažte uložené přihlašovací údaje a přihlaste se znovu:

  1. Kontaktujte podporu: info@mapir.camera


Chyby importuProblém: ModuleNotFoundError: No module named 'chloros_sdk'Řešení:


Časový limit zpracováníProblém: Vypršel časový limit zpracováníŘešení:

  1. Zvyšte časový limit:

  1. Zpracovávejte menší dávky

  2. Zkontrolujte dostupné místo na disku

  3. Sledujte systémové zdroje


Port již používánProblém: Port 5000 na backendu je obsazenŘešení:

Nebo vyhledejte a ukončete konfliktní proces:


Tipy pro zvýšení výkonu

Optimalizace rychlosti zpracování

  1. Použijte paralelní režim (vyžaduje Chloros+)

  1. Snižte výstupní rozlišení (pokud je to přijatelné)

  1. Zakázat nepotřebné indexy

  1. Zpracovávat na SSD (ne na HDD)***

Optimalizace paměti

Pro velké datové sady:


Zpracování na pozadí

Uvolněte Python pro jiné úkoly:


Příklady integrace

Integrace s Django

Flask API

Jupyter Notebook


Často kladené otázky

Otázka: Vyžaduje SDK připojení k internetu?

Odpověď: Pouze pro počáteční aktivaci licence. Po přihlášení přes Chloros, Chloros (prohlížeč) nebo Chloros CLI se licence uloží do lokální mezipaměti a funguje offline po dobu 30 dnů.***

Otázka: Mohu použít SDK na serveru bez grafického rozhraní?Odpověď: Ano! SDK funguje bez grafického rozhraní na serverech Windows i Linux.Linux (doporučeno pro bezhlavý režim):

  • Instalace prostřednictvím balíčku .deb

  • Aktivace licence: chloros-cli login user@example.com 'password'

Server Windows:

  • Windows Server 2016 nebo novější

  • Nainstalován Chloros (jednorázově)

  • Licence aktivována pomocí CLI nebo na jakémkoli počítači


Otázka: Jaký je rozdíl mezi Desktop, CLI a SDK?

Funkce
Grafické rozhraní Desktop
Příkazový řádek CLI
Python SDK

Rozhraní

Myš a kliknutí

Příkazový řádek

Python API

Nejvhodnější pro

Vizuální práci

Skriptování

Integraci

Automatizace

Omezená

Dobrá

Vynikající

Flexibilita

Základní

Dobrá

Maximální

Licence

Chloros+

Chloros+

Chloros+

Otázka: Mohu distribuovat aplikace vytvořené pomocí SDK?Odpověď: Kód SDK lze integrovat do vašich aplikací, ale:

  • Koncoví uživatelé musí mít nainstalován Chloros

  • Koncoví uživatelé musí mít aktivní licence Chloros+

  • Komerční distribuce vyžaduje OEM licenci

V případě dotazů ohledně OEM se obraťte na info@mapir.camera.


Otázka: Jak aktualizuji SDK?


Otázka: Kam se ukládají zpracované obrázky?

Ve výchozím nastavení do cesty projektu:


Otázka: Mohu zpracovávat obrázky ze skriptů Python spouštěných podle plánu?Odpověď: Ano! Použijte plánovač operačního systému se skripty Python:

Windows: Naplánujte pomocí Plánovače úloh denní spuštění.Linux: Naplánujte pomocí cronu:


Otázka: Podporuje SDK async/await?Odpověď: Aktuální verze je synchronní. Pro asynchronní chování použijte wait=False nebo spusťte v samostatném vlákně:


Otázka: Jak přepínám mezi různými účty Chloros+?Odpověď: Použijte metodu logout() k vymazání uložených přihlašovacích údajů a poté se znovu přihlaste pomocí nového účtu:

Po odhlášení se ověřte pomocí nového účtu přes grafické rozhraní, prohlížeč nebo CLI, než znovu použijete SDK.


Získání pomoci

Dokumentace

  • API Reference: Tato stránka

Kanály podpory

Ukázkový kód

Všechny zde uvedené příklady jsou otestovány a připraveny k použití v produkčním prostředí. Zkopírujte je a přizpůsobte pro svůj případ použití.


SDK vyžaduje aktivní předplatné Chloros+. Neoprávněné použití, distribuce nebo úpravy jsou zakázány.

Last updated