API : Python SDK

Chloros Python SDK giver programmatisk adgang til Chloros-billedbehandlingsmotoren, hvilket muliggør automatisering, tilpassede arbejdsgange og problemfri integration med dine Python-applikationer og forskningspipelines.

Nøglefunktioner

  • 🐍 Native Python - Ren, Pythonic API til billedbehandling

  • 🔧 Fuld API-adgang - Fuld kontrol over Chloros-behandlingen

  • 🚀 Automatisering - Opbyg brugerdefinerede arbejdsgange til batchbehandling

  • 🔗 Integration - Integrer Chloros i eksisterende Python-applikationer

  • 📊 Klar til forskning - Perfekt til videnskabelige analysepipelines

  • Parallel behandling - Skalerer efter dine CPU-kerner (Chloros+)

Krav

Krav
Detaljer

Chloros installeret

Windows: Desktop-installationsprogram; Linux: .deb-pakke

Operativsystem

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

Python

Python 3.7 eller nyere

Hukommelse

Minimum 8 GB RAM (16 GB anbefales)

Internet

Kræves til aktivering af licens

circle-exclamation

Hurtigstart

Installation

Installer via pip:

circle-info

Første opsætning: Før du bruger SDK, skal du aktivere din Chloros+-licens ved at åbne Chloros, Chloros (Browser) eller Chloros CLI og logge ind med dine loginoplysninger. Dette behøver kun at gøres én gang. På Linux (ingen GUI) skal du bruge: chloros-cli login user@example.com 'password'

Grundlæggende brug

Behandl en mappe med blot et par linjer:

circle-info

Platformsuafhængige stier: Kodeeksemplerne på denne side bruger stier i stil med Windows (f.eks. C:\\DroneImages\\Flight001). På Linux skal du i stedet bruge Linux-stier (f.eks. /home/user/drone_images/flight001 eller ~/drone_images/flight001). SDK fungerer på samme måde på begge platforme.

Fuld kontrol

Til avancerede arbejdsgange:


Installationsvejledning

Forudsætninger

Før du installerer SDK, skal du sikre dig, at du har:

  1. Chloros installeret — Windows: Desktop-installationsprogram (download); Linux: .deb-pakke (Linux Installation)

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

  3. Aktiv Chloros+-licens (opgraderingarrow-up-right)

Installation via pip

Standardinstallation:

Med understøttelse af fremskridtsovervågning:

Udviklingsinstallation:

Bekræft installation

Test, at SDK er installeret korrekt:


Første opsætning

Licensaktivering

SDK bruger den samme licens som Chloros, Chloros (Browser) og Chloros CLI. Aktivér én gang via GUI'en eller CLI:Windows:ÅbnChloros eller Chloros (Browser) og log ind på fanen Bruger eller brug CLI.Linux: Brug CLI (ingen GUI tilgængelig):

Licensen gemmes lokalt og bevares ved genstart.

circle-check
circle-info

Logout: SDK-brugere kan programmatisk rydde cachelagrede legitimationsoplysninger ved hjælp af logout()-metoden. Se logout()-metoden i API-referencen.

Test forbindelse

Kontroller, at SDK kan oprette forbindelse til Chloros:


API-reference

ChlorosLocal-klasse

Hovedklasse til lokal Chloros-billedbehandling.

Konstruktor

Parametre:

Parameter
Type
Standard
Beskrivelse

api_url

str

"http://localhost:5000"

URL for lokal Chloros-backend

auto_start_backend

bool

True

Start backend automatisk, hvis nødvendigt

backend_exe

str

None (auto-detect)

Sti til backend-eksekverbar fil

timeout

int

30

Anmodningstimeout i sekunder

backend_startup_timeout

int

60

Timeout for opstart af backend (sekunder)

Eksempler:

circle-info

Automatisk platformdetektering: SDK prøver automatisk den korrekte backend-sti til din platform:

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

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

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


Metoder

create_project(project_name, camera=None)

Opret et nyt Chloros-projekt.

Parametre:

Parameter
Type
Påkrævet
Beskrivelse

project_name

str

Ja

Navn på projektet

camera

str

Nej

Kameraskabelon (f.eks. "Survey3N_RGN", "Survey3W_OCN")

Returnerer: dict - Svar på oprettelse af projektEksempel:


import_images(folder_path, recursive=False)

Importer billeder fra en mappe.

Parametre:

Parameter
Type
Påkrævet
Beskrivelse

folder_path

str/Path

Ja

Sti til mappe med billeder

recursive

bool

Nej

Søg i undermapper (standard: False)

Returnerer: dict - Importerede resultater med antal filerEksempel:


configure(**settings)

Konfigurer behandlingsindstillinger.

Parametre:

Parameter
Type
Standard
Beskrivelse

debayer

str

"Standard (Hurtig, Medium kvalitet)"

Debayer-metode

vignette_correction

bool

True

Aktiver vignetteringskorrektion

reflectance_calibration

bool

True

Aktiver reflektanskalibrering

indices

liste

None

Vegetationsindekser, der skal beregnes

export_format

str

"TIFF (16-bit)"

Outputformat

ppk

bool

False

Aktiver PPK-korrektioner

custom_settings

dict

None

Avancerede brugerdefinerede indstillinger

Eksportformater:

  • "TIFF (16-bit)" - Anbefales til GIS/fotogrammetri

  • "TIFF (32-bit, Percent)" - Videnskabelig analyse

  • "PNG (8-bit)" - Visuel inspektion

  • "JPG (8-bit)" - Komprimeret output

**Tilgængelige indekser:**NDVI, NDRE, GNDVI, OSAVI, CIG, EVI, SAVI, MSAVI, MTVI2 og flere.Eksempel:


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

Behandl projektbillederne.

Parametre:

Parameter
Type
Standard
Beskrivelse

mode

str

"parallel"

Behandlingsmodus: "parallel" eller "seriel"

wait

bool

True

Vent på afslutning

progress_callback

callable

None

Tilbagemeldingsfunktion for fremskridt (progress, msg)

poll_interval

float

2.0

Afstemningsinterval for fremskridt (sekunder)

Returnerer: dict - Behandlingsresultater

circle-exclamation

Eksempel:


get_config()

Hent den aktuelle projektkonfiguration.

Returnerer: dict - Aktuel projektkonfigurationEksempel:


get_status()

Henter statusoplysninger om backend, herunder behandlingsstatus pr. tråd.

Returnerer: dict - Backend-status med følgende struktur:

Eksempel:


shutdown_backend()

Lukker backend (hvis startet af SDK).

Eksempel:


logout()

Rydder cachelagrede legitimationsoplysninger fra det lokale system.

Beskrivelse:

Logger ud programmatisk ved at fjerne cachelagrede legitimationsoplysninger. Dette er nyttigt til:

  • At skifte mellem forskellige Chloros+-konti

  • At rydde legitimationsoplysninger i automatiserede miljøer

  • Sikkerhedsformål (f.eks. fjernelse af legitimationsoplysninger før afinstallation)

Returnerer: dict - Resultat af logout-operationEksempel:

circle-info

Genautentificering påkrævet: Efter at have kaldt logout() skal du logge ind igen via Chloros, Chloros (Browser) eller Chloros CLI, før du bruger SDK.


Hjælpefunktioner

process_folder(folder_path, **options)

Enkel hjælpefunktion til at behandle en mappe.

Parametre:

Parameter
Type
Standard
Beskrivelse

folder_path

str/Path

Påkrævet

Sti til mappe med billeder

project_name

str

Genereres automatisk

Projektnavn

camera

str

None

Kameraskabelon

indices

liste

["NDVI"]

Indekser, der skal beregnes

vignette_correction

bool

True

Aktiver vignetteringskorrektion

reflectance_calibration

bool

True

Aktiver reflektanskalibrering

export_format

str

"TIFF (16-bit)"

Outputformat

mode

str

"parallel"

Behandlingsmodus

progress_callback

callable

None

Status-callback

Returnerer: dict - BehandlingsresultaterEksempel:


Understøttelse af konteksthåndtering

SDK understøtter konteksthåndtering til automatisk oprydning:


Komplette eksempler

circle-info

Linux-brugere: Alle eksempler nedenfor bruger Windows-stier. Erstat C:\\...-stier med dine Linux-stier (f.eks. /home/user/... eller ~/...). Alle SDK-funktioner er identiske på tværs af platforme.

Eksempel 1: Grundlæggende behandling

Behandl en mappe med standardindstillinger:


Eksempel 2: Tilpasset arbejdsgang

Fuld kontrol over behandlingspipeline:


Eksempel 3: Batchbehandling af flere mapper

Behandl flere flyvedatasæt:


Eksempel 4: Integration af forskningspipeline

Integrer Chloros med dataanalyse:


Eksempel 5: Tilpasset statusovervågning

Avanceret statusovervågning med logning:


Eksempel 6: Fejlhåndtering

Robust fejlhåndtering til produktionsbrug:


Eksempel 7: Kontoadministration og logout

Administrer legitimationsoplysninger programmatisk:


Eksempel 8: Kommandolinjeværktøj

Opret et brugerdefineret CLI-værktøj med SDK:

Anvendelse:


Håndtering af undtagelser

SDK indeholder specifikke undtagelsesklasser for forskellige fejltyper:

Undtagelseshierarki

Eksempler på undtagelser


Avancerede emner

Brugerdefineret backend-konfiguration

Brug en brugerdefineret backend-placering eller -konfiguration:

Ikke-blokerende behandling

Start behandlingen og fortsæt med andre opgaver:

Hukommelsesstyring

Ved store datasæt skal du behandle i batches:


Fejlfinding

Backend starter ikke

Problem: SDK kan ikke starte backendLøsninger:

  1. Kontroller, at Chloros er installeret:

  1. Kontroller firewall (Windows) eller porttilgængelighed (Linux: lsof -i :5000)

  2. Prøv manuel backend-sti:


Licens ikke fundetProblem: SDK advarer om manglende licensLøsninger:

  1. Åbn Chloros, Chloros (Browser) eller Chloros CLI og log ind.

  2. Kontroller, at licensen er gemt i cachen:

  1. Hvis du oplever problemer med legitimationsoplysningerne, skal du rydde de cachelagrede legitimationsoplysninger og logge ind igen:

  1. Kontakt support: info@mapir.camera


ImportfejlProblem: ModuleNotFoundError: No module named 'chloros_sdk'Løsninger:


Behandlings-timeoutProblem: Behandlingen går i timeoutLøsninger:

  1. Forøg timeout:

  1. Behandl mindre batcher

  2. Kontroller ledig diskplads

  3. Overvåg systemressourcer


Port allerede i brugProblem: Backend-port 5000 optagetLøsninger:

Eller find og luk den konfliktende proces:


Tips til ydeevne

Optimér behandlingshastigheden

  1. Brug parallel tilstand (kræver Chloros+)

  1. Reducer outputopløsningen (hvis det er acceptabelt)

  1. Deaktiver unødvendige indekser

  1. Behandl på SSD (ikke HDD)***

Hukommelsesoptimering

For store datasæt:


Baggrundsbehandling

Frigør Python til andre opgaver:


Integrationseksempler

Django-integration

Flask API

Jupyter Notebook


Ofte stillede spørgsmål

Spørgsmål: Kræver SDK en internetforbindelse?

Svar: Kun til den første aktivering af licensen. Efter at have logget ind via Chloros, Chloros (Browser) eller Chloros CLI gemmes licensen lokalt og fungerer offline i 30 dage.***

Spørgsmål: Kan jeg bruge SDK på en server uden GUI?Svar: Ja! SDK fungerer headless på både Windows- og Linux-servere.Linux (anbefales til headless):

  • Installer via .deb-pakken

  • Aktiver licens: chloros-cli login user@example.com 'password'

Windows-server:

  • Windows Server 2016 eller nyere

  • Chloros installeret (engangs)

  • Licens aktiveret via CLI eller på en hvilken som helst maskine


Spørgsmål: Hvad er forskellen mellem Desktop, CLI og SDK?

Funktion
Desktop GUI
CLI Kommandolinje
Python SDK

Grænseflade

Peg-og-klik

Kommando

Python API

Bedst egnet til

Visuelt arbejde

Scripting

Integration

Automatisering

Begrænset

God

Fremragende

Fleksibilitet

Grundlæggende

God

Maksimal

Licens

Chloros+

Chloros+

Chloros+

Spørgsmål: Kan jeg distribuere apps, der er bygget med SDK?Svar: SDK-kode kan integreres i dine applikationer, men:

  • Slutbrugere skal have Chloros installeret

  • Slutbrugere skal have aktive Chloros+-licenser

  • Kommerciel distribution kræver OEM-licens

Kontakt info@mapir.camera for spørgsmål vedrørende OEM.


Spørgsmål: Hvordan opdaterer jeg SDK?


Spørgsmål: Hvor gemmes de behandlede billeder?

Som standard i projektstien:


Spørgsmål: Kan jeg behandle billeder fra Python-scripts, der kører efter en tidsplan?Svar: Ja! Brug din OS-planlægger med Python-scripts:

Windows: Planlæg via Opgavestyring til at køre dagligt.Linux: Planlæg via cron:


Spørgsmål: Understøtter SDK async/await?Svar: Den aktuelle version er synkron. For asynkron adfærd skal du bruge wait=False eller køre i en separat tråd:


Spørgsmål: Hvordan skifter jeg mellem forskellige Chloros+-konti?Svar: Brug metoden logout() til at rydde cachelagrede legitimationsoplysninger, og log derefter ind igen med den nye konto:

Efter udlogning skal du godkende med den nye konto via GUI, browser eller CLI, før du bruger SDK igen.


Få hjælp

Dokumentation

  • API-reference: Denne side

Supportkanaler

Eksempelkode

Alle eksempler, der er angivet her, er testet og klar til brug. Kopier og tilpas dem til dit brugsscenarie.


SDK kræver et aktivt Chloros+-abonnement. Uautoriseret brug, distribution eller ændring er forbudt.

Last updated