API: Python SDK

Chloros Python SDK zapewnia programowy dostęp do silnika przetwarzania obrazów Chloros, umożliwiając automatyzację, dostosowanie przepływu pracy oraz płynną integrację z aplikacjami Python i procesami badawczymi.

Najważniejsze cechy

  • 🐍 Natywny Python - Czysty, pythonic API do przetwarzania obrazów

  • 🔧 Pełny dostęp do API - Pełna kontrola nad przetwarzaniem Chloros

  • 🚀 Automatyzacja - Tworzenie niestandardowych przepływów pracy przetwarzania wsadowego

  • 🔗 Integracja — osadź Chloros w istniejących aplikacjach Python

  • 📊 Gotowość do badań — idealny do potoków analiz naukowych

  • Przetwarzanie równoległe — skalowalność do rdzeni procesora (Chloros+)

Wymagania

Wymaganie
Szczegóły

Chloros Desktop

Musi być zainstalowany lokalnie

System operacyjny

Windows 10/11 (64-bitowy)

Python

Python 3.7 lub nowszy

Pamięć

Minimum 8 GB pamięci RAM (zalecane 16 GB)

Internet

Wymagany do aktywacji licencji

circle-info

Wymagania licencyjne: Python SDK wymaga płatnej subskrypcji Chloros+ w celu uzyskania dostępu do API. Standardowe (bezpłatne) plany nie zapewniają dostępu do API/SDK. Odwiedź https://cloud.mapir.camera/pricingarrow-up-right, aby dokonać aktualizacji.

Szybki start

Instalacja

Zainstaluj za pomocą pip:

circle-info

Pierwsza konfiguracja: Przed użyciem SDK należy aktywować licencję Chloros+, otwierając Chloros, Chloros (przeglądarka) lub Chloros CLI i logując się przy użyciu swoich danych uwierzytelniających. Czynność tę należy wykonać tylko raz.

Podstawowe zastosowanie

Przetwarzanie folderu za pomocą kilku wierszy:

Pełna kontrola

W przypadku zaawansowanych procesów:


Instrukcja instalacji

Wymagania wstępne

Przed zainstalowaniem SDK upewnij się, że masz:

  1. Chloros Desktop (pobierz)

  2. Aktywną licencję Chloros+ (aktualizacjaarrow-up-right)

Instalacja za pomocą pip

Instalacja standardowa:

Z obsługą monitorowania postępu:

Instalacja rozwojowa:

Sprawdź instalację

Sprawdź, czy SDK jest poprawnie zainstalowany:


Pierwsza konfiguracja

Aktywacja licencji

SDK korzysta z tej samej licencji co Chloros, Chloros (przeglądarka) i Chloros CLI. Aktywuj raz za pomocą GUI lub CLI:

  1. Otwórz Chloros lub Chloros (przeglądarka)i zaloguj się na karcie Użytkownik . Lub otwórzCLI.

  2. Wprowadź swoje dane logowania Chloros+ i zaloguj się

  3. Licencja jest buforowana lokalnie (utrzymuje się po ponownym uruchomieniu)

circle-info

Jednorazowa konfiguracja: Po zalogowaniu się za pośrednictwem GUI lub CLI, SDK automatycznie korzysta z zapisanej w pamięci podręcznej licencji. Nie jest wymagane dodatkowe uwierzytelnianie!

circle-info

Wylogowanie: SDK użytkownicy mogą programowo wyczyścić buforowane poświadczenia za pomocą metody logout(). Zobacz logout() w dokumentacji API.

Test połączenia

Sprawdź, czy SDK może połączyć się z Chloros:


API Reference

Klasa ChlorosLocal

Główna klasa do lokalnego przetwarzania obrazów Chloros.

Konstruktor

Parametry:

Parametr
Typ
Domyślna wartość
Opis

api_url

str

"http://localhost:5000"

URL lokalnego backendu Chloros

auto_start_backend

bool

True

Automatyczne uruchamianie zaplecza w razie potrzeby

backend_exe

str

None (automatyczne wykrywanie)

Ścieżka do pliku wykonywalnego zaplecza

timeout

int

30

Limit czasu żądania w sekundach

backend_startup_timeout

int

60

Limit czasu uruchamiania backendu (sekundy)

Przykłady:


Metody

create_project(project_name, camera=None)

Utwórz nowy projekt Chloros.

Parametry:

Parametr
Typ
Wymagane
Opis

project_name

str

Tak

Nazwa projektu

camera

str

Nie

Szablon kamery (np. „Survey3N_RGN”, „Survey3W_OCN”)

Zwraca: dict — odpowiedź dotycząca utworzenia projektuPrzykład:


import_images(folder_path, recursive=False)

Importowanie obrazów z folderu.

Parametry:

Parametr
Typ
Wymagane
Opis

folder_path

str/Path

Tak

Ścieżka do folderu z obrazami

recursive

bool

Nie

Przeszukaj podfoldery (domyślnie: Fałsz)

Zwraca: dict — wyniki importu z liczbą plikówPrzykład:


configure(**settings)

Konfiguracja ustawień przetwarzania.

Parametry:

Parametr
Typ
Domyślnie
Opis

debayer

str

„Wysoka jakość (szybsza)”

Metoda debayera

vignette_correction

bool

True

Włącz korekcję winietowania

reflectance_calibration

bool

True

Włącz kalibrację odbicia

indices

lista

None

Indeksy roślinności do obliczenia

export_format

str

„TIFF (16-bit)”

Format wyjściowy

ppk

bool

False

Włącz korekty PPK

custom_settings

dict

None

Zaawansowane ustawienia niestandardowe

Formaty eksportu:

  • "TIFF (16-bit)" — zalecany dla GIS/fotogrametrii

  • "TIFF (32-bit, Percent)" — analiza naukowa

  • "PNG (8-bit)" — kontrola wzrokowa

  • "JPG (8-bit)" — skompresowane dane wyjściowe

**Dostępne indeksy:**NDVI, NDRE, GNDVI, OSAVI, CIG, EVI, SAVI, MSAVI, MTVI2 i inne.Przykład:


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

Przetwarzanie obrazów projektu.

Parametry:

Parametr
Typ
Domyślny
Opis

mode

str

"parallel"

Tryb przetwarzania: „równoległy” lub „szeregowy”

wait

bool

True

Oczekiwanie na zakończenie

progress_callback

callable

None

Funkcja wywołania zwrotnego postępu (progress, msg)

poll_interval

float

2.0

Interwał odpytywania postępu (sekundy)

Zwraca: dict — wyniki przetwarzania

circle-info

Tryb równoległy: wymaga licencji Chloros+. Automatycznie skaluje się do liczby rdzeni procesora (do 16 procesów).

Przykład:


get_config()

Pobierz aktualną konfigurację projektu.

Zwraca: dict — aktualną konfigurację projektuPrzykład:


get_status()

Pobierz informacje o stanie zaplecza.

Zwraca: dict — stan zapleczaPrzykład:


shutdown_backend()

Wyłącza zaplecze (jeśli zostało uruchomione przez SDK).

Przykład:


logout()

Wyczyść buforowane poświadczenia z lokalnego systemu.

Opis:

Programowo wylogowuje się, usuwając buforowane poświadczenia uwierzytelniające. Jest to przydatne w następujących przypadkach:

  • Przełączania się między różnymi kontami Chloros+

  • Usuwania danych uwierzytelniających w środowiskach zautomatyzowanych

  • Celów bezpieczeństwa (np. usuwania danych uwierzytelniających przed odinstalowaniem)

Zwraca: dict — wynik operacji wylogowaniaPrzykład:

circle-info

Wymagane ponowne uwierzytelnienie: Po wywołaniu logout() należy ponownie zalogować się za pomocą Chloros, Chloros (przeglądarka) lub Chloros CLI przed użyciem SDK.


Funkcje ułatwiające pracę

process_folder(folder_path, **options)

Jednowierszowa funkcja ułatwiająca przetwarzanie folderu.

Parametry:

Parametr
Typ
Domyślny
Opis

folder_path

str/Path

Wymagane

Ścieżka do folderu z obrazami

project_name

str

Generowane automatycznie

Nazwa projektu

camera

str

None

Szablon kamery

indices

lista

["NDVI"]

Indeksy do obliczenia

vignette_correction

bool

True

Włącz korekcję winietowania

reflectance_calibration

bool

True

Włącz kalibrację odbicia

export_format

str

„TIFF (16-bit)”

Format wyjściowy

mode

str

"parallel"

Tryb przetwarzania

progress_callback

callable

None

Wywołanie zwrotne postępu

Zwraca: dict — wyniki przetwarzaniaPrzykład:


Obsługa menedżera kontekstu

SDK obsługuje menedżery kontekstu do automatycznego czyszczenia:


Kompletne przykłady

Przykład 1: Podstawowe przetwarzanie

Przetwarzanie folderu przy użyciu ustawień domyślnych:


Przykład 2: Niestandardowy przepływ pracy

Pełna kontrola nad potokiem przetwarzania:


Przykład 3: Przetwarzanie wsadowe wielu folderów

Przetwarzanie wielu zestawów danych lotniczych:


Przykład 4: Integracja z procesem badawczym

Integracja Chloros z analizą danych:


Przykład 5: Niestandardowe monitorowanie postępów

Zaawansowane śledzenie postępów z rejestrowaniem:


Przykład 6: Obsługa błędów

Solidna obsługa błędów do użytku produkcyjnego:


Przykład 7: Zarządzanie kontem i wylogowanie

Zarządzanie poświadczeniami programowo:


Przykład 8: Narzędzie wiersza poleceń

Stwórz niestandardowe narzędzie CLI za pomocą SDK:

Sposób użycia:


Obsługa wyjątków

SDK udostępnia określone klasy wyjątków dla różnych typów błędów:

Hierarchia wyjątków

Przykłady wyjątków


Tematy zaawansowane

Konfiguracja niestandardowego zaplecza

Użyj niestandardowej lokalizacji lub konfiguracji zaplecza:

Przetwarzanie nieblokujące

Rozpocznij przetwarzanie i kontynuuj inne zadania:

Zarządzanie pamięcią

W przypadku dużych zbiorów danych przetwarzaj je partiami:


Rozwiązywanie problemów

Backend nie uruchamia się

Problem: SDK nie uruchamia backendu.Rozwiązania:

  1. Sprawdź, czy zainstalowano Chloros Desktop:

  1. Sprawdź, czy Windows Firewall nie blokuje połączenia.

  2. Spróbuj ręcznie wprowadzić ścieżkę do zaplecza:


Nie wykryto licencjiProblem: SDK wyświetla ostrzeżenie o braku licencji.Rozwiązania:

  1. Otwórz Chloros, Chloros (przeglądarka) lub Chloros CLI i zaloguj się.

  2. Sprawdź, czy licencja jest zapisana w pamięci podręcznej:

  1. Jeśli występują problemy z danymi uwierzytelniającymi, wyczyść buforowane dane uwierzytelniające i zaloguj się ponownie:

  1. Skontaktuj się z pomocą techniczną: info@mapir.camera


Błędy importuProblem: ModuleNotFoundError: No module named 'chloros_sdk'Rozwiązania:


Przekroczenie limitu czasu przetwarzaniaProblem: Przekroczenie limitu czasu przetwarzaniaRozwiązania:

  1. Zwiększ limit czasu:

  1. Przetwarzaj mniejsze partie

  2. Sprawdź dostępną przestrzeń dyskową

  3. Monitoruj zasoby systemowe


Port już używanyProblem: Port zaplecza 5000 zajętyRozwiązania:

Lub znajdź i zamknij proces powodujący konflikt:


Wskazówki dotyczące wydajności

Optymalizacja szybkości przetwarzania

  1. Użyj trybu równoległego (wymaga Chloros+)

  1. Zmniejsz rozdzielczość wyjściową (jeśli jest to dopuszczalne)

  1. Wyłącz niepotrzebne indeksy

  1. Przetwarzaj na dysku SSD (nie HDD)***

Optymalizacja pamięci

W przypadku dużych zbiorów danych:


Przetwarzanie w tle

Zwolnij Python dla innych zadań:


Przykłady integracji

Integracja z Django

Flask API

Jupyter Notebook


Często zadawane pytania

P: Czy SDK wymaga połączenia z Internetem?

O: Tylko do początkowej aktywacji licencji. Po zalogowaniu się za pośrednictwem Chloros, Chloros (przeglądarka) lub Chloros CLI licencja jest buforowana lokalnie i działa w trybie offline przez 30 dni.***

P: Czy mogę używać SDK na serwerze bez GUI?O: Tak! Wymagania:

  • Windows Server 2016 lub nowszy

  • Zainstalowany Chloros (jednorazowo)

  • Licencja aktywowana na dowolnym komputerze (licencja z pamięci podręcznej skopiowana na serwer)


P: Jaka jest różnica między Desktop, CLI i SDK?

Funkcja
Desktop GUI
CLI Command Line
Python SDK

Interfejs

Punkt-klik

Polecenie

Python API

Najlepsze dla

Praca wizualna

Skrypty

Integracja

Automatyzacja

Ograniczona

Dobra

Doskonała

Elastyczność

Podstawowa

Dobra

Maksymalna

Licencja

Chloros+

Chloros+

Chloros+

P: Czy mogę dystrybuować aplikacje stworzone za pomocą SDK?O: Kod SDK można zintegrować z aplikacjami, ale:

  • Użytkownicy końcowi muszą mieć zainstalowany Chloros.

  • Użytkownicy końcowi muszą posiadać aktywne licencje Chloros+.

  • Dystrybucja komercyjna wymaga licencji OEM.

W sprawie licencji OEM prosimy o kontakt z info@mapir.camera.


P: Jak zaktualizować SDK?


P: Gdzie są zapisywane przetworzone obrazy?

Domyślnie w ścieżce projektu:


P: Czy mogę przetwarzać obrazy ze skryptów Python uruchamianych zgodnie z harmonogramem?O: Tak! Użyj harmonogramu zadań Windows ze skryptami Python:

Zaplanuj codzienne uruchamianie za pomocą harmonogramu zadań.


P: Czy SDK obsługuje async/await?O: Obecna wersja jest synchroniczna. Aby uzyskać zachowanie asynchroniczne, użyj wait=False lub uruchom w oddzielnym wątku:


P: Jak przełączać się między różnymi kontami Chloros+?O: Użyj metody logout(), aby wyczyścić buforowane poświadczenia, a następnie zaloguj się ponownie na nowe konto:

Po wylogowaniu się uwierzytelnij się przy użyciu nowego konta za pośrednictwem GUI, przeglądarki lub CLI przed ponownym użyciem SDK.


Pomoc

Dokumentacja

  • API Reference: Ta strona

Kanały pomocy technicznej

Przykładowy kod

Wszystkie wymienione tutaj przykłady zostały przetestowane i są gotowe do użycia. Skopiuj je i dostosuj do swoich potrzeb.


SDK wymaga aktywnej subskrypcji Chloros+. Nieuprawnione użycie, dystrybucja lub modyfikacja są zabronione.

Last updated