API : Python SDK

Chloros Python SDK は、Chloros画像処理エンジンへのプログラムによるアクセスを提供し、自動化、カスタムワークフロー、およびPythonアプリケーションや研究パイプラインとのシームレスな統合を可能にします。

主な機能

  • 🐍 ネイティブ Python - 画像処理のためのクリーンでPythonらしい API

  • 🔧 完全な API アクセス - Chloros 処理を完全に制御

  • 🚀 自動化 - カスタムバッチ処理ワークフローの構築

  • 🔗 統合 - 既存のアプリケーションへの組み込み

  • 📊 研究用途に対応 - 科学的な分析パイプラインに最適

  • 並列処理 - CPUコア数に応じたスケーリング (Chloros+)

要件

要件
詳細

Chloros がインストール済み

Windows: デスクトップインストーラー; Linux: .deb パッケージ

ライセンス

オペレーティングシステム

Windows 10/11 (64ビット)、Linux x86_64 (amd64)、Linux arm64 (NVIDIA Jetson JetPack 6)

Python

Python 3.7 以降

メモリ

8GB RAM 以上 (16GB 推奨)

インターネット

ライセンスのアクティベーションに必要

circle-exclamation

クイックスタート

インストール

pip 経由でインストール:

circle-info

初回セットアップ: SDKを使用する前に、Chloros+ライセンスを有効化してください。これを行うには、Chloros、Chloros (ブラウザ)または Chloros CLI を開き、認証情報でログインして、Chloros+ のライセンスを有効化してください。これは一度だけ行う必要があります。Linux(GUIなし)では、以下を使用してください:chloros-cli login user@example.com 'password'

基本的な使い方

数行のコードでフォルダを処理します:

circle-info

クロスプラットフォームのパス:このページのコード例では、Windows形式のパス(例:C:\\DroneImages\\Flight001)を使用しています。 Linuxでは、代わりにLinux形式のパスを使用してください(例:/home/user/drone_images/flight001または~/drone_images/flight001)。SDKは、両プラットフォームで同じように動作します。

完全制御

高度なワークフローの場合:


インストールガイド

前提条件

SDKをインストールする前に、以下がインストールされていることを確認してください:

  1. Chloros がインストール済み — Windows: デスクトップインストーラー (ダウンロード); Linux: .deb パッケージ (Linux インストール)

  2. Python 3.7+ がインストール済み (python.orgarrow-up-right)

  3. 有効な Chloros+ ライセンス (アップグレードarrow-up-right)

pip によるインストール

標準インストール:

進行状況の監視機能付き:

開発用インストール:

インストールの確認

SDKが正しくインストールされているかテストします:


初回セットアップ

ライセンスのアクティベーション

SDKは、Chloros、Chloros(ブラウザ)、およびChloros CLIと同じライセンスを使用します。 GUI または CLI を使用して一度アクティベーションを行ってください:

Windows: Chloros または Chloros (Browser) を開き、[ユーザー] タブでログインするか、CLIを使用してください。Linux: CLIを使用してください(GUIは利用不可):

ライセンスはローカルにキャッシュされ、再起動後も保持されます。

circle-check
circle-info

ログアウト: SDK ユーザーは、logout() メソッドを使用して、キャッシュされた認証情報をプログラムでクリアできます。 APIリファレンスのlogout()メソッドを参照してください。

接続テスト

SDKがChlorosに接続できることを確認します:


API リファレンス

ChlorosLocal クラス

ローカル Chloros 画像処理のメインクラス。

コンストラクタ

パラメータ:

パラメータ
デフォルト
説明

api_url

str

"http://localhost:5000"

ローカル Chloros バックエンドの URL

auto_start_backend

bool

True

必要に応じてバックエンドを自動的に起動する

backend_exe

str

None (自動検出)

バックエンド実行ファイルへのパス

timeout

int

30

リクエストタイムアウト(秒)

backend_startup_timeout

int

60

バックエンド起動のタイムアウト(秒)

例:

circle-info

クロスプラットフォーム自動検出: SDKは、お使いのプラットフォームに適したバックエンドパスを自動的に試行します:

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

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

  • Linux (手動): /opt/mapir/chloros/backend/chloros-backend


メソッド

create_project(project_name, camera=None)

新しい Chloros プロジェクトを作成します。

パラメータ:

パラメータ
必須
説明

project_name

str

はい

プロジェクト名

camera

str

いいえ

カメラテンプレート(例:「Survey3N_RGN", "Survey3W_OCN")

戻り値: dict - プロジェクト作成レスポンス例:


import_images(folder_path, recursive=False)

フォルダから画像をインポートします。

パラメータ:

パラメータ
必須
説明

folder_path

str/Path

はい

画像が含まれるフォルダのパス

recursive

bool

いいえ

サブフォルダを検索する (デフォルト: False)

戻り値: dict - ファイル数を伴うインポート結果例:


configure(**settings)

処理設定を構成します。

パラメータ:

パラメータ
デフォルト
説明

debayer

str

"Standard (Fast, Medium Quality)"

デベイヤー処理方法

vignette_correction

bool

True

ヴィネット補正を有効にする

reflectance_calibration

bool

True

反射率キャリブレーションを有効にする

indices

リスト

None

算出する植生指数

export_format

文字列

"TIFF (16ビット)"

出力形式

ppk

bool

False

PPK補正を有効にする

custom_settings

dict

None

詳細なカスタム設定

エクスポート形式:

  • "TIFF (16-bit)" - GIS/写真測量に推奨

  • "TIFF (32-bit, Percent)" - 科学分析

  • "PNG (8-bit)" - 目視検査

  • "JPG (8-bit)" - 圧縮出力

**利用可能なインデックス:**NDVI、NDRE、GNDVI、OSAVI、CIG、EVI、SAVI、 MSAVI、MTVI2、その他。例:


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

プロジェクト画像を処理します。

パラメータ:

パラメータ
タイプ
デフォルト
説明

mode

str

"parallel"

処理モード: "parallel" または "serial"

wait

bool

True

完了を待機する

progress_callback

callable

None

進行状況コールバック関数(progress, msg)

poll_interval

float

2.0

進行状況のポーリング間隔 (秒)

戻り値: dict - 処理結果

circle-exclamation

例:


get_config()

現在のプロジェクト設定を取得します。

戻り値: dict - 現在のプロジェクト設定例:


get_status()

スレッドごとの処理進捗を含むバックエンドのステータス情報を取得します。

戻り値: dict - 以下の構造を持つバックエンドのステータス:

例:


shutdown_backend()

バックエンドをシャットダウンします(SDKによって起動されている場合)。

例:


logout()

ローカルシステムからキャッシュされた認証情報をクリアします。

説明:

キャッシュされた認証情報を削除することで、プログラム的にログアウトします。これは以下の場合に役立ちます:

  • 異なる Chloros+ アカウント間の切り替え

  • 自動化された環境での認証情報のクリア

  • セキュリティ上の目的(例:アンインストール前の認証情報の削除)

戻り値: dict - ログアウト操作の結果例:

circle-info

再認証が必要: logout()を呼び出した後、Chloros、Chloros (ブラウザ)、または Chloros CLI 経由で再度ログインする必要があります。


便利機能

process_folder(folder_path, **options)

フォルダを処理するためのワンラインの便利機能。

パラメータ:

パラメータ
デフォルト
説明

folder_path

str/Path

必須

画像が含まれるフォルダのパス

project_name

str

自動生成

プロジェクト名

camera

str

None

カメラテンプレート

indices

リスト

["NDVI"]

計算するインデックス

vignette_correction

bool

True

ヴィネット補正を有効にする

reflectance_calibration

bool

True

反射率キャリブレーションを有効にする

export_format

str

"TIFF (16-bit)"

出力形式

mode

str

"parallel"

処理モード

progress_callback

呼び出し可能

None

進行状況コールバック

戻り値: dict - 処理結果例:


コンテキストマネージャのサポート

SDKは、自動クリーンアップのためのコンテキストマネージャをサポートしています:


完全な例

circle-info

Linux ユーザー: 以下のすべての例では、Windowsのパスを使用しています。C:\\...のパスを、ご自身のLinuxのパス(例:/home/user/...または~/...)に置き換えてください。 SDKの機能は、すべてのプラットフォームで同一です。

例 1: 基本処理

デフォルト設定でフォルダを処理します:


例 2: カスタムワークフロー

処理パイプラインを完全に制御します:


例 3: 複数のフォルダのバッチ処理

複数のフライトデータセットを処理します:


例 4: 研究パイプラインへの統合

Chlorosをデータ分析に統合します:


例 5: カスタム進捗モニタリング

ロギングによる高度な進捗追跡:


例 6: エラー処理

本番環境向けの堅牢なエラー処理:


例 7: アカウント管理とログアウト

プログラムによる認証情報の管理:


例 8: コマンドラインツール

SDK を使用したカスタム CLI ツールの構築:

使用方法:


例外処理

SDKは、さまざまなエラータイプに対応した特定の例外クラスを提供します:

例外階層

例外の例


応用トピック

カスタムバックエンドの設定

カスタムバックエンドの場所または設定を使用します:

ノンブロッキング処理

処理を開始し、他のタスクを継続します:

メモリ管理

大規模なデータセットの場合は、バッチ処理を行います:


トラブルシューティング

バックエンドが起動しない

問題: SDK がバックエンドの起動に失敗する解決策:

  1. Chloros がインストールされているか確認する:

  1. ファイアウォール (Windows) またはポートの可用性を確認する (Linux: lsof -i :5000)

  2. バックエンドのパスを手動で指定して試す:


ライセンスが検出されません問題: SDK がライセンスの欠落について警告を表示します解決策:

  1. Chloros、Chloros (ブラウザ) または Chloros CLI を開き、ログインしてください。

  2. ライセンスがキャッシュされていることを確認します:

  1. 認証情報に関する問題が発生している場合は、キャッシュされた認証情報を消去して再ログインします:

  1. サポートにお問い合わせください:info@mapir.camera


インポートエラー問題: ModuleNotFoundError: No module named 'chloros_sdk'解決策:


処理タイムアウト問題: 処理がタイムアウトする解決策:

  1. タイムアウト時間を延長する:

  1. 処理バッチを小さくする

  2. 空きディスク容量を確認する

  3. システムリソースを監視する


ポートが既に使用中問題: バックエンドポート 5000 が使用中解決策:

または、競合しているプロセスを見つけて終了させる:


パフォーマンスのヒント

処理速度の最適化

  1. 並列モードを使用する (Chloros以上が必要)

  1. 出力解像度を下げる(許容できる場合)

  1. 不要なインデックスを無効にする

  1. SSD上で処理する(HDDではなく)***

メモリの最適化

大規模なデータセットの場合:


バックグラウンド処理

他のタスクのためにリソースを解放する:


統合例

Django 統合

Flask API

Jupyter Notebook


よくある質問

Q: SDKはインターネット接続が必要ですか?

A: 初期のライセンス有効化時のみ必要です。Chloros、Chloros(ブラウザ)、またはChloros CLI経由でログインすると、ライセンスはローカルにキャッシュされ、30日間オフラインで動作します。***

Q: GUIのないサーバーでSDKを使用できますか?A: はい! SDKは、WindowsおよびLinuxサーバーの両方でヘッドレス動作します。Linux(ヘッドレス環境に推奨):

  • .debパッケージ経由でインストール

  • ライセンスの有効化:chloros-cli login user@example.com 'password'

Windows サーバー:

  • Windows Server 2016 以降

  • Chloros をインストール(1回のみ)

  • CLI または任意のマシンでライセンスを有効化


Q: Desktop、CLI、および SDK の違いは何ですか?

機能
デスクトップ GUI
CLI コマンドライン
Python SDK

インターフェース

ポイント&クリック

コマンドライン

Python API

最適用途

ビジュアル作業

スクリプト作成

統合

自動化

限定的

良好

優秀

柔軟性

基本

良好

最高

ライセンス

Chloros+

Chloros+

Chloros+

Q: SDKで構築したアプリを配布することはできますか?A: SDKのコードをアプリケーションに組み込むことは可能ですが、以下の条件があります:

  • エンドユーザーは Chloros をインストールしている必要があります

  • エンドユーザーは有効な Chloros+ ライセンスを保有している必要があります

  • 商用配布には OEM ライセンスが必要です

OEM に関するお問い合わせは、info@mapir.camera までご連絡ください。


Q: SDK を更新するにはどうすればよいですか?


Q: 処理済みの画像はどこに保存されますか?

デフォルトでは、プロジェクトパス内に保存されます:


Q: スケジュールに従って実行されるPythonスクリプトから画像を処理することはできますか?A: はい! OSのスケジューラを使用して、Pythonスクリプトを実行してください:

Windows: タスクスケジューラを使用して毎日実行するようにスケジュールします。Linux: cronを使用してスケジュールします:


Q: SDKはasync/awaitをサポートしていますか?A: 現在のバージョンは同期処理です。非同期動作が必要な場合は、wait=Falseを使用するか、別スレッドで実行してください:


Q: 異なる Chloros+ アカウントを切り替えるにはどうすればよいですか?A: logout() メソッドを使用してキャッシュされた認証情報をクリアし、新しいアカウントで再ログインしてください:

ログアウト後、CLIを再度使用する前に、GUI、ブラウザ、またはSDK経由で新しいアカウントで認証を行ってください。


ヘルプ

ドキュメント

  • API リファレンス: このページ

サポートチャネル

サンプルコード

ここに掲載されているすべてのサンプルはテスト済みで、本番環境での使用が可能です。ご自身のユースケースに合わせてコピーして修正してください。


SDK をご利用いただくには、有効な Chloros+ サブスクリプションが必要です。無断での使用、配布、または改変は禁止されています。

最終更新