API: Python SDK

De Chloros Python SDK biedt programmatische toegang tot de Chloros beeldverwerkingsengine, waardoor automatisering, aangepaste workflows en naadloze integratie met uw Python-toepassingen en onderzoekspijplijnen mogelijk worden.

Belangrijkste kenmerken

  • 🐍 Native Python - Schone, Pythonic API voor beeldverwerking

  • 🔧 Volledige API-toegang - Volledige controle over Chloros-verwerking

  • 🚀 Automatisering - Bouw aangepaste batchverwerkingsworkflows

  • 🔗 Integratie - Chloros integreren in bestaande Python-toepassingen

  • 📊 Klaar voor onderzoek - Perfect voor wetenschappelijke analysepijplijnen

  • Parallelle verwerking - Schaalbaar naar uw CPU-kernen (Chloros+)

Vereisten

Vereiste
Details

Chloros Desktop

Moet lokaal worden geïnstalleerd

Besturingssysteem

Windows 10/11 (64-bits)

Python

Python 3.7 of hoger

Geheugen

minimaal 8 GB RAM (16 GB aanbevolen)

Internet

vereist voor licentieactivering

circle-info

Licentievereiste: Voor Python SDK is een betaald Chloros+-abonnement vereist voor toegang tot API. Standaard (gratis) abonnementen hebben geen toegang tot API/SDK. Ga naar https://cloud.mapir.camera/pricingarrow-up-right om te upgraden.

Snel aan de slag

Installatie

Installeer via pip:

circle-info

Eerste installatie: Voordat u SDK gebruikt, moet u uw Chloros+-licentie activeren door Chloros, Chloros (browser) of Chloros CLI te openen en in te loggen met uw inloggegevens. Dit hoeft slechts eenmaal te worden gedaan.

Basisgebruik

Verwerk een map met slechts een paar regels:

Volledige controle

Voor geavanceerde workflows:


Installatiehandleiding

Vereisten

Voordat u SDK installeert, moet u ervoor zorgen dat u beschikt over:

  1. Chloros Desktop geïnstalleerd (download)

  2. Python 3.7+ geïnstalleerd (python.orgarrow-up-right)

  3. Actieve Chloros+-licentie (upgradearrow-up-right)

Installeren via pip

Standaardinstallatie:

Met ondersteuning voor voortgangsbewaking:

Ontwikkelingsinstallatie:

Installatie controleren

Controleer of SDK correct is geïnstalleerd:


Eerste installatie

Licentie activeren

De SDK gebruikt dezelfde licentie als Chloros, Chloros (browser) en Chloros CLI. Activeer eenmaal via de GUI of CLI:

  1. Open Chloros of Chloros (browser)en log in op het tabblad Gebruiker . Of openCLI.

  2. Voer uw Chloros+ inloggegevens in en log in

  3. De licentie wordt lokaal opgeslagen (blijft behouden na herstarten)

circle-info

Eenmalige installatie: Nadat u bent ingelogd via de GUI of CLI, gebruikt de SDK automatisch de opgeslagen licentie. Geen extra authenticatie nodig!

circle-info

Uitloggen: SDK-gebruikers kunnen op programmatische wijze opgeslagen inloggegevens wissen met behulp van de logout()-methode. Zie logout()-methode in de API-referentie.

Verbinding testen

Controleer of SDK verbinding kan maken met Chloros:


API-referentie

ChlorosLocal-klasse

Hoofdklasse voor lokale Chloros-beeldverwerking.

Constructor

Parameters:

Parameter
Type
Standaard
Beschrijving

api_url

str

"http://localhost:5000"

URL van lokale Chloros-backend

auto_start_backend

bool

True

Start backend automatisch indien nodig

backend_exe

str

None (automatische detectie)

Pad naar uitvoerbaar backend-bestand

timeout

int

30

Time-out voor verzoek in seconden

backend_startup_timeout

int

60

Time-out voor opstarten backend (seconden)

Voorbeelden:


Methoden

create_project(project_name, camera=None)

Maak een nieuw Chloros-project aan.

Parameters:

Parameter
Type
Vereist
Beschrijving

project_name

str

Ja

Naam voor het project

camera

str

Nee

Camerasjabloon (bijv. "Survey3N_RGN", "Survey3W_OCN")

Retourneert: dict - Reactie op het aanmaken van een projectVoorbeeld:


import_images(folder_path, recursive=False)

Afbeeldingen importeren vanuit een map.

Parameters:

Parameter
Type
Vereist
Beschrijving

folder_path

str/Pad

Ja

Pad naar map met afbeeldingen

recursive

bool

Nee

Submappen doorzoeken (standaard: False)

Retourneert: dict - Importresultaten met aantal bestandenVoorbeeld:


configure(**settings)

Configureer verwerkingsinstellingen.

Parameters:

Parameter
Type
Standaard
Beschrijving

debayer

str

"Hoge kwaliteit (sneller)"

Debayer-methode

vignette_correction

bool

True

Vignettecorrectie inschakelen

reflectance_calibration

bool

True

Reflectiekalibratie inschakelen

indices

lijst

None

Te berekenen vegetatie-indexen

export_format

str

"TIFF (16-bit)"

Uitvoerformaat

ppk

bool

False

PPK-correcties inschakelen

custom_settings

dict

None

Geavanceerde aangepaste instellingen

Exportformaten:

  • "TIFF (16-bit)" - Aanbevolen voor GIS/fotogrammetrie

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

  • "PNG (8-bit)" - Visuele inspectie

  • "JPG (8-bit)" - Gecomprimeerde uitvoer

**Beschikbare indexen:**NDVI, NDRE, GNDVI, OSAVI, CIG, EVI, SAVI, MSAVI, MTVI2, en meer.Voorbeeld:


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

Verwerk de projectafbeeldingen.

Parameters:

Parameter
Type
Standaard
Beschrijving

mode

str

"parallel"

Verwerkingsmodus: "parallel" of "serieel"

wait

bool

True

Wachten op voltooiing

progress_callback

callable

None

Callback-functie voor voortgang (progress, msg)

poll_interval

float

2.0

Pollinginterval voor voortgang (seconden)

Retourneert: dict - Verwerkingsresultaten

circle-info

Parallelle modus: vereist Chloros+ licentie. Schaalbaar naar uw CPU-kernen (maximaal 16 workers).

Voorbeeld:


get_config()

Haal de huidige projectconfiguratie op.

Retourneert: dict - Huidige projectconfiguratieVoorbeeld:


get_status()

Haal backend-statusinformatie op.

Retourneert: dict - Backend-statusVoorbeeld:


shutdown_backend()

Sluit de backend af (indien gestart door SDK).

Voorbeeld:


logout()

Wis opgeslagen inloggegevens uit het lokale systeem.

Beschrijving:

Log programmatisch uit door opgeslagen inloggegevens te verwijderen. Dit is handig voor:

  • Schakelen tussen verschillende Chloros+-accounts

  • Wissen van inloggegevens in geautomatiseerde omgevingen

  • Beveiligingsdoeleinden (bijv. verwijderen van inloggegevens vóór het verwijderen van de installatie)

Retourneert: dict - Resultaat van uitloggenVoorbeeld:

circle-info

Opnieuw authenticatie vereist: Na het aanroepen van logout() moet u opnieuw inloggen via Chloros, Chloros (browser) of Chloros CLI inloggen voordat u SDK kunt gebruiken.


Handige functies

process_folder(folder_path, **options)

Handige functie van één regel om een map te verwerken.

Parameters:

Parameter
Type
Standaard
Beschrijving

folder_path

str/Pad

Vereist

Pad naar map met afbeeldingen

project_name

str

Automatisch gegenereerd

Projectnaam

camera

str

None

Camerasjabloon

indices

lijst

["NDVI"]

Indices om te berekenen

vignette_correction

bool

True

Vignettecorrectie inschakelen

reflectance_calibration

bool

True

Reflectiekalibratie inschakelen

export_format

str

"TIFF (16-bit)"

Uitvoerformaat

mode

str

"parallel"

Verwerkingsmodus

progress_callback

callable

None

Voortgangs-callback

Retourneert: dict - VerwerkingsresultatenVoorbeeld:


Ondersteuning voor contextmanager

De SDK ondersteunt contextmanagers voor automatische opschoning:


Volledige voorbeelden

Voorbeeld 1: basisverwerking

Verwerk een map met standaardinstellingen:


Voorbeeld 2: aangepaste workflow

Volledige controle over de verwerkingspijplijn:


Voorbeeld 3: batchverwerking van meerdere mappen

Verwerk meerdere vluchtgegevenssets:


Voorbeeld 4: Integratie van onderzoekspijplijn

Chloros integreren met gegevensanalyse:


Voorbeeld 5: Aangepaste voortgangsbewaking

Geavanceerde voortgangsbewaking met logboekregistratie:


Voorbeeld 6: Foutverwerking

Robuuste foutverwerking voor productiegebruik:


Voorbeeld 7: Accountbeheer en uitloggen

Beheer inloggegevens programmatisch:


Voorbeeld 8: opdrachtregelprogramma

Bouw een aangepast CLI-programma met de SDK:

Gebruik:


Uitzonderingsafhandeling

De SDK biedt specifieke uitzonderingsklassen voor verschillende fouttypes:

Uitzonderingshiërarchie

Voorbeelden van uitzonderingen


Geavanceerde onderwerpen

Aangepaste backendconfiguratie

Gebruik een aangepaste backendlocatie of -configuratie:

Niet-blokkerende verwerking

Start de verwerking en ga verder met andere taken:

Geheugenbeheer

Verwerk grote datasets in batches:


Probleemoplossing

Backend start niet

Probleem: SDK kan de backend niet starten.Oplossingen:

  1. Controleer of Chloros Desktop is geïnstalleerd:

  1. Controleer of Windows Firewall niet blokkeert

  2. Probeer het handmatige backend-pad:


Licentie niet gedetecteerdProbleem: SDK waarschuwt voor ontbrekende licentieOplossingen:

  1. Open Chloros, Chloros (browser) of Chloros CLI en log in.

  2. Controleer of de licentie in de cache is opgeslagen:

  1. Als u problemen met uw inloggegevens ondervindt, wis dan de in de cache opgeslagen inloggegevens en log opnieuw in:

  1. Neem contact op met de ondersteuning: info@mapir.camera


ImportfoutenProbleem: ModuleNotFoundError: No module named 'chloros_sdk'Oplossingen:


Time-out bij verwerkingProbleem: Time-out bij verwerkingOplossingen:

  1. Verleng de time-out:

  1. Verwerk kleinere batches

  2. Controleer de beschikbare schijfruimte

  3. Controleer de systeembronnen


Poort al in gebruikProbleem: Backend-poort 5000 bezetOplossingen:

Of zoek en sluit het conflicterende proces:


Tips voor betere prestaties

Verwerkingssnelheid optimaliseren

  1. Gebruik de parallelle modus (vereist Chloros+)

  1. Verminder de uitvoerresolutie (indien acceptabel)

  1. Schakel onnodige indexen uit

  1. Verwerk op SSD (niet op HDD)***

Geheugenoptimalisatie

Voor grote datasets:


Achtergrondverwerking

Maak Python vrij voor andere taken:


Integratievoorbeelden

Django-integratie

Flask API

Jupyter Notebook


Veelgestelde vragen

V: Is er een internetverbinding nodig voor SDK?

A: Alleen voor de eerste activering van de licentie. Nadat u zich hebt aangemeld via Chloros, Chloros (browser) of Chloros CLI, wordt de licentie lokaal in de cache opgeslagen en werkt deze 30 dagen offline.***

V: Kan ik SDK gebruiken op een server zonder GUI?A: Ja! Vereisten:

  • Windows Server 2016 of hoger

  • Chloros geïnstalleerd (eenmalig)

  • Licentie geactiveerd op een willekeurige machine (in cache opgeslagen licentie gekopieerd naar server)


V: Wat is het verschil tussen Desktop, CLI en SDK?

Functie
Desktop GUI
CLI Command Line
Python SDK

Interface

Point-click

Command

Python API

Meest geschikt voor

Visueel werk

Scripting

Integratie

Automatisering

Beperkt

Goed

Uitstekend

Flexibiliteit

Basis

Goed

Maximaal

Licentie

Chloros+

Chloros+

Chloros+

V: Kan ik apps distribueren die zijn gebouwd met de SDK?A: SDK-code kan worden geïntegreerd in uw applicaties, maar:

  • Eindgebruikers moeten Chloros geïnstalleerd hebben

  • Eindgebruikers hebben actieve Chloros+-licenties nodig

  • Voor commerciële distributie is een OEM-licentie vereist

Neem contact op met info@mapir.camera voor vragen over OEM.


V: Hoe werk ik de SDK bij?


V: Waar worden bewerkte afbeeldingen opgeslagen?

Standaard in het projectpad:


V: Kan ik afbeeldingen bewerken vanuit Python-scripts die volgens een schema worden uitgevoerd?A: Ja! Gebruik Windows Taakplanner met Python-scripts:

Plan via Taakplanner om dagelijks uit te voeren.


V: Ondersteunt SDK async/await?A: De huidige versie is synchroon. Voor asynchroon gedrag gebruikt u wait=False of voert u het uit in een aparte thread:


V: Hoe schakel ik tussen verschillende Chloros+-accounts?A: Gebruik de logout()-methode om de cache met inloggegevens te wissen en log vervolgens opnieuw in met het nieuwe account:

Na het uitloggen moet u zich via de GUI, browser of CLI authenticeren met het nieuwe account voordat u SDK opnieuw kunt gebruiken.


Hulp krijgen

Documentatie

  • API-referentie: deze pagina

Ondersteuningskanalen

Voorbeeldcode

Alle hier vermelde voorbeelden zijn getest en klaar voor productie. Kopieer ze en pas ze aan voor uw gebruikssituatie.


SDK vereist een actief Chloros+-abonnement. Ongeoorloofd gebruik, distributie of wijziging is verboden.

Laatst bijgewerkt