Official Python SDK for MAPIR Chloros image processing
Project description
Chloros Python SDK
Official Python SDK for MAPIR Chloros image processing software. Provides programmatic access to the Chloros API for automation, integration, and custom workflows.
🚀 Quick Start
from chloros_sdk import ChlorosLocal
# Initialize SDK (auto-starts backend)
chloros = ChlorosLocal()
# Create project and import images
chloros.create_project("MyProject", camera="Survey3N_RGN")
chloros.import_images("C:/DroneImages/Flight001")
# Configure settings
chloros.configure(
vignette_correction=True,
reflectance_calibration=True,
indices=["NDVI", "NDRE", "GNDVI"]
)
# Process images
chloros.process(mode="parallel", wait=True)
One-Line Processing
from chloros_sdk import process_folder
results = process_folder("C:/DroneImages/Flight001", indices=["NDVI", "NDRE"])
📋 Requirements
| Requirement | Details |
|---|---|
| Chloros Desktop | Must be installed locally |
| License | Chloros+ required (paid plan) |
| Operating System | Windows 10/11 (64-bit) |
| Python | Python 3.7 or higher |
| Memory | 8GB RAM minimum (16GB recommended) |
⚠️ License Requirement: The Chloros SDK requires an active Chloros+ subscription. Standard (free) plans do not have API access. Upgrade at https://cloud.mapir.camera/pricing
📥 Installation
From PyPI (Recommended)
pip install chloros-sdk
From Source
git clone https://github.com/mapircamera/chloros-sdk.git
cd chloros-sdk
pip install -e .
With Progress Monitoring
pip install chloros-sdk[progress]
📖 Documentation
Complete documentation available at: https://docs.chloros.com/api-python-sdk
🎯 Use Cases
Research & Academia
# Integrate Chloros into analysis pipelines
import chloros_sdk
import pandas as pd
chloros = chloros_sdk.ChlorosLocal()
results = []
for survey in field_surveys:
chloros.process(survey.images)
ndvi_data = chloros.get_index_values("NDVI")
results.append({'chloros_ndvi': ndvi_data, 'biomass': survey.biomass})
df = pd.DataFrame(results)
correlation = df.corr()
Batch Processing
# Process multiple flights automatically
from chloros_sdk import ChlorosLocal
chloros = ChlorosLocal()
for flight in flight_database:
chloros.create_project(flight.name)
chloros.import_images(flight.folder)
chloros.configure(indices=flight.requested_indices)
chloros.process()
Custom Workflows
# Advanced progress monitoring
def progress_callback(progress, message):
print(f"[{progress}%] {message}")
chloros = ChlorosLocal()
chloros.create_project("CustomWorkflow")
chloros.import_images("C:/Data")
chloros.configure(indices=["NDVI", "NDRE"])
chloros.process(progress_callback=progress_callback)
🔑 License Activation
The SDK uses the same license as Chloros Desktop:
- Open Chloros Desktop GUI
- Login with your Chloros+ credentials (one-time)
- SDK automatically uses cached license
- License persists across reboots (30-day offline support)
🛠️ API Reference
ChlorosLocal Class
Main SDK class for local Chloros processing.
chloros = ChlorosLocal(
api_url="http://localhost:5000", # Backend URL
auto_start_backend=True, # Auto-start if not running
backend_exe=None, # Auto-detect backend path
timeout=30 # Request timeout (seconds)
)
Methods
create_project(project_name, camera=None)
Create a new Chloros project.
import_images(folder_path, recursive=False)
Import images from a folder.
configure(**settings)
Configure processing settings.
process(mode="parallel", wait=True, progress_callback=None)
Start processing images.
get_config()
Get current project configuration.
get_status()
Get backend status.
🔐 Security
- Proprietary Software: Licensed under MAPIR proprietary license
- Local Processing: All processing happens locally (localhost API)
- License Enforcement: Requires active Chloros+ subscription
- No Data Transmission: Images never leave your computer
💡 Examples
See complete examples in the documentation.
🐛 Support
- Email: info@mapir.camera
- Website: https://www.mapir.camera
- Documentation: https://docs.chloros.com
- Pricing: https://cloud.mapir.camera/pricing
📄 License
Copyright (c) 2025 MAPIR Inc. All rights reserved.
This is proprietary software requiring an active Chloros+ subscription. Unauthorized use, distribution, or modification is prohibited.
🔄 Version History
v1.0.0 (2025)
- Initial release
- Full API coverage for local processing
- Auto-backend startup
- Progress monitoring support
- Context manager support
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chloros_sdk-1.0.0.tar.gz.
File metadata
- Download URL: chloros_sdk-1.0.0.tar.gz
- Upload date:
- Size: 643.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f4db5a0e934f1e0033e4de10cb0b22180395f5e68a14f60afab419fbd49aafa
|
|
| MD5 |
410065c54aee107cfa8fbeedef048b92
|
|
| BLAKE2b-256 |
81f2b420b707e82148262673630fd155fa5142f05c87c81feb234bd71e637fe3
|
File details
Details for the file chloros_sdk-1.0.0-py3-none-any.whl.
File metadata
- Download URL: chloros_sdk-1.0.0-py3-none-any.whl
- Upload date:
- Size: 19.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4695b918a41d3deeb6b411673d19622e1dd0980d72de57dcb8bb078d785c9053
|
|
| MD5 |
cf64687a07772eaae4db51fb0e37c6d0
|
|
| BLAKE2b-256 |
34ceafbc5973798fe3f4428618b2e0b440712bb0ab27e011070ec9d6008343eb
|