API : Python SDK

Chloros Python SDK tarjoaa ohjelmointipohjaisen pääsyn Chloros-kuvankäsittelymoottoriin, mikä mahdollistaa automaation, mukautetut työnkulut ja saumattoman integroinnin Python-sovelluksiisi ja tutkimusprosesseihisi.

Tärkeimmät ominaisuudet

  • 🐍 Natiivi Python - Siisti, Python-tyylinen API kuvankäsittelyyn

  • 🔧 Täysi API-käyttöoikeus - Täydellinen hallinta Chloros-käsittelystä

  • 🚀 Automaatio – Rakenna mukautettuja eräprosessointityönkulkuja

  • 🔗 Integrointi – Upota Chloros olemassa oleviin Python-sovelluksiin

  • 📊 Tutkimusvalmis – Täydellinen tieteellisiin analyysiprosesseihin

  • Rinnakkaiskäsittely - Skaalautuu CPU-ytimiesi mukaan (Chloros+)

Vaatimukset

Vaatimus
Tiedot

Chloros asennettu

Windows: Työpöytäasennusohjelma; Linux: .deb-paketti

Käyttöjärjestelmä

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

Python

Python 3.7 tai uudempi

Muisti

Vähintään 8 Gt RAM-muistia (suositus 16 Gt)

Internet

Vaaditaan lisenssin aktivointia varten

circle-exclamation

Pikaopas

Asennus

Asenna pip:n kautta:

circle-info

Ensimmäinen asennus: Ennen kuin käytät SDK:ää, aktivoi Chloros+ -lisenssisi avaamalla Chloros, Chloros (Selain) tai Chloros CLI ja kirjautumalla sisään tunnuksillasi. Tämä tarvitsee tehdä vain kerran. Linux:ssä (ei graafista käyttöliittymää) käytä: chloros-cli login user@example.com 'password'

Peruskäyttö

Käsittele kansio vain muutamalla rivillä:

circle-info

Alustojen väliset polut: Tämän sivun koodiesimerkit käyttävät Windows-tyylisiä polkuja (esim. C:\\DroneImages\\Flight001). Käytä Linux:ssä sen sijaan Linux-polkuja (esim. /home/user/drone_images/flight001 tai ~/drone_images/flight001). SDK toimii identtisesti molemmilla alustoilla.

Täysi hallinta

Edistyneille työnkulkuille:


Asennusopas

Edellytykset

Ennen kuin asennat SDK:n, varmista, että sinulla on:

  1. Chloros asennettuna — Windows: Työpöytäasennusohjelma (lataa); Linux: .deb-paketti (Linux-asennus)

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

  3. Voimassa oleva Chloros+ lisenssi (päivitysarrow-up-right)

Asenna pip:n kautta

Vakiomuotoinen asennus:

Edistymisen seurannan tuella:

Kehitysasennus:

Varmista asennus

Testaa, että SDK on asennettu oikein:


Ensimmäinen asennus

Lisenssin aktivointi

SDK käyttää samaa lisenssiä kuin Chloros, Chloros (selain) ja Chloros CLI. Aktivoi kerran käyttöliittymän kautta tai CLI:Windows:AvaaChloros tai Chloros (selain) ja kirjaudu sisään -välilehdellä tai käytä CLI:ää.Linux: Käytä CLI:ää (käyttöliittymää ei ole saatavilla):

Lisenssi tallennetaan paikallisesti välimuistiin ja säilyy uudelleenkäynnistyksien jälkeen.

circle-check
circle-info

Uloskirjautuminen: SDK-käyttäjät voivat tyhjentää välimuistissa olevat tunnistetiedot ohjelmoimalla käyttämällä logout()-menetelmää. Katso logout()-menetelmä API-viitteessä.

Yhteyden testaaminen

Varmista, että SDK pystyy muodostamaan yhteyden Chloros:iin:


API-viite

ChlorosLocal-luokka

Pääluokka paikalliseen Chloros-kuvankäsittelyyn.

Konstruktori

Parametrit:

Parametri
Tyyppi
Oletusarvo
Kuvaus

api_url

str

"http://localhost:5000"

Paikallisen Chloros-taustaprosessin URL

auto_start_backend

bool

True

Käynnistä taustapalvelu automaattisesti tarvittaessa

backend_exe

str

None (auto-tunnistus)

Polku taustapalvelimen suoritustiedostoon

timeout

int

30

Pyynnön aikakatkaisu sekunteina

backend_startup_timeout

int

60

Taustapalvelimen käynnistymisen aikakatkaisu (sekuntia)

Esimerkkejä:

circle-info

Alustojen välinen automaattinen tunnistus: SDK kokeilee automaattisesti alustallesi sopivaa taustaprosessin polkua:

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

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

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


Menetelmät

create_project(project_name, camera=None)

Luo uusi Chloros-projekti.

Parametrit:

Parametri
Tyyppi
Pakollinen
Kuvaus

project_name

str

Kyllä

Projektin nimi

camera

str

Ei

Kameramalli (esim. "Survey3N_RGN", "Survey3W_OCN")

Palauttaa: dict - Projektin luomisen vastausEsimerkki:


import_images(folder_path, recursive=False)

Tuo kuvia kansiosta.

Parametrit:

Parametri
Tyyppi
Pakollinen
Kuvaus

folder_path

str/Path

Kyllä

Polku kuvia sisältävään kansioon

recursive

bool

Ei

Etsi alikansioista (oletus: False)

Palauttaa: dict - Tuontitulokset ja tiedostojen lukumääräEsimerkki:


configure(**settings)

Määritä käsittelyasetukset.

Parametrit:

Parametri
Tyyppi
Oletus
Kuvaus

debayer

str

"Standard (Fast, Medium Quality)"

Debayer-menetelmä

vignette_correction

bool

True

Ota vignettikorjaus käyttöön

reflectance_calibration

bool

True

Ota heijastavuuskalibrointi käyttöön

indices

list

None

Laskettavat kasvillisuusindeksit

export_format

str

"TIFF (16-bittinen)"

Tulostusmuoto

ppk

bool

False

Ota PPK-korjaukset käyttöön

custom_settings

dict

None

Edistyneet mukautetut asetukset

Vientimuodot:

  • "TIFF (16-bit)" - Suositellaan GIS/fotogrammetriaan

  • "TIFF (32-bit, Percent)" - Tieteellinen analyysi

  • "PNG (8-bit)" - Silmämääräinen tarkastus

  • "JPG (8-bit)" - Pakattu tulos

**Käytettävissä olevat indeksit:**NDVI, NDRE, GNDVI, OSAVI, CIG, EVI, SAVI, MSAVI, MTVI2 ja muut.Esimerkki:


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

Käsittele projektikuvia.

Parametrit:

Parametri
Tyyppi
Oletusarvo
Kuvaus

mode

str

"parallel"

Käsittelytila: "parallel" tai "serial"

wait

bool

True

Odota valmistumista

progress_callback

kutsuttava

None

Edistymisen takaisinsoittofunktio (progress, msg)

poll_interval

float

2.0

Edistymisen kyselyväli (sekuntia)

Palauttaa: dict - Käsittelyn tulokset

circle-exclamation

Esimerkki:


get_config()

Hae nykyinen projektin kokoonpano.

Palauttaa: dict - Nykyinen projektin kokoonpanoEsimerkki:


get_status()

Hakee taustapalvelimen tilatiedot, mukaan lukien kunkin säikeen käsittelyn etenemisen.

Palauttaa: dict - Backendin tila seuraavalla rakenteella:

Esimerkki:


shutdown_backend()

Sammuta backend (jos käynnistetty komennolla SDK).

Esimerkki:


logout()

Tyhjentää välimuistissa olevat tunnistetiedot paikallisesta järjestelmästä.

Kuvaus:

Kirjautuu ulos ohjelmoimalla poistamalla välimuistissa olevat tunnistetiedot. Tämä on hyödyllistä seuraavissa tilanteissa:

  • Vaihtaminen eri Chloros+-tilien välillä

  • Tunnistetietojen tyhjentäminen automatisoiduissa ympäristöissä

  • Turvallisuussyistä (esim. tunnistetietojen poistaminen ennen asennuksen poistamista)

Palauttaa: dict - Uloskirjautumisen tulosEsimerkki:

circle-info

Uudelleentodennus vaaditaan: Kun olet kutsunut logout()-funktiota, sinun on kirjauduttava uudelleen sisään Chloros-, Chloros (selain) tai Chloros CLI ennen kuin voit käyttää SDK-komentoa.


Aputoiminnot

process_folder(folder_path, **options)

Yhden rivin aputoiminto kansion käsittelyyn.

Parametrit:

Parametri
Tyyppi
Oletusarvo
Kuvaus

folder_path

str/Path

Pakollinen

Polku kuvia sisältävään kansioon

project_name

str

Luodaan automaattisesti

Projektin nimi

camera

str

None

Kameramalli

indices

list

["NDVI"]

Laskettavat indeksit

vignette_correction

bool

True

Ota vignettikorjaus käyttöön

reflectance_calibration

bool

True

Ota heijastavuuskalibrointi käyttöön

export_format

str

"TIFF (16-bittinen)"

Tulostusmuoto

mode

str

"parallel"

Käsittelytila

progress_callback

kutsuttava

None

Edistymiskutsun palautus

Palauttaa: dict - Käsittelyn tuloksetEsimerkki:


Kontekstinhallinnan tuki

SDK tukee kontekstinhallintaa automaattista puhdistusta varten:


Täydelliset esimerkit

circle-info

Linux-käyttäjät: Kaikissa alla olevissa esimerkeissä käytetään Windows-polkuja. Korvaa C:\\...-polut omilla Linux-poluillasi (esim. /home/user/... tai ~/...). Kaikki SDK-toiminnot ovat identtisiä kaikilla alustoilla.

Esimerkki 1: Peruskäsittely

Käsittele kansio oletusasetuksilla:


Esimerkki 2: Mukautettu työnkulku

Täysi hallinta käsittelyputkesta:


Esimerkki 3: Useiden kansioiden eräkäsittely

Käsittele useita lentodata-aineistoja:


Esimerkki 4: Tutkimusprosessin integrointi

Integroi Chloros data-analyysiin:


Esimerkki 5: Mukautettu edistymisen seuranta

Edistynyt edistymisen seuranta lokitiedostojen avulla:


Esimerkki 6: Virheiden käsittely

Vankka virheiden käsittely tuotantokäyttöön:


Esimerkki 7: Tilinhallinta ja uloskirjautuminen

Hallitse tunnistetietoja ohjelmoimalla:


Esimerkki 8: Komentorivityökalu

Rakenna mukautettu CLI-työkalu SDK:n avulla:

Käyttö:


Poikkeusten käsittely

SDK tarjoaa erityisiä poikkeusluokkia eri virhetyypeille:

Poikkeushierarkia

Poikkeusesimerkkejä


Edistyneitä aiheita

Mukautettu taustapalvelimen konfigurointi

Käytä mukautettua taustapalvelimen sijaintia tai konfiguraatiota:

Estämätön käsittely

Aloita käsittely ja jatka muiden tehtävien parissa:

Muistin hallinta

Suurten tietojoukkojen kohdalla käsittele erissä:


Vianmääritys

Taustapalvelu ei käynnisty

Ongelma: SDK ei onnistu käynnistämään taustapalveluaRatkaisut:

  1. Varmista, että Chloros on asennettu:

  1. Tarkista palomuuri (Windows) tai portin saatavuus (Linux: lsof -i :5000)

  2. Kokeile manuaalista taustapalvelimen polkua:


Lisenssiä ei tunnistettuOngelma: SDK varoittaa puuttuvasta lisenssistäRatkaisut:

  1. Avaa Chloros, Chloros (selain) tai Chloros CLI ja kirjaudu sisään.

  2. Varmista, että lisenssi on tallennettu välimuistiin:

  1. Jos sinulla on ongelmia tunnistetietojen kanssa, tyhjennä välimuistissa olevat tunnistetiedot ja kirjaudu uudelleen sisään:

  1. Ota yhteyttä tukeen: info@mapir.camera


TuontivirheetOngelma: ModuleNotFoundError: No module named 'chloros_sdk'Ratkaisut:


Käsittelyn aikakatkaisuOngelma: Käsittelyn aikakatkaisuRatkaisut:

  1. Pidentä aikakatkaisua:

  1. Käsittele pienempiä erä

  2. Tarkista käytettävissä oleva levytila

  3. Seuraa järjestelmän resursseja


Portti jo käytössäOngelma: Backend-portti 5000 varattuRatkaisut:

Tai etsi ja sulje ristiriitainen prosessi:


Suorituskykyvinkkejä

Optimoi käsittelynopeus

  1. Käytä rinnakkaistilaa (vaatii Chloros+)

  1. Pienennä tulostusresoluutiota (jos se on hyväksyttävää)

  1. Poista tarpeettomat indeksit käytöstä

  1. Käsittele SSD-levyllä (ei HDD-levyllä)***

Muistin optimointi

Suurille tietojoukoille:


Taustakäsittely

Vapauta Python muille tehtäville:


Integrointiesimerkkejä

Django-integraatio

Flask API

Jupyter Notebook


UKK

K: Tarvitseeko SDK internetyhteyden?

V: Vain lisenssin ensimmäisen aktivoinnin yhteydessä. Kun olet kirjautunut sisään Chloros:n, Chloros:n (selain) tai Chloros:n kautta, lisenssi tallennetaan paikallisesti välimuistiin ja toimii offline-tilassa 30 päivän ajan.***

K: Voinko käyttää SDK:ää palvelimella, jossa ei ole graafista käyttöliittymää?V: Kyllä! SDK toimii ilman näyttöä sekä Windows- että Linux-palvelimilla.Linux (suositellaan headless-käyttöön):

  • Asenna .deb-paketin kautta

  • Aktivoi lisenssi: chloros-cli login user@example.com 'password'

Windows-palvelin:

  • Windows-palvelin 2016 tai uudempi

  • Chloros asennettu (kertaluonteisesti)

  • Lisenssi aktivoitu CLI:n kautta tai millä tahansa koneella


K: Mitä eroa on Desktop-, CLI- ja SDK-versioilla?

Ominaisuus
Desktop-käyttöliittymä
CLI-komentorivi
Python SDK

Käyttöliittymä

Piste-klikkaus

Komento

Python API

Sopii parhaiten

Visuaaliseen työhön

Skriptaukseen

Integrointiin

Automaatio

Rajoitettu

Hyvä

Erinomainen

Joustavuus

Perustaso

Hyvä

Maksimi

Lisenssi

Chloros+

Chloros+

Chloros+

K: Voinko jakaa SDK:llä rakennettuja sovelluksia?V: SDK-koodi voidaan integroida sovelluksiisi, mutta:

  • Loppukäyttäjillä on oltava asennettuna Chloros

  • Loppukäyttäjillä on oltava voimassa olevat Chloros+-lisenssit

  • Kaupallinen jakelu edellyttää OEM-lisenssiä

Ota yhteyttä info@mapir.camera:ään OEM-kyselyissä.


K: Miten päivitän SDK:n?


K: Mihin käsitellyt kuvat tallennetaan?

Oletusarvoisesti projektipolkuun:


K: Voinko käsitellä kuvia aikataulun mukaisesti suoritettavista Python-skripteistä?V: Kyllä! Käytä käyttöjärjestelmän ajastinta Python-skripteihin:

Windows: Ajasta Tehtävien ajastimen kautta suoritettavaksi päivittäin.Linux: Ajasta cronin kautta:


K: Tukee SDK async/await-toimintoa?V: Nykyinen versio on synkroninen. Asynkronista toimintaa varten käytä wait=False-skriptiä tai suorita se erillisessä säikeessä:


K: Kuinka vaihdan eri Chloros+-tilien välillä?V: Käytä logout()-menetelmää tyhjentääksesi välimuistissa olevat tunnistetiedot ja kirjaudu sitten uudelleen uudella tilillä:

Kirjaudu ulos ja todenna uusi tili käyttöliittymän, selaimen tai CLI:n kautta ennen kuin käytät SDK:ää uudelleen.


Ohjeiden saaminen

Dokumentaatio

  • API-viite: Tämä sivu

Tukikanavat

Esimerkkikoodi

Kaikki tässä luetellut esimerkit on testattu ja ne ovat tuotantokäyttöön valmiita. Kopioi ja muokkaa niitä omaan käyttötarkoitukseesi sopiviksi.


SDK edellyttää voimassa olevaa Chloros+-tilausta. Luvaton käyttö, jakelu tai muokkaaminen on kielletty.

Last updated