API : Python SDK

Chloros Python SDK gir programmatisk tilgang til Chloros-bildebehandlingsmotoren, noe som muliggjør automatisering, tilpassede arbeidsflyter og sømløs integrering med dine Python-applikasjoner og forskningspipelines.

Viktige funksjoner

  • 🐍 Native Python – Ren, Pythonic API for bildebehandling

  • 🔧 Full API-tilgang – Full kontroll over Chloros-behandling

  • 🚀 Automatisering – Bygg tilpassede arbeidsflyter for batchbehandling

  • 🔗 Integrasjon – Integrer Chloros i eksisterende Python-applikasjoner

  • 📊 Klar for forskning – Perfekt for vitenskapelige analysepipelines

  • Parallellbehandling - Skalerer etter antall CPU-kjerner (Chloros+)

Krav

Krav
Detaljer

Chloros installert

Windows: Installasjonsprogram for skrivebordet; 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

Minne

Minst 8 GB RAM (16 GB anbefalt)

Internett

Nødvendig for lisensaktivering

circle-exclamation

Hurtigstart

Installasjon

Installer via pip:

circle-info

Første gangs oppsett: Før du bruker SDK, må du aktivere Chloros+-lisensen din ved å åpne Chloros, Chloros (nettleser) eller Chloros CLI og logg inn med påloggingsinformasjonen din. Dette trenger bare å gjøres én gang. På Linux (uten grafisk brukergrensesnitt), bruk: chloros-cli login user@example.com 'password'

Grunnleggende bruk

Behandle en mappe med bare noen få linjer:

circle-info

Plattformuavhengige baner: Kodeeksemplene på denne siden bruker baner i Windows-stil (f.eks. C:\\DroneImages\\Flight001). På Linux bør du i stedet bruke Linux-baner (f.eks. /home/user/drone_images/flight001 eller ~/drone_images/flight001). SDK fungerer identisk på begge plattformene.

Full kontroll

For avanserte arbeidsflyter:


Installasjonsveiledning

Forutsetninger

Før du installerer SDK, må du sørge for at du har:

  1. Chloros installert — Windows: Installasjonsprogram for skrivebordet (nedlasting); Linux: .deb-pakke (Linux Installasjon)

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

  3. Aktiv Chloros+ lisens (oppgraderingarrow-up-right)

Installer via pip

Standardinstallasjon:

Med støtte for fremdriftsovervåking:

Utviklingsinstallasjon:

Bekreft installasjon

Test at SDK er installert riktig:


Første gangs oppsett

Lisensaktivering

SDK bruker samme lisens som Chloros, Chloros (nettleser) og Chloros CLI. Aktiver én gang via GUI eller CLI:Windows:ÅpneChloros eller Chloros (Browser) og logg inn på , eller bruk CLI.Linux: Bruk CLI (ingen GUI tilgjengelig):

Lisensen lagres lokalt og beholdes ved omstart.

circle-check
circle-info

Logg ut: SDK-brukere kan programmatisk slette lagrede påloggingsopplysninger ved hjelp av logout()-metoden. Se logout()-metoden i API-referansen.

Test tilkobling

Kontroller at SDK kan koble seg til Chloros:


API-referanse

ChlorosLocal-klasse

Hovedklasse for lokal Chloros-bildebehandling.

Konstruktør

Parametere:

Parameter
Type
Standard
Beskrivelse

api_url

str

"http://localhost:5000"

URL for lokal Chloros-backend

auto_start_backend

bool

True

Start backend automatisk om nødvendig

backend_exe

str

None (auto-detect)

Sti til kjørbar backend-fil

timeout

int

30

Tidsavbrudd for forespørsel i sekunder

backend_startup_timeout

int

60

Tidsavbrudd for oppstart av backend (sekunder)

Eksempler:

circle-info

Plattformuavhengig automatisk gjenkjenning: SDK prøver automatisk den riktige bakendebanen for din plattform:

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

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

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


Metoder

create_project(project_name, camera=None)

Opprett et nytt Chloros-prosjekt.

Parametere:

Parameter
Type
Påkrevd
Beskrivelse

project_name

str

Ja

Navn på prosjektet

camera

str

Nei

Kameramal (f.eks. "Survey3N_RGN", «Survey3W_OCN»)

Returnerer: dict – Svar på opprettelse av prosjektEksempel:


import_images(folder_path, recursive=False)

Importer bilder fra en mappe.

Parametere:

Parameter
Type
Påkrevd
Beskrivelse

folder_path

str/Path

Ja

Sti til mappe med bilder

recursive

bool

Nei

Søk i undermapper (standard: False)

Returnerer: dict - Importresultater med antall filerEksempel:


configure(**settings)

Konfigurer behandlingsinnstillinger.

Parametere:

Parameter
Type
Standard
Beskrivelse

debayer

str

"Standard (Rask, Middels kvalitet)"

Debayer-metode

vignette_correction

bool

True

Aktiver vignettkorreksjon

reflectance_calibration

bool

True

Aktiver reflektanskalibrering

indices

list

None

Vegetasjonsindekser som skal beregnes

export_format

str

"TIFF (16-bit)"

Utdataformat

ppk

bool

False

Aktiver PPK-korreksjoner

custom_settings

dict

None

Avanserte tilpassede innstillinger

Eksportformater:

  • "TIFF (16-bit)" - Anbefalt for GIS/fotogrammetri

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

  • "PNG (8-bit)" - Visuell inspeksjon

  • "JPG (8-bit)" - Komprimert utdata

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


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

Behandle prosjektbildene.

Parametere:

Parameter
Type
Standard
Beskrivelse

mode

str

"parallel"

Behandlingsmodus: «parallel» eller «serial»

wait

bool

True

Vent på fullføring

progress_callback

callable

None

Tilbakekallingsfunksjon for fremdrift (progress, msg)

poll_interval

float

2.0

Pollingintervall for fremdrift (sekunder)

Returnerer: dict - Behandlingsresultater

circle-exclamation

Eksempel:


get_config()

Hent gjeldende prosjektkonfigurasjon.

Returnerer: dict - Gjeldende prosjektkonfigurasjonEksempel:


get_status()

Hent informasjon om backend-status, inkludert behandlingsfremdrift per tråd.

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

Eksempel:


shutdown_backend()

Avslutt backend (hvis startet av SDK).

Eksempel:


logout()

Tømmer bufret påloggingsinformasjon fra det lokale systemet.

Beskrivelse:

Logg ut programmatisk ved å fjerne bufret påloggingsinformasjon. Dette er nyttig for:

  • Å bytte mellom forskjellige Chloros+-kontoer

  • Å tømme påloggingsinformasjon i automatiserte miljøer

  • Sikkerhetsformål (f.eks. å fjerne påloggingsinformasjon før avinstallering)

Returnerer: dict - Resultat av utloggingsoperasjonenEksempel:

circle-info

Ny autentisering kreves: Etter å ha kalt logout(), må du logge inn på nytt via Chloros, Chloros (nettleser), eller Chloros CLI før du bruker SDK.


Praktiske funksjoner

process_folder(folder_path, **options)

Enkel funksjon for å behandle en mappe.

Parametere:

Parameter
Type
Standard
Beskrivelse

folder_path

str/Path

Obligatorisk

Sti til mappe med bilder

project_name

str

Autogenerert

Prosjektnavn

camera

str

None

Kameramal

indices

liste

["NDVI"]

Indekser å beregne

vignette_correction

bool

True

Aktiver vignettkorreksjon

reflectance_calibration

bool

True

Aktiver reflektanskalibrering

export_format

str

"TIFF (16-bit)"

Utdataformat

mode

str

"parallel"

Behandlingsmodus

progress_callback

callable

None

Tilbakekalling for fremdrift

Returnerer: dict - BehandlingsresultaterEksempel:


Støtte for kontekstbehandlere

SDK støtter kontekstbehandlere for automatisk opprydding:


Fullstendige eksempler

circle-info

Linux-brukere: Alle eksemplene nedenfor bruker Windows-baner. Erstatt C:\\...-baner med dine egne Linux-baner (f.eks. /home/user/... eller ~/...). All SDK-funksjonalitet er identisk på tvers av plattformer.

Eksempel 1: Grunnleggende behandling

Behandle en mappe med standardinnstillinger:


Eksempel 2: Tilpasset arbeidsflyt

Full kontroll over behandlingsrørledningen:


Eksempel 3: Batchbehandling av flere mapper

Behandle flere flydatasett:


Eksempel 4: Integrasjon i forskningsrørledning

Integrer Chloros med dataanalyse:


Eksempel 5: Tilpasset fremdriftsovervåking

Avansert fremdriftssporing med loggføring:


Eksempel 6: Feilhåndtering

Robust feilhåndtering for produksjonsbruk:


Eksempel 7: Kontoadministrasjon og utlogging

Administrer påloggingsinformasjon programmatisk:


Eksempel 8: Kommandolinjeverktøy

Bygg et tilpasset CLI-verktøy med SDK:

Bruk:


Unntakshåndtering

SDK tilbyr spesifikke unntaksklasser for ulike feiltyper:

Unntakshierarki

Eksempler på unntak


Avanserte emner

Tilpasset backend-konfigurasjon

Bruk en tilpasset backend-plassering eller -konfigurasjon:

Ikke-blokkerende behandling

Start behandlingen og fortsett med andre oppgaver:

Minnehåndtering

For store datasett, behandle i batcher:


Feilsøking

Backend starter ikke

Problem: SDK klarer ikke å starte backendLøsninger:

  1. Kontroller at Chloros er installert:

  1. Sjekk brannmur (Windows) eller porttilgjengelighet (Linux: lsof -i :5000)

  2. Prøv manuell bakgrunnssti:


Lisens ikke oppdagetProblem: SDK varsler om manglende lisensLøsninger:

  1. Åpne Chloros, Chloros (nettleser) eller Chloros CLI og logg inn.

  2. Kontroller at lisensen er lagret i hurtigbufferen:

  1. Hvis du opplever problemer med påloggingsinformasjon, tøm den lagrede påloggingsinformasjonen og logg inn på nytt:

  1. Kontakt support: info@mapir.camera


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


Tidsavbrudd i behandlingenProblem: Tidsavbrudd i behandlingenLøsninger:

  1. Øk tidsavbruddet:

  1. Behandle mindre batcher

  2. Sjekk ledig diskplass

  3. Overvåk systemressurser


Porten er allerede i brukProblem: Backend-port 5000 opptattLøsninger:

Eller finn og lukk prosessen som forårsaker konflikten:


Tips for ytelse

Optimaliser behandlingshastigheten

  1. Bruk parallellmodus (krever Chloros+)

  1. Reduser utskriftsoppløsningen (hvis akseptabelt)

  1. Deaktiver unødvendige indekser

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

Minneoptimalisering

For store datasett:


Bakgrunnsbehandling

Frigjør Python til andre oppgaver:


Integrasjonseksempler

Django-integrasjon

Flask API

Jupyter Notebook


FAQ

Spørsmål: Krever SDK en internettforbindelse?

Svar: Kun for den første lisensaktiveringen. Etter innlogging via Chloros, Chloros (nettleser) eller Chloros CLI, blir lisensen lagret lokalt og fungerer offline i 30 dager.***

Spørsmål: Kan jeg bruke SDK på en server uten grafisk brukergrensesnitt?Svar: Ja! SDK fungerer uten grafisk brukergrensesnitt på både Windows- og Linux-servere.Linux (anbefalt for bruk uten grafisk brukergrensesnitt):

  • Installer via .deb-pakken

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

Windows-server:

  • Windows Server 2016 eller nyere

  • Chloros installert (engangs)

  • Lisens aktivert via CLI eller på en hvilken som helst maskin


Spørsmål: Hva er forskjellen mellom Desktop, CLI og SDK?

Funksjon
Desktop GUI
CLI Kommandolinje
Python SDK

Grensesnitt

Pek-og-klikk

Kommando

Python API

Best egnet for

Visuelt arbeid

Skripting

Integrasjon

Automatisering

Begrenset

God

Utmerket

Fleksibilitet

Grunnleggende

God

Maksimal

Lisens

Chloros+

Chloros+

Chloros+

Spørsmål: Kan jeg distribuere apper bygget med SDK?Svar: SDK-kode kan integreres i applikasjonene dine, men:

  • Sluttbrukere må ha Chloros installert

  • Sluttbrukere må ha aktive Chloros+-lisenser

  • Kommersiell distribusjon krever OEM-lisensiering

Kontakt info@mapir.camera for spørsmål om OEM.


Spørsmål: Hvordan oppdaterer jeg SDK?


Spørsmål: Hvor lagres behandlede bilder?

Som standard i prosjektbanen:


Spørsmål: Kan jeg behandle bilder fra Python-skript som kjører etter en tidsplan?Svar: Ja! Bruk operativsystemets tidsplanlegger med Python-skript:

Windows: Planlegg via Oppgaveplanlegger for daglig kjøring.Linux: Planlegg via cron:


Spørsmål: Støtter SDK async/await?Svar: Den nåværende versjonen er synkron. For asynkron oppførsel, bruk wait=False eller kjør i en egen tråd:


Spørsmål: Hvordan bytter jeg mellom forskjellige Chloros+-kontoer?Svar: Bruk metoden logout() for å tømme bufret påloggingsinformasjon, og logg deretter på igjen med den nye kontoen:

Etter utlogging må du autentisere deg med den nye kontoen via GUI, nettleser eller CLI før du bruker SDK igjen.


Få hjelp

Dokumentasjon

  • API-referanse: Denne siden

Supportkanaler

Eksempelkode

Alle eksemplene som er oppført her, er testet og klare for produksjon. Kopier og tilpass dem til ditt bruksområde.


SDK krever et aktivt Chloros+-abonnement. Uautorisert bruk, distribusjon eller modifisering er forbudt.

Sist oppdatert