API: Python SDK

Chloros Python SDK suteikia programinę prieigą prie Chloros vaizdų apdorojimo variklio, leidžiančio automatizuoti, kurti individualizuotus darbo srautus ir sklandžiai integruoti su jūsų Python programomis bei tyrimų procesais.

Pagrindinės savybės

  • 🐍 Native Python – Švarus, Python stiliaus API vaizdų apdorojimui

  • 🔧 Visiška prieiga prie API – Visiška kontrolė apdorojant Chloros

  • 🚀 Automatizavimas – kurkite pasirinktinius paketinio apdorojimo darbo srautus

  • 🔗 Integracija – įterpkite Chloros į esamas Python programas

  • 📊 Paruošta tyrimams – puikiai tinka mokslinės analizės procesams

  • Lygiagretus apdorojimas – pritaikoma pagal jūsų procesoriaus branduolių skaičių (Chloros+)

Reikalavimai

Reikalavimas
Išsami informacija

Įdiegta Chloros

Windows: darbalaukio diegimo programa; Linux: .deb paketas

Operacinė sistema

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

Python

Python 3.7 ar naujesnė versija

Atmintis

Mažiausiai 8 GB RAM (rekomenduojama 16 GB)

Internetas

Reikalingas licencijos aktyvavimui

circle-exclamation

Greitasis pradžios vadovas

Įdiegimas

Įdiekite per pip:

circle-info

Pirminis nustatymas: Prieš naudodami SDK, aktyvuokite savo Chloros+ licenciją atidarydami Chloros, Chloros (naršyklė) arba Chloros CLI ir prisijungdami su savo prisijungimo duomenimis. Tai reikia padaryti tik vieną kartą. Linux (be GUI) naudokite: chloros-cli login user@example.com 'password'

Pagrindinis naudojimas

Aplanką apdorokite vos keliomis eilutėmis:

circle-info

Kelių platformų keliai: Šioje puslapyje pateikti kodo pavyzdžiai naudoja Windows stiliaus kelius (pvz., C:\\DroneImages\\Flight001). Linux naudokite Linux kelius (pvz., /home/user/drone_images/flight001 arba ~/drone_images/flight001). SDK veikia vienodai abiejose platformose.

Visiškas valdymas

Išplėstiniams darbo srautams:


Įdiegimo vadovas

Būtinos sąlygos

Prieš diegdami SDK, įsitikinkite, kad turite:

  1. Įdiegta Chloros — Windows: darbalaukio diegimo programa (atsisiųsti); Linux: .deb paketas (Linux įdiegimas)

  2. Python 3.7+ įdiegta (python.orgarrow-up-right)

  3. Veikianti Chloros+ licencija (atnaujinimasarrow-up-right)

Įdiegti per pip

Standartinis įdiegimas:

Su pažangos stebėjimo palaikymu:

Diegimas kūrimo tikslais:

Diegimo patikrinimas

Patikrinkite, ar SDK yra įdiegtas teisingai:


Pirminis nustatymas

Licencijos aktyvavimas

SDK naudoja tą pačią licenciją kaip Chloros, Chloros (naršyklė) ir Chloros CLI. Aktyvuokite vieną kartą per GUI arba CLI:Windows:AtidarykiteChloros arba Chloros (naršyklė) ir prisijunkite vartotojo skirtuką arba naudokite CLI.Linux: Naudokite CLI (GUI nėra):

Licencija yra išsaugoma vietiniame atminties talpykloje ir išlieka po kompiuterio perkrovimo.

circle-check
circle-info

Atsijungimas: SDK vartotojai gali programiškai išvalyti išsaugotus prisijungimo duomenis naudodami logout() metodą. Žr. logout() metodą API žinyne.

Ryšio patikrinimas

Patikrinkite, ar SDK gali prisijungti prie Chloros:


API nuoroda

Klasė „ChlorosLocal“

Pagrindinė klasė, skirta vietiniam Chloros vaizdų apdorojimui.

Konstruktorius

Parametrai:

Parametras
Tipas
Numatytasis
Aprašymas

api_url

str

"http://localhost:5000"

URL vietinio Chloros užpakalinio modulio

auto_start_backend

bool

True

Automatiškai paleisti backend, jei reikia

backend_exe

str

None (automatinis aptikimas)

Kelias į backend vykdomąjį failą

timeout

int

30

Užklausos laiko limitas sekundėmis

backend_startup_timeout

int

60

Backend paleidimo laiko limitas (sekundėmis)

Pavyzdžiai:

circle-info

Automatinis platformų nustatymas: SDK automatiškai bando rasti jūsų platformai tinkamą backend kelią:

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

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

  • Linux (rankinis): /opt/mapir/chloros/backend/chloros-backend


Metodai

create_project(project_name, camera=None)

Sukurti naują Chloros projektą.

Parametrai:

Parametras
Tipas
Privalomas
Aprašymas

project_name

str

Taip

Projekto pavadinimas

camera

str

Ne

Kameros šablonas (pvz., „Survey3N_RGN“, „Survey3W_OCN“)

Grąžina: dict – Atsakymas dėl projekto sukūrimoPavyzdys:


import_images(folder_path, recursive=False)

Importuoti vaizdus iš aplanko.

Parametrai:

Parametras
Tipas
Privalomas
Aprašymas

folder_path

str/Path

Taip

Kelias į aplanką su vaizdais

recursive

bool

Ne

Ieškoti pakatalogiuose (numatyta: False)

Grąžina: dict - Importo rezultatai su failų skaičiumiPavyzdys:


configure(**settings)

Konfigūruoti apdorojimo nustatymus.

Parametrai:

Parametras
Tipas
Numatytasis
Aprašymas

debayer

str

„Standartinis (greitas, vidutinė kokybė)“

Debayerio metodas

vignette_correction

bool

True

Įjungti vinjetės korekciją

reflectance_calibration

bool

True

Įjungti atspindžio kalibravimą

indices

list

None

Apskaičiuotini augmenijos indeksai

export_format

str

„TIFF (16 bitų)“

Išvesties formatas

ppk

bool

False

Įjungti PPK korekcijas

custom_settings

dict

None

Išplėstiniai pasirinktiniai nustatymai

Eksporto formatai:

  • "TIFF (16-bit)" – Rekomenduojama GIS/fotogrametrijai

  • "TIFF (32-bit, Percent)" – Mokslinė analizė

  • "PNG (8-bit)" – Vizualinis patikrinimas

  • "JPG (8-bit)" – Suspaustas išvesties failas

**Galimi indeksai:**NDVI, NDRE, GNDVI, OSAVI, CIG, EVI, SAVI, MSAVI, MTVI2 ir kt.Pavyzdys:


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

Apdorokite projekto vaizdus.

Parametrai:

Parametras
Tipas
Numatytasis
Aprašymas

mode

str

"parallel"

Apdorojimo režimas: „parallel“ arba „serial“

wait

bool

True

Laukti užbaigimo

progress_callback

callable

None

Pažangos atgalinio skambučio funkcija (progress, msg)

poll_interval

float

2.0

Pažangos tikrinimo intervalas (sekundės)

Grąžina: dict - Apdorojimo rezultatai

circle-exclamation

Pavyzdys:


get_config()

Gauti dabartinę projekto konfigūraciją.

Grąžina: dict - Dabartinė projekto konfigūracijaPavyzdys:


get_status()

Gauti užkulisinės sistemos būsenos informaciją, įskaitant apdorojimo pažangą pagal kiekvieną srautą.

Grąžina: dict - Užkulisinės sistemos būsena su tokia struktūra:

Pavyzdys:


shutdown_backend()

Uždaryti backendą (jei paleistas naudojant SDK).

Pavyzdys:


logout()

Išvalykite išsaugotus prisijungimo duomenis iš vietinės sistemos.

Aprašymas:

Programiškai atsijungia pašalinant išsaugotus autentifikavimo duomenis. Tai naudinga:

  • Perjungiant tarp skirtingų Chloros+ paskyrų

  • Autentifikavimo duomenų išvalymui automatizuotose aplinkose

  • Saugumo tikslais (pvz., pašalinant autentifikavimo duomenis prieš išdiegimą)

Grąžina: dict - Atsijungimo operacijos rezultatasPavyzdys:

circle-info

Reikalingas pakartotinis autentifikavimas: Po logout() iškvietimo turite vėl prisijungti per Chloros, Chloros (naršyklė) arba Chloros CLI, prieš naudodami SDK.


Patogios funkcijos

process_folder(folder_path, **options)

Vienos eilutės patogi funkcija, skirta apdoroti aplanką.

Parametrai:

Parametras
Tipas
Numatytasis
Aprašymas

folder_path

str/Path

Privaloma

Kelias į aplanką su vaizdais

project_name

str

Automatiškai sugeneruota

Projekto pavadinimas

camera

str

None

Kameros šablonas

indices

sąrašas

["NDVI"]

Skaičiuotini indeksai

vignette_correction

bool

True

Įjungti vinjetės korekciją

reflectance_calibration

bool

True

Įjungti atspindžio kalibravimą

export_format

str

"TIFF (16 bitų)"

Išvesties formatas

mode

str

"parallel"

Apdorojimo režimas

progress_callback

iškviečiamas

None

Pažangos atgalinis skambutis

Grąžina: dict - Apdorojimo rezultataiPavyzdys:


Konteksto tvarkyklės palaikymas

SDK palaiko konteksto tvarkytuvus automatiniam valymui:


Išsamūs pavyzdžiai

circle-info

Linux vartotojai: Visuose žemiau pateiktuose pavyzdžiuose naudojami Windows keliai. Pakeiskite C:\\... kelius savo Linux keliais (pvz., /home/user/... arba ~/...). Visos SDK funkcijos yra identiškos visose platformose.

1 pavyzdys: Pagrindinis apdorojimas

Aplanko apdorojimas naudojant numatytuosius nustatymus:


2 pavyzdys: Pasirinktinis darbo srautas

Visiška apdorojimo proceso kontrolė:


3 pavyzdys: Keleto aplankų apdorojimas partijomis

Apdorokite keletą skrydžių duomenų rinkinių:


4 pavyzdys: Integracija į tyrimų procesą

Chloros integravimas su duomenų analize:


5 pavyzdys: Individualus pažangos stebėjimas

Išplėstinis pažangos stebėjimas su registravimu:


6 pavyzdys: Klaidų tvarkymas

Patikimas klaidų tvarkymas gamybiniam naudojimui:


7 pavyzdys: Paskyros valdymas ir išsiregistravimas

Valdykite prisijungimo duomenis programiškai:


8 pavyzdys: Komandinės eilutės įrankis

Sukurkite pasirinktinį CLI įrankį naudodami SDK:

Naudojimas:


Išimčių tvarkymas

SDK teikia konkrečias išimčių klases skirtingiems klaidų tipams:

Išimčių hierarchija

Išimčių pavyzdžiai


Išplėstinės temos

Pasirinktinė užkulisio konfigūracija

Naudokite pasirinktinę užkulisio vietą arba konfigūraciją:

Neužblokuojantis apdorojimas

Pradėkite apdorojimą ir tęskite kitas užduotis:

Atminties valdymas

Didelės apimties duomenų rinkiniams apdorokite partijomis:


Trikčių šalinimas

Backend nepaleidžiamas

Problema: SDK nepavyksta paleisti backendSprendimai:

  1. Patikrinkite, ar įdiegtas Chloros:

  1. Patikrinkite ugniasienę (Windows) arba prievado prieinamumą (Linux: lsof -i :5000)

  2. Išbandykite rankinį užpakalinės dalies kelią:


Licencija nerastaProblema: SDK įspėja apie trūkstamą licencijąSprendimai:

  1. Atidarykite Chloros, Chloros (naršyklė) arba Chloros CLI ir prisijunkite.

  2. Patikrinkite, ar licencija yra išsaugota talpykloje:

  1. Jei kyla problemų su prisijungimo duomenimis, išvalykite talpykloje išsaugotus prisijungimo duomenis ir prisijunkite iš naujo:

  1. Susisiekite su pagalbos tarnyba: info@mapir.camera


Importo klaidosProblema: ModuleNotFoundError: No module named 'chloros_sdk'Sprendimai:


Apdorojimo laiko limitasProblema: Pasibaigė apdorojimo laiko limitasSprendimai:

  1. Padidinkite laiko limitą:

  1. Apdorokite mažesnes partijas

  2. Patikrinkite laisvą disko vietą

  3. Stebėkite sistemos išteklius


Prievadas jau naudojamasProblema: Užimtas vidinis prievadas 5000Sprendimai:

Arba suraskite ir uždarykite konfliktuojantį procesą:


Našumo patarimai

Optimizuokite apdorojimo greitį

  1. Naudokite lygiagretaus režimo funkciją (reikia Chloros+)

  1. Sumažinkite išvesties skiriamąją gebą (jei tai priimtina)

  1. Išjunkite nereikalingus indeksus

  1. Apdorokite SSD (ne HDD)***

Atminties optimizavimas

Didelėms duomenų bazėms:


Fono apdorojimas

Atlaisvinkite Python kitoms užduotims:


Integracijos pavyzdžiai

Django integracija

Flask API

Jupyter Notebook


DUK

K: Ar SDK reikalauja interneto ryšio?

A: Tik pradiniam licencijos aktyvavimui. Prisijungus per Chloros, Chloros (naršyklė) arba Chloros CLI, licencija išsaugoma vietiniame atminties talpykloje ir veikia neprisijungus prie interneto 30 dienų.***

K: Ar galiu naudoti SDK serveryje be GUI?A: Taip! SDK veikia be grafinės sąsajos tiek Windows, tiek Linux serveriuose.Linux (rekomenduojama be grafinės sąsajos):

  • Įdiekite per .deb paketą

  • Aktyvuokite licenciją: chloros-cli login user@example.com 'password'

Windows serveris:

  • Windows Server 2016 ar naujesnė versija

  • Įdiegta Chloros (vienkartinis)

  • Licencija aktyvuota per CLI arba bet kuriame kompiuteryje


K: Koks skirtumas tarp „Desktop“, CLI ir SDK?

Funkcija
„Desktop“ GUI
CLI Komandinė eilutė
Python SDK

Sąsaja

Spustelėk ir spausk

Komandos

Python API

Tinkamiausia

Vizualus darbas

Skriptavimas

Integracija

Automatizavimas

Ribotas

Geras

Puikus

Lankstumas

Bazinis

Geras

Maksimalus

Licencija

Chloros+

Chloros+

Chloros+

K: Ar galiu platinti programas, sukurtas naudojant SDK?A: SDK kodą galima integruoti į jūsų programas, tačiau:

  • Galutiniams vartotojams reikia įdiegti Chloros

  • Galutiniams vartotojams reikia aktyvių Chloros+ licencijų

  • Komerciniam platinimui reikalinga OEM licencija

Dėl OEM klausimų kreipkitės į info@mapir.camera.


K: Kaip atnaujinti SDK?


K: Kur išsaugomi apdoroti vaizdai?

Pagal numatytuosius nustatymus – projekto kelyje:


K: Ar galiu apdoroti vaizdus iš Python scenarijų, vykdomų pagal tvarkaraštį?A: Taip! Naudokite savo operacinės sistemos tvarkaraščio planavimo priemonę su Python scenarijais:

Windows: Nustatykite tvarkaraštį per užduočių planavimo programą, kad skriptas būtų vykdomas kasdien.Linux: Nustatykite tvarkaraštį per cron:


K: Ar SDK palaiko async/await?A: Dabartinė versija yra sinchroninė. Norėdami naudoti asinchroninį elgesį, naudokite wait=False arba paleiskite atskirame sraute:


K: Kaip perjungti skirtingas Chloros+ paskyras?A: Naudokite logout() metodą, kad išvalytumėte išsaugotus prisijungimo duomenis, tada prisijunkite iš naujo su nauja paskyra:

Atsijungę, prieš vėl naudodami SDK, prisijunkite prie naujos paskyros per GUI, naršyklę arba CLI.


Pagalba

Dokumentacija

  • API nuoroda: Ši puslapis

Pagalbos kanalai

Pavyzdinis kodas

Visi čia pateikti pavyzdžiai yra išbandyti ir paruošti naudoti. Kopijuokite juos ir pritaikykite savo poreikiams.


LicencijaNuosavybinė programinė įranga – Autorinės teisės (c) 2025 MAPIR Inc.

SDK reikalauja aktyvios Chloros+ prenumeratos. Neleidžiama naudoti, platinti ar keisti be leidimo.

Last updated