API : Python SDK

Chloros Python SDK ger programmatisk åtkomst till bildbehandlingsmotorn Chloros, vilket möjliggör automatisering, anpassade arbetsflöden och sömlös integration med dina Python-applikationer och forskningspipelines.

Viktiga funktioner

  • 🐍 Native Python – Ren, Pythonic API för bildbehandling

  • 🔧 Fullständig API-åtkomst – Fullständig kontroll över Chloros-bearbetning

  • 🚀 Automatisering – Skapa anpassade arbetsflöden för batchbearbetning

  • 🔗 Integration – Bädda in Chloros i befintliga Python-applikationer

  • 📊 Forskningsklar – Perfekt för vetenskapliga analyspipelines

  • Parallellbearbetning – Skalar efter dina CPU-kärnor (Chloros+)

Krav

Krav
Detaljer

Chloros installerat

Windows: Installationsprogram för stationära datorer; Linux: .deb-paket

Operativsystem

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

Python

Python 3.7 eller högre

Minne

Minst 8 GB RAM (16 GB rekommenderas)

Internet

Krävs för licensaktivering

circle-exclamation

Snabbstart

Installation

Installera via pip:

circle-info

Första inställningen: Innan du använder SDK, aktivera din Chloros+-licens genom att öppna Chloros, Chloros (webbläsare) eller Chloros CLI och logga in med dina inloggningsuppgifter. Detta behöver endast göras en gång. På Linux (utan GUI), använd: chloros-cli login user@example.com 'password'

Grundläggande användning

Bearbeta en mapp med bara några rader:

circle-info

Plattformsoberoende sökvägar: Kodexemplen på denna sida använder sökvägar i stil med Windows (t.ex. C:\\DroneImages\\Flight001). På Linux använder du istället Linux-sökvägar (t.ex. /home/user/drone_images/flight001 eller ~/drone_images/flight001). SDK fungerar på samma sätt på båda plattformarna.

Full kontroll

För avancerade arbetsflöden:


Installationsguide

Förutsättningar

Innan du installerar SDK, se till att du har:

  1. Chloros installerat — Windows: Installationsprogram för skrivbordet (nedladdning); Linux: .deb-paket (Linux Installation)

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

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

Installera via pip

Standardinstallation:

Med stöd för övervakning av installationsförloppet:

Utvecklingsinstallation:

Verifiera installationen

Testa att SDK är korrekt installerat:


Första inställningen

Licensaktivering

SDK använder samma licens som Chloros, Chloros (webbläsare) och Chloros CLI. Aktivera en gång via GUI eller CLI:Windows:ÖppnaChloros eller Chloros (webbläsare) och logga in på fliken Användare eller använd CLI.Linux: Använd CLI (inget GUI tillgängligt):

Licensen cachelagras lokalt och kvarstår vid omstart.

circle-check
circle-info

Utloggning: SDK-användare kan programmatiskt rensa cachade inloggningsuppgifter med hjälp av metoden logout(). Se logout()-metoden i API-referensen.

Testa anslutningen

Kontrollera att SDK kan ansluta till Chloros:


API-referens

Klassen ChlorosLocal

Huvudklass för lokal bildbehandling med Chloros.

Konstruktor

Parametrar:

Parameter
Typ
Standardvärde
Beskrivning

api_url

str

"http://localhost:5000"

URL för lokal Chloros-backend

auto_start_backend

bool

True

Starta backend automatiskt vid behov

backend_exe

str

None (auto-detect)

Sökväg till backend-körbar fil

timeout

int

30

Timeout för begäran i sekunder

backend_startup_timeout

int

60

Timeout för start av backend (sekunder)

Exempel:

circle-info

Plattformsoberoende automatisk detektering: SDK försöker automatiskt hitta rätt backend-sökväg för 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)

Skapa ett nytt Chloros-projekt.

Parametrar:

Parameter
Typ
Obligatorisk
Beskrivning

project_name

str

Ja

Namn på projektet

camera

str

Nej

Kameramall (t.ex. "Survey3N_RGN", "Survey3W_OCN")

Returnerar: dict - Svar på projektskapandeExempel:


import_images(folder_path, recursive=False)

Importera bilder från en mapp.

Parametrar:

Parameter
Typ
Obligatorisk
Beskrivning

folder_path

str/Path

Ja

Sökväg till mapp med bilder

recursive

bool

Nej

Sök i undermappar (standard: False)

Returnerar: dict - Importresultat med antal filerExempel:


configure(**settings)

Konfigurera bearbetningsinställningar.

Parametrar:

Parameter
Typ
Standard
Beskrivning

debayer

str

"Standard (Snabb, medelhög kvalitet)"

Debayer-metod

vignette_correction

bool

True

Aktivera vignettkorrigering

reflectance_calibration

bool

True

Aktivera reflektanskalibrering

indices

list

None

Vegetationsindex att beräkna

export_format

str

"TIFF (16-bit)"

Utdataformat

ppk

bool

False

Aktivera PPK-korrigeringar

custom_settings

dict

None

Avancerade anpassade inställningar

Exportformat:

  • "TIFF (16-bit)" - Rekommenderas för GIS/fotogrammetri

  • "TIFF (32-bit, Percent)" - Vetenskaplig analys

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

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

**Tillgängliga index:**NDVI, NDRE, GNDVI, OSAVI, CIG, EVI, SAVI, MSAVI, MTVI2 och fler.Exempel:


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

Bearbeta projektbilderna.

Parametrar:

Parameter
Typ
Standardvärde
Beskrivning

mode

str

"parallel"

Bearbetningsläge: "parallel" eller "serial"

wait

bool

True

Vänta på slutförande

progress_callback

callable

None

Återkopplingsfunktion för framsteg (progress, msg)

poll_interval

float

2.0

Pollingintervall för framsteg (sekunder)

Returnerar: dict - Bearbetningsresultat

circle-exclamation

Exempel:


get_config()

Hämta aktuell projektkonfiguration.

Returnerar: dict - Aktuell projektkonfigurationExempel:


get_status()

Hämta statusinformation för backend, inklusive bearbetningsförlopp per tråd.

Returnerar: dict - Backend-status med följande struktur:

Exempel:


shutdown_backend()

Stäng av backend (om den startats av SDK).

Exempel:


logout()

Rensa cachade autentiseringsuppgifter från det lokala systemet.

Beskrivning:

Loggar ut programmatiskt genom att ta bort cachade autentiseringsuppgifter. Detta är användbart för:

  • Att växla mellan olika Chloros+-konton

  • Att rensa autentiseringsuppgifter i automatiserade miljöer

  • Säkerhetsändamål (t.ex. att ta bort autentiseringsuppgifter före avinstallation)

Returvärde: dict – Resultat av utloggningsoperationenExempel:

circle-info

Omautentisering krävs: Efter att ha anropat logout() måste du logga in igen via Chloros, Chloros (webbläsare) eller Chloros CLI innan du använder SDK.


Bekvämlighetsfunktioner

process_folder(folder_path, **options)

Enradig bekvämlighetsfunktion för att bearbeta en mapp.

Parametrar:

Parameter
Typ
Standard
Beskrivning

folder_path

str/Path

Obligatorisk

Sökväg till mapp med bilder

project_name

str

Autogenererad

Projektnamn

camera

str

None

Kameramall

indices

lista

["NDVI"]

Index att beräkna

vignette_correction

bool

True

Aktivera vignettkorrigering

reflectance_calibration

bool

True

Aktivera reflektanskalibrering

export_format

str

"TIFF (16-bit)"

Utdataformat

mode

str

"parallel"

Bearbetningsläge

progress_callback

callable

None

Återkoppling om framsteg

Returnerar: dict - BearbetningsresultatExempel:


Stöd för kontextmanager

SDK stöder kontextmanagers för automatisk rensning:


Kompletta exempel

circle-info

Linux-användare: Alla exempel nedan använder Windows-sökvägar. Ersätt C:\\...-sökvägar med dina Linux-sökvägar (t.ex. /home/user/... eller ~/...). Alla SDK-funktioner är identiska på alla plattformar.

Exempel 1: Grundläggande bearbetning

Bearbeta en mapp med standardinställningar:


Exempel 2: Anpassad arbetsflöde

Full kontroll över bearbetningspipeline:


Exempel 3: Batchbearbetning av flera mappar

Bearbeta flera flygdatauppsättningar:


Exempel 4: Integration i forskningspipeline

Integrera Chloros med dataanalys:


Exempel 5: Anpassad förloppsövervakning

Avancerad förloppsövervakning med loggning:


Exempel 6: Felhantering

Robust felhantering för produktionsanvändning:


Exempel 7: Kontohantering och utloggning

Hantera inloggningsuppgifter programmatiskt:


Exempel 8: Kommandoradsverktyg

Skapa ett anpassat CLI-verktyg med SDK:

Användning:


Hantering av undantag

SDK tillhandahåller specifika undantagsklasser för olika felkategorier:

Undantagshierarki

Exempel på undantag


Avancerade ämnen

Anpassad backend-konfiguration

Använd en anpassad backend-plats eller konfiguration:

Icke-blockerande bearbetning

Starta bearbetningen och fortsätt med andra uppgifter:

Minneshantering

För stora datamängder, bearbeta i batcher:


Felsökning

Backend startar inte

Problem: SDK kan inte starta backendLösningar:

  1. Kontrollera att Chloros är installerat:

  1. Kontrollera brandväggen (Windows) eller porttillgängligheten (Linux: lsof -i :5000)

  2. Prova manuell backend-sökväg:


Licens upptäcktes inteProblem: SDK varnar om saknad licensLösningar:

  1. Öppna Chloros, Chloros (webbläsare) eller Chloros CLI och logga in.

  2. Kontrollera att licensen finns i cacheminnet:

  1. Om du har problem med inloggningsuppgifterna, rensa cacheminnet för inloggningsuppgifter och logga in på nytt:

  1. Kontakta supporten: info@mapir.camera


ImportfelProblem: ModuleNotFoundError: No module named 'chloros_sdk'Lösningar:


Tidsgräns för bearbetningProblem: Tidsgränsen för bearbetning har löpt utLösningar:

  1. Öka tidsgränsen:

  1. Bearbeta mindre batcher

  2. Kontrollera tillgängligt diskutrymme

  3. Övervaka systemresurser


Porten används redanProblem: Backend-port 5000 upptagenLösningar:

Eller hitta och stäng den process som orsakar konflikten:


Prestandatips

Optimera bearbetningshastigheten

  1. Använd parallellt läge (kräver Chloros+)

  1. Minska utskriftsupplösningen (om det är acceptabelt)

  1. Inaktivera onödiga index

  1. Bearbeta på SSD (inte HDD)***

Minneoptimering

För stora datamängder:


Bakgrundsbehandling

Frigör Python för andra uppgifter:


Integrations exempel

Django-integration

Flask API

Jupyter Notebook


Vanliga frågor

F: Kräver SDK en internetanslutning?

S: Endast för den första licensaktiveringen. Efter inloggning via Chloros, Chloros (webbläsare) eller Chloros CLI sparas licensen lokalt och fungerar offline i 30 dagar.***

F: Kan jag använda SDK på en server utan GUI?S: Ja! SDK fungerar utan grafiskt gränssnitt på både Windows- och Linux-servrar.Linux (rekommenderas för headless):

  • Installera via .deb-paketet

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

Windows-server:

  • Windows Server 2016 eller senare

  • Chloros installerat (engångsinstallation)

  • Licens aktiverad via CLI eller på valfri dator


F: Vad är skillnaden mellan Desktop, CLI och SDK?

Funktion
Desktop GUI
CLI Kommandorad
Python SDK

Gränssnitt

Pek-och-klicka

Kommando

Python API

Bäst för

Visuellt arbete

Skriptning

Integration

Automatisering

Begränsad

Bra

Utmärkt

Flexibilitet

Grundläggande

Bra

Maximal

Licens

Chloros+

Chloros+

Chloros+

F: Kan jag distribuera appar som är byggda med SDK?S: SDK-kod kan integreras i dina applikationer, men:

  • Slutanvändare måste ha Chloros installerat

  • Slutanvändare måste ha aktiva Chloros+-licenser

  • Kommersiell distribution kräver OEM-licensiering

Kontakta info@mapir.camera för frågor om OEM.


F: Hur uppdaterar jag SDK?


F: Var sparas bearbetade bilder?

Som standard i projektvägen:


F: Kan jag bearbeta bilder från Python-skript som körs enligt schema?S: Ja! Använd ditt operativsystems schemaläggare med Python-skript:

Windows: Schemalägg via Task Scheduler för att köras dagligen.Linux: Schemalägg via cron:


F: Stöder SDK async/await?S: Den nuvarande versionen är synkron. För asynkron funktion, använd wait=False eller kör i separat tråd:


F: Hur växlar jag mellan olika Chloros+-konton?S: Använd metoden logout() för att rensa cachade inloggningsuppgifter och logga sedan in igen med det nya kontot:

Efter utloggning, autentisera med det nya kontot via GUI, webbläsare eller CLI innan du använder SDK igen.


Få hjälp

Dokumentation

  • API-referens: Denna sida

Supportkanaler

Exempelkod

Alla exempel som listas här är testade och redo för produktion. Kopiera och anpassa dem efter ditt användningsfall.


SDK kräver ett aktivt Chloros+-abonnemang. Obehörig användning, distribution eller modifiering är förbjuden.

Last updated