API : Python SDK

Az Chloros Python SDK programozási hozzáférést biztosít az Chloros képfeldolgozó motorhoz, lehetővé téve az automatizálást, az egyedi munkafolyamatokat és a zökkenőmentes integrációt az Python alkalmazásokkal és kutatási folyamatokkal.

Főbb jellemzők

  • 🐍 Natív Python - Tiszta, Pythonic API a képfeldolgozáshoz

  • 🔧 Teljes API hozzáférés - Teljes ellenőrzés az Chloros feldolgozás felett

  • 🚀 Automatizálás - Egyedi kötegelt feldolgozási munkafolyamatok létrehozása

  • 🔗 Integráció - Az Chloros beágyazása meglévő Python alkalmazásokba

  • 📊 Kutatásra kész - Tökéletes tudományos elemzési folyamatokhoz

  • Párhuzamos feldolgozás - A CPU magok számához igazodik (Chloros+)

Követelmények

Követelmény
Részletek

Chloros telepítve

Windows: Asztali telepítő; Linux: .deb csomag

Operációs rendszer

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

Python

Python 3.7 vagy újabb

Memória

Legalább 8 GB RAM (16 GB ajánlott)

Internet

Szükséges a licenc aktiválásához

circle-exclamation

Gyors indítás

Telepítés

Telepítés pip segítségével:

circle-info

Első beállítás: Az SDK használata előtt aktiválja az Chloros+ licencét az Chloros, Chloros (böngésző) vagy az Chloros CLI alkalmazást, és jelentkezzen be a hitelesítő adataival. Ezt csak egyszer kell elvégeznie. Az Linux (GUI nélkül) alkalmazásban használja a következő parancsot: chloros-cli login user@example.com 'password'

Alapvető használat

Feldolgozzon egy mappát néhány sorral:

circle-info

Platformok közötti elérési utak: Az ezen az oldalon található kódpéldák Windows stílusú elérési utakat használnak (pl. C:\\DroneImages\\Flight001). Linux esetén használjon inkább Linux útvonalakat (pl. /home/user/drone_images/flight001 vagy ~/drone_images/flight001). Az SDK mindkét platformon azonos módon működik.

Teljes vezérlés

Haladó munkafolyamatokhoz:


Telepítési útmutató

Előfeltételek

Az SDK telepítése előtt győződjön meg arról, hogy rendelkezik a következőkkel:

  1. Chloros telepítve — Windows: Asztali telepítő (letöltés); Linux: .deb csomag (Linux telepítés)

  2. Python 3.7+ telepítve (python.orgarrow-up-right)

  3. Aktív Chloros+ licenc (frissítésarrow-up-right)

Telepítés pip segítségével

Normál telepítés:

Haladásfigyelés támogatással:

Fejlesztői telepítés:

A telepítés ellenőrzése

Ellenőrizze, hogy az SDK megfelelően van-e telepítve:


Első beállítás

Licenc aktiválása

Az SDK ugyanazt a licencet használja, mint az Chloros, az Chloros (böngésző) és az Chloros CLI. Aktiválja egyszer a grafikus felhasználói felületen vagy az CLI segítségével:Windows:Nyissa meg azChloros vagy az Chloros (böngésző) alkalmazást, és jelentkezzen be a Felhasználó fülön, vagy használja az CLI-et.Linux: Használja az CLI-et (GUI nem elérhető):

A licencet a rendszer helyileg tárolja, és az újraindítás után is megmarad.

circle-check
circle-info

Kijelentkezés: Az SDK felhasználók programozási úton törölhetik a gyorsítótárban tárolt hitelesítő adatokat az logout() metódus használatával. Lásd a logout() metódust az API Referenciában.

Kapcsolat tesztelése

Ellenőrizze, hogy az SDK képes-e csatlakozni az Chloros-hez:


API referencia

ChlorosLocal osztály

A helyi Chloros képfeldolgozás fő osztálya.

Konstruktor

Paraméterek:

Paraméter
Típus
Alapértelmezett
Leírás

api_url

str

"http://localhost:5000"

URL a helyi Chloros háttérprogramhoz

auto_start_backend

bool

True

A háttérprogram automatikus indítása, ha szükséges

backend_exe

str

None (automatikus felismerés)

A háttérprogram végrehajtható fájljának elérési útja

timeout

int

30

Kérés időtúllépése másodpercben

backend_startup_timeout

int

60

A háttérprogram indításának időtúllépése (másodperc)

Példák:

circle-info

Platformok közötti automatikus felismerés: Az SDK automatikusan megpróbálja a platformodhoz megfelelő háttérprogram elérési útját:

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

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

  • Linux (manuális): /opt/mapir/chloros/backend/chloros-backend


Módszerek

create_project(project_name, camera=None)

Hozzon létre egy új Chloros projektet.

Paraméterek:

Paraméter
Típus
Szükséges
Leírás

project_name

str

Igen

A projekt neve

camera

str

Nem

Kamera sablon (pl. „Survey3N_RGN”, „Survey3W_OCN”)

Visszatérési érték: dict - Projekt létrehozási válaszPélda:


import_images(folder_path, recursive=False)

Képek importálása egy mappából.

Paraméterek:

Paraméter
Típus
Szükséges
Leírás

folder_path

str/Path

Igen

A képeket tartalmazó mappa elérési útja

recursive

bool

Nem

Almappák keresése (alapértelmezett: False)

Visszatérési érték: dict - Importálási eredmények a fájlok számávalPélda:


configure(**settings)

A feldolgozási beállítások konfigurálása.

Paraméterek:

Paraméter
Típus
Alapértelmezett
Leírás

debayer

str

"Standard (Gyors, Közepes minőség)"

Debayer módszer

vignette_correction

bool

True

Vignettakorrekció engedélyezése

reflectance_calibration

bool

True

Reflektancia-kalibrálás engedélyezése

indices

lista

None

Számítandó vegetációs indexek

export_format

str

"TIFF (16-bit)"

Kimeneti formátum

ppk

bool

False

PPK-korrekciók engedélyezése

custom_settings

dict

None

Speciális egyéni beállítások

Exportformátumok:

  • "TIFF (16-bit)" - Ajánlott GIS/fotogrammetria esetén

  • "TIFF (32-bit, Percent)" - Tudományos elemzés

  • "PNG (8-bit)" - Vizuális ellenőrzés

  • "JPG (8-bit)" - Tömörített kimenet

**Elérhető indexek:**NDVI, NDRE, GNDVI, OSAVI, CIG, EVI, SAVI, MSAVI, MTVI2 és még sok más.Példa:


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

Feldolgozza a projekt képeit.

Paraméterek:

Paraméter
Típus
Alapértelmezett
Leírás

mode

str

"parallel"

Feldolgozási mód: „parallel” vagy „serial”

wait

bool

True

Várjon a befejezésre

progress_callback

callable

None

Haladás visszahívási függvény (progress, msg)

poll_interval

float

2.0

Haladás lekérdezési intervalluma (másodperc)

Visszatérési érték: dict - Feldolgozási eredmények

circle-exclamation

Példa:


get_config()

A jelenlegi projektkonfiguráció lekérése.

Visszatérési érték: dict - Jelenlegi projektkonfigurációPélda:


get_status()

A háttérállapot információinak lekérése, beleértve a szálankénti feldolgozás előrehaladását.

Visszatérési érték: dict - A háttér állapota a következő szerkezetben:

Példa:


shutdown_backend()

A háttérprogram leállítása (ha az SDK parancs indította el).

Példa:


logout()

A gyorsítótárban tárolt hitelesítő adatok törlése a helyi rendszerből.

Leírás:

Programozási úton jelentkezik ki a gyorsítótárban tárolt hitelesítő adatok eltávolításával. Ez a következő esetekben hasznos:

  • Különböző Chloros+ fiókok közötti váltás

  • Hitelesítő adatok törlése automatizált környezetekben

  • Biztonsági célok (pl. a hitelesítő adatok eltávolítása az eltávolítás előtt)

Visszatérési érték: dict - A kijelentkezési művelet eredményePélda:

circle-info

Újra hitelesítés szükséges: Az logout() hívása után újra be kell jelentkeznie az Chloros, Chloros (böngésző) vagy az Chloros CLI parancsot, mielőtt az SDK parancsot használná.


Kényelmi funkciók

process_folder(folder_path, **options)

Egy soros kényelmi funkció egy mappa feldolgozásához.

Paraméterek:

Paraméter
Típus
Alapértelmezett
Leírás

folder_path

str/Path

Kötelező

A képeket tartalmazó mappa elérési útja

project_name

str

Automatikusan generált

Projekt neve

camera

str

None

Kamera sablon

indices

list

["NDVI"]

Számítandó indexek

vignette_correction

bool

True

Vignettakorrekció engedélyezése

reflectance_calibration

bool

True

Reflektancia-kalibrálás engedélyezése

export_format

str

"TIFF (16-bit)"

Kimeneti formátum

mode

str

"parallel"

Feldolgozási mód

progress_callback

hívható

None

Haladás visszahívás

Visszatérési érték: dict - Feldolgozási eredményekPélda:


Kontextuskezelő támogatás

Az SDK támogatja a kontextuskezelőket az automatikus tisztításhoz:


Teljes példák

circle-info

Linux felhasználók: Az alábbi példák mindegyike Windows útvonalakat használ. Cserélje ki az C:\\... útvonalakat a saját Linux útvonalaira (pl. /home/user/... vagy ~/...). Az SDK összes funkciója minden platformon azonos.

1. példa: Alapvető feldolgozás

Mappa feldolgozása alapértelmezett beállításokkal:


2. példa: Egyéni munkafolyamat

Teljes ellenőrzés a feldolgozási folyamat felett:


3. példa: Több mappa kötegelt feldolgozása

Több repülési adatkészlet feldolgozása:


4. példa: Kutatási folyamat integrálása

Az Chloros integrálása az adatelemzéssel:


5. példa: Egyéni előrehaladás-figyelés

Fejlett előrehaladás-követés naplózással:


6. példa: Hiba kezelése

Robusztus hiba kezelés termelési használatra:


7. példa: Fiókkezelés és kijelentkezés

A hitelesítő adatok programozási úton történő kezelése:


8. példa: Parancssori eszköz

Egyéni CLI eszköz létrehozása az SDK segítségével:

Használat:


Kivételkezelés

Az SDK különféle hiba típusokhoz specifikus kivételosztályokat biztosít:

Kivételhierarchia

Kivételpéldák


Haladó témák

Egyéni háttérkonfiguráció

Egyéni háttérhely vagy konfiguráció használata:

Nem blokkoló feldolgozás

Indítsa el a feldolgozást, és folytassa más feladatokkal:

Memóriakezelés

Nagy adathalmazok esetén kötegenként dolgozza fel az adatokat:


Hibaelhárítás

A háttérprogram nem indul el

Probléma: Az SDK nem tudja elindítani a háttérprogramotMegoldások:

  1. Ellenőrizze, hogy az Chloros telepítve van-e:

  1. Ellenőrizze a tűzfalat (Windows) vagy a port elérhetőségét (Linux: lsof -i :5000)

  2. Próbálja meg a háttér elérési útját manuálisan:


Licenc nem észlelveProbléma: Az SDK figyelmeztet a hiányzó licencreMegoldások:

  1. Nyissa meg az Chloros, Chloros (böngésző) vagy Chloros CLI alkalmazást, és jelentkezzen be.

  2. Ellenőrizze, hogy a licenc tárolva van-e:

  1. Ha hitelesítési problémák merülnek fel, törölje a gyorsítótárban tárolt hitelesítő adatokat, és jelentkezzen be újra:

  1. Vegye fel a kapcsolatot az ügyfélszolgálattal: info@mapir.camera


Importálási hibákProbléma: ModuleNotFoundError: No module named 'chloros_sdk'Megoldások:


Feldolgozási időtúllépésProbléma: A feldolgozás időtúllépéseMegoldások:

  1. Növelje az időtúllépést:

  1. Feldolgozzon kisebb adagokat

  2. Ellenőrizze a rendelkezésre álló lemezterületet

  3. Figyelje a rendszer erőforrásait


A port már használatban vanProbléma: A 5000-es háttérport foglaltMegoldások:

Vagy keresse meg és zárja be az ütköző folyamatot:


Teljesítményre vonatkozó tippek

A feldolgozási sebesség optimalizálása

  1. Párhuzamos mód használata (Chloros+ verzió szükséges)

  1. A kimeneti felbontás csökkentése (ha elfogadható)

  1. Kapcsolja ki a felesleges indexeket

  1. Feldolgozás SSD-n (nem HDD-n)***

Memóriaoptimalizálás

Nagy adathalmazok esetén:


Háttérfeldolgozás

Felszabadítsa az Python-et más feladatokhoz:


Integrációs példák

Django integráció

Flask API

Jupyter Notebook


GYIK

K: Az SDK internetkapcsolatot igényel?

V: Csak az első licencaktiváláshoz. Miután bejelentkezett az Chloros, Chloros (böngésző) vagy Chloros CLI segítségével, a licencet a rendszer helyileg tárolja, és 30 napig offline módban is működik.***

K: Használhatom az SDK-et GUI nélküli szerveren?V: Igen! Az SDK headless módban működik mind az Windows, mind az Linux szervereken.Linux (headless használatra ajánlott):

  • Telepítés az .deb csomag segítségével

  • Licenc aktiválása: chloros-cli login user@example.com 'password'

Windows szerver:

  • Windows Server 2016 vagy újabb

  • Chloros telepítve (egyszeri)

  • Licenc aktiválása az CLI segítségével vagy bármely gépen


K: Mi a különbség a Desktop, az CLI és az SDK között?

Funkció
Desktop GUI
CLI Parancssor
Python SDK

Felület

Pont-kattintás

Parancssor

Python API

Legalkalmasabb

Vizuális munka

Szkriptelés

Integráció

Automatizálás

Korlátozott

Kiváló

Rugalmasság

Alapvető

Maximális

Licenc

Chloros+

Chloros+

Chloros+

K: Terjeszthetem az SDK-szel készített alkalmazásokat?V: Az SDK kód integrálható az Ön alkalmazásaiba, de:

  • A végfelhasználóknak telepítve kell lennie az Chloros-nek

  • A végfelhasználóknak aktív Chloros+ licenccel kell rendelkezniük

  • A kereskedelmi terjesztéshez OEM-licenc szükséges

OEM-megkeresésekkel kapcsolatban vegye fel a kapcsolatot az info@mapir.camera-szel.


K: Hogyan frissíthetem az SDK-et?


K: Hová kerülnek a feldolgozott képek?

Alapértelmezés szerint a projekt útvonalába:


K: Feldolgozhatok képeket az ütemezés szerint futó Python szkriptekből?V: Igen! Használja az operációs rendszer ütemezőjét az Python szkriptekkel:

Windows: Ütemezze a Feladatütemezőn keresztül napi futtatásra.Linux: Ütemezze cron segítségével:


K: Támogatja-e az SDK az async/await funkciót?V: A jelenlegi verzió szinkron. Aszinkron viselkedéshez használja az wait=False-et, vagy futtassa külön szálban:


K: Hogyan válthatok a különböző Chloros+ fiókok között?V: Használja az logout() metódust a gyorsítótárban tárolt hitelesítő adatok törléséhez, majd jelentkezzen be újra az új fiókkal:

A kijelentkezés után hitelesítse magát az új fiókkal a grafikus felhasználói felületen, böngészőben vagy az CLI segítségével, mielőtt újra használná az SDK-et.


Segítség

Dokumentáció

  • API Referencia: Ez az oldal

Támogatási csatornák

Példakód

Az itt felsorolt összes példa tesztelt és termeléskész. Másolja át és igazítsa saját felhasználási esetéhez.


Az SDK használatához aktív Chloros+ előfizetés szükséges. A jogosulatlan használat, terjesztés vagy módosítás tilos.

Last updated