API : Python SDK

Chloros Python SDK menyediakan akses programatik ke mesin pemrosesan gambar Chloros, yang memungkinkan otomatisasi, alur kerja khusus, dan integrasi tanpa hambatan dengan aplikasi Python dan jalur penelitian Anda.

Fitur Utama

  • 🐍 Native Python - Kode API yang rapi dan bergaya Python untuk pemrosesan gambar

  • 🔧 Akses Penuh ke API - Kontrol penuh atas pemrosesan Chloros

  • 🚀 Otomatisasi - Bangun alur kerja pemrosesan batch kustom

  • 🔗 Integrasi - Sisipkan Chloros ke dalam aplikasi Python yang sudah ada

  • 📊 Siap untuk Penelitian - Sempurna untuk alur kerja analisis ilmiah

  • Pemrosesan Paralel - Dapat diskalakan sesuai dengan jumlah inti CPU Anda (Chloros+)

Persyaratan

Persyaratan
Detail

Chloros Terpasang

Windows: Penginstal desktop; Linux: Paket .deb

Sistem Operasi

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

Python

Python 3.7 atau lebih tinggi

Memori

Minimal 8GB RAM (disarankan 16GB)

Internet

Diperlukan untuk aktivasi lisensi

circle-exclamation

Panduan Cepat

Instalasi

Instal melalui pip:

circle-info

Pengaturan Awal: Sebelum menggunakan SDK, aktifkan lisensi Chloros+ Anda dengan membuka Chloros, Chloros (Browser) atau Chloros CLI dan masuk dengan kredensial Anda. Ini hanya perlu dilakukan sekali. Pada Linux (tanpa GUI), gunakan: chloros-cli login user@example.com 'password'

Penggunaan Dasar

Proses sebuah folder hanya dengan beberapa baris:

circle-info

Jalur Lintas Platform: Contoh kode pada halaman ini menggunakan jalur bergaya Windows (misalnya, C:\\DroneImages\\Flight001). Pada Linux, gunakan jalur Linux sebagai gantinya (misalnya, /home/user/drone_images/flight001 atau ~/drone_images/flight001). SDK berfungsi sama di kedua platform.

Kontrol Penuh

Untuk alur kerja lanjutan:


Panduan Instalasi

Persyaratan

Sebelum menginstal SDK, pastikan Anda memiliki:

  1. Chloros terinstal — Windows: Penginstal desktop (unduh); Linux: Paket .deb (Pemasangan)

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

  3. Lisensi Chloros+ aktif (pembaruanarrow-up-right)

Instalasi melalui pip

Instalasi standar:

Dengan dukungan pemantauan kemajuan:

Instalasi pengembangan:

Verifikasi Instalasi

Uji apakah SDK terinstal dengan benar:


Pengaturan Awal

Aktivasi Lisensi

SDK menggunakan lisensi yang sama dengan Chloros, Chloros (Browser), dan Chloros CLI. Aktifkan sekali melalui antarmuka pengguna (GUI) atau CLI:Windows:BukaChloros atau Chloros (Browser) dan masuk ke tab Pengguna , atau gunakan CLI.Linux: Gunakan CLI (tidak tersedia GUI):

Lisensi disimpan secara lokal dan tetap berlaku setelah reboot.

circle-check
circle-info

Keluar: Pengguna SDK dapat menghapus kredensial yang disimpan secara programatik menggunakan metode logout(). Lihat metode logout() dalam Referensi API.

Uji Koneksi

Verifikasi bahwa SDK dapat terhubung ke Chloros:


Referensi API

Kelas ChlorosLocal

Kelas utama untuk pemrosesan gambar lokal Chloros.

Konstruktor

Parameter:

Parameter
Tipe
Default
Deskripsi

api_url

str

"http://localhost:5000"

URL dari backend lokal Chloros

auto_start_backend

bool

True

Secara otomatis memulai backend jika diperlukan

backend_exe

str

None (deteksi otomatis)

Jalur ke file eksekusi backend

timeout

int

30

Batas waktu permintaan dalam detik

backend_startup_timeout

int

60

Batas waktu untuk memulai backend (detik)

Contoh:

circle-info

Deteksi otomatis lintas platform: SDK secara otomatis mencoba jalur backend yang benar untuk platform Anda:

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

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

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


Metode

create_project(project_name, camera=None)

Buat proyek Chloros baru.

Parameter:

Parameter
Tipe
Diperlukan
Deskripsi

project_name

str

Ya

Nama proyek

camera

str

Tidak

Template kamera (misalnya, "Survey3N_RGN", "Survey3W_OCN")

Hasil: dict - Respons pembuatan proyekContoh:


import_images(folder_path, recursive=False)

Impor gambar dari folder.

Parameter:

Parameter
Tipe
Diperlukan
Deskripsi

folder_path

str/Path

Ya

Jalur ke folder yang berisi gambar

recursive

bool

Tidak

Cari subfolder (default: False)

Hasil: dict - Hasil impor beserta jumlah fileContoh:


configure(**settings)

Konfigurasi pengaturan pemrosesan.

Parameter:

Parameter
Tipe
Default
Deskripsi

debayer

str

"Standar (Cepat, Kualitas Sedang)"

Metode debayer

vignette_correction

bool

True

Aktifkan koreksi vignette

reflectance_calibration

bool

True

Aktifkan kalibrasi reflektansi

indices

list

None

Indeks vegetasi yang akan dihitung

export_format

str

"TIFF (16-bit)"

Format keluaran

ppk

bool

False

Aktifkan koreksi PPK

custom_settings

dict

None

Pengaturan kustom lanjutan

Format Ekspor:

  • "TIFF (16-bit)" - Direkomendasikan untuk GIS/fotogrametri

  • "TIFF (32-bit, Percent)" - Analisis ilmiah

  • "PNG (8-bit)" - Inspeksi visual

  • "JPG (8-bit)" - Keluaran terkompresi

**Indeks yang Tersedia:**NDVI, NDRE, GNDVI, OSAVI, CIG, EVI, SAVI, MSAVI, MTVI2, dan lainnya.Contoh:


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

Proses gambar proyek.

Parameter:

Parameter
Tipe
Default
Deskripsi

mode

str

"parallel"

Mode pemrosesan: "parallel" atau "serial"

wait

bool

True

Tunggu hingga selesai

progress_callback

callable

None

Fungsi callback kemajuan (progress, msg)

poll_interval

float

2.0

Interval polling untuk kemajuan (detik)

Mengembalikan: dict - Hasil pemrosesan

circle-exclamation

Contoh:


get_config()

Mendapatkan konfigurasi proyek saat ini.

Mengembalikan: dict - Konfigurasi proyek saat iniContoh:


get_status()

Mendapatkan informasi status backend termasuk kemajuan pemrosesan per-thread.

Mengembalikan: dict - Status backend dengan struktur berikut:

Contoh:


shutdown_backend()

Matikan backend (jika dijalankan oleh SDK).

Contoh:


logout()

Hapus kredensial yang disimpan dalam cache dari sistem lokal.

Deskripsi:

Keluar secara programatik dengan menghapus kredensial otentikasi yang tersimpan dalam cache. Hal ini berguna untuk:

  • Beralih antara akun Chloros+ yang berbeda

  • Menghapus kredensial di lingkungan otomatis

  • Tujuan keamanan (misalnya, menghapus kredensial sebelum menghapus instalasi)

Mengembalikan: dict - Hasil operasi keluarContoh:

circle-info

Otentikasi Ulang Diperlukan: Setelah memanggil logout(), Anda harus masuk kembali melalui Chloros, Chloros (Browser), atau Chloros CLI sebelum menggunakan SDK.


Fungsi Praktis

process_folder(folder_path, **options)

Fungsi praktis satu baris untuk memproses sebuah folder.

Parameter:

Parameter
Tipe
Default
Deskripsi

folder_path

str/Path

Diperlukan

Jalur ke folder yang berisi gambar

project_name

str

Dihasilkan otomatis

Nama proyek

camera

str

None

Template kamera

indices

list

["NDVI"]

Indeks yang akan dihitung

vignette_correction

bool

True

Aktifkan koreksi vignette

reflectance_calibration

bool

True

Aktifkan kalibrasi reflektansi

export_format

str

"TIFF (16-bit)"

Format keluaran

mode

str

"parallel"

Mode pemrosesan

progress_callback

dapat dipanggil

None

Panggilan balik kemajuan

Mengembalikan: dict - Hasil pemrosesanContoh:


Dukungan Pengelola Konteks

SDK mendukung pengelola konteks untuk pembersihan otomatis:


Contoh Lengkap

circle-info

Pengguna Linux: Semua contoh di bawah ini menggunakan jalur Windows. Ganti jalur C:\\... dengan jalur Linux Anda (misalnya, /home/user/... atau ~/...). Semua fungsi SDK identik di semua platform.

Contoh 1: Pemrosesan Dasar

Memproses folder dengan pengaturan default:


Contoh 2: Alur Kerja Kustom

Kontrol penuh atas alur pemrosesan:


Contoh 3: Pemrosesan Berkelompok Beberapa Folder

Memproses beberapa dataset penerbangan:


Contoh 4: Integrasi Jalur Kerja Penelitian

Mengintegrasikan Chloros dengan analisis data:


Contoh 5: Pemantauan Kemajuan Kustom

Pemantauan kemajuan lanjutan dengan pencatatan:


Contoh 6: Penanganan Kesalahan

Penanganan kesalahan yang andal untuk penggunaan produksi:


Contoh 7: Manajemen Akun dan Keluar

Kelola kredensial secara programatik:


Contoh 8: Alat Baris Perintah

Buat alat CLI kustom dengan SDK:

Penggunaan:


Penanganan Kecelakaan

SDK menyediakan kelas kecelakaan khusus untuk berbagai jenis kesalahan:

Hierarki Kecelakaan

Contoh Kecelakaan


Topik Lanjutan

Konfigurasi Backend Kustom

Gunakan lokasi atau konfigurasi backend kustom:

Pemrosesan Non-Blocking

Mulai pemrosesan dan lanjutkan dengan tugas lain:

Pengelolaan Memori

Untuk dataset besar, proses secara bertahap:


Pemecahan Masalah

Backend Tidak Dapat Dimulai

Masalah: SDK gagal memulai backendSolusi:

  1. Pastikan Chloros terinstal:

  1. Periksa firewall (Windows) atau ketersediaan port (Linux: lsof -i :5000)

  2. Coba jalur backend manual:


Lisensi Tidak TerdeteksiMasalah: SDK menampilkan peringatan tentang lisensi yang hilangSolusi:

  1. Buka Chloros, Chloros (Browser) atau Chloros CLI dan masuk.

  2. Verifikasi lisensi tersimpan dalam cache:

  1. Jika mengalami masalah kredensial, hapus kredensial yang tersimpan dalam cache dan masuk kembali:

  1. Hubungi dukungan: info@mapir.camera


Kesalahan ImporMasalah: ModuleNotFoundError: No module named 'chloros_sdk'Solusi:


Waktu Tunggu PemrosesanMasalah: Waktu tunggu pemrosesan habisSolusi:

  1. Perpanjang waktu tunggu:

  1. Proses dalam batch yang lebih kecil

  2. Periksa ruang disk yang tersedia

  3. Pantau sumber daya sistem


Port Sudah DigunakanMasalah: Port backend 5000 terpakaiSolusi:

Atau temukan dan tutup proses yang bertabrakan:


Tips Kinerja

Optimalkan Kecepatan Pemrosesan

  1. Gunakan Mode Paralel (memerlukan Chloros+)

  1. Kurangi Resolusi Keluaran (jika memungkinkan)

  1. Nonaktifkan Indeks yang Tidak Diperlukan

  1. Proses di SSD (bukan HDD)***

Optimasi Memori

Untuk dataset besar:


Pemrosesan Latar Belakang

Bebaskan Python untuk tugas lain:


Contoh Integrasi

Integrasi Django

Flask API

Jupyter Notebook


FAQ

Q: Apakah SDK memerlukan koneksi internet?

A: Hanya untuk aktivasi lisensi awal. Setelah masuk melalui Chloros, Chloros (Browser), atau Chloros CLI, lisensi disimpan secara lokal dan dapat digunakan secara offline selama 30 hari.***

Q: Apakah saya dapat menggunakan SDK pada server tanpa antarmuka grafis (GUI)?A: Ya! SDK berfungsi tanpa antarmuka pengguna (headless) pada server Windows dan Linux.Linux (direkomendasikan untuk headless):

  • Instal melalui paket .deb

  • Aktifkan lisensi: chloros-cli login user@example.com 'password'

Server Windows:

  • Server Windows 2016 atau yang lebih baru

  • Chloros terinstal (sekali saja)

  • Lisensi diaktifkan melalui CLI atau di mesin mana pun


Q: Apa perbedaan antara Desktop, CLI, dan SDK?

Fitur
Antarmuka Desktop
Baris Perintah CLI
Python SDK

Antarmuka

Klik-dan-pilih

Baris Perintah

Python API

Cocok Untuk

Pekerjaan visual

Pemrograman skrip

Integrasi

Otomatisasi

Terbatas

Baik

Sangat baik

Fleksibilitas

Dasar

Baik

Maksimal

Lisensi

Chloros+

Chloros+

Chloros+

Q: Apakah saya dapat mendistribusikan aplikasi yang dibuat dengan SDK?A: Kode SDK dapat diintegrasikan ke dalam aplikasi Anda, tetapi:

  • Pengguna akhir harus menginstal Chloros

  • Pengguna akhir harus memiliki lisensi Chloros+ yang aktif

  • Distribusi komersial memerlukan lisensi OEM

Hubungi info@mapir.camera untuk pertanyaan terkait OEM.


Q: Bagaimana cara memperbarui SDK?


Q: Di mana gambar yang diproses disimpan?

Secara default, di Jalur Proyek :


Q: Bisakah saya memproses gambar dari skrip Python yang berjalan sesuai jadwal?A: Ya! Gunakan penjadwal sistem operasi Anda dengan skrip Python:

Windows: Jadwalkan melalui Task Scheduler untuk dijalankan setiap hari.Linux: Jadwalkan melalui cron:


Q: Apakah SDK mendukung async/await?A: Versi saat ini bersifat sinkron. Untuk perilaku asinkron, gunakan wait=False atau jalankan di thread terpisah:


Q: Bagaimana cara beralih antara akun Chloros+ yang berbeda?A: Gunakan metode logout() untuk menghapus kredensial yang tersimpan, lalu masuk kembali dengan akun baru:

Setelah logout, otentikasi dengan akun baru melalui GUI, Browser, atau CLI sebelum menggunakan SDK lagi.


Mendapatkan Bantuan

Dokumentasi

  • Referensi API: Halaman ini

Saluran Dukungan

Contoh Kode

Semua contoh yang tercantum di sini telah diuji dan siap digunakan dalam produksi. Salin dan sesuaikan sesuai kebutuhan Anda.


LisensiPerangkat Lunak Proprietary - Hak Cipta (c) 2025 MAPIR Inc.

SDK memerlukan langganan Chloros+ yang aktif. Penggunaan, distribusi, atau modifikasi tanpa izin dilarang.

Last updated