API : Python SDK

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

主な機能

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

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

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

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

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

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

要件

要件
詳細

Chloros Desktop

ローカルにインストール済みであること

ライセンス

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

Windows 10/11 (64ビット)

XPROTX

XPROTX 3.7 以上

メモリ

8GB RAM以上必須 (16GB推奨)

インターネット接続

ライセンス有効化に必須

circle-info

ライセンス要件: Python SDK の利用には、有料の Chloros+ サブスクリプションが必要です。 標準(無料)プランでは API/SDK へのアクセス権がありません。アップグレードには https://cloud.mapir.camera/pricingarrow-up-right をご覧ください。

クイックスタート

インストール

pip経由でインストール:

circle-info

初回設定: SDK を使用する前に、Chloros+ ライセンスを有効化してください。Chloros、Chloros (ブラウザ) または Chloros CLI を起動し、認証情報でログインして Chloros+ のライセンスを有効化してください。この操作は一度だけ必要です。

基本操作

数行のみのフォルダ処理:

詳細操作

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


インストールガイド

事前準備

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

  1. Chloros Desktop がインストール済み (ダウンロード)

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

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

pip 経由でのインストール

標準インストール:

進行状況モニタリングサポート付き:

開発用インストール:

インストール確認

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


初回セットアップ

ライセンスの有効化

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

  1. **ChlorosまたはChloros(ブラウザ)**を開き、ユーザー タブでログインします。または、CLIを開きます。

  2. Chloros+の認証情報を入力し、ログインします

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

circle-info

初回設定: GUIまたはCLI経由でログイン後、SDKは自動的にキャッシュされたライセンスを使用します。追加認証は不要です!

circle-info

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

接続テスト

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


API リファレンス

ChlorosLocal クラス

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

コンストラクタ

パラメータ:

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

api_url

str

"http://localhost:5000"

URL ローカルChloros バックエンドの"http://localhost:5000"

auto_start_backend

bool

True

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

backend_exe

str

None (自動検出)

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

timeout

int

30

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

backend_startup_timeout

int

60

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

例:


メソッド

create_project(project_name, camera=None)

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

パラメータ:

パラメータ
必須
説明

project_name

str

Yes

プロジェクト名

camera

str

No

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

返り値: dict - プロジェクト作成応答例:


import_images(folder_path, recursive=False)

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

パラメータ:

パラメータ
必須
説明

folder_path

文字列/パス

必須

画像を含むフォルダのパス

recursive

ブール値

任意

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

戻り値: dict - ファイル数付きインポート結果例:


configure(**settings)

処理設定を構成します。

パラメータ:

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

debayer

str

"高品質(高速)"

デベイヤー法

vignette_correction

bool

True

ヴィネット補正を有効化

reflectance_calibration

bool

True

反射率キャリブレーション有効化

indices

list

None

計算対象植生指数

export_format

str

"TIFF (16-bit)"

出力フォーマット

ppk

bool

False

PPK補正を有効化

custom_settings

辞書

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-info

並列モード: Chloros+ ライセンスが必要。CPU コア数に応じて自動スケーリング(最大 16 ワーカー)。

例:


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

文字列

None

カメラテンプレート

indices

リスト

["NDVI"]

計算対象のインデックス

vignette_correction

bool

True

ビネット補正を有効化

reflectance_calibration

bool

True

反射率キャリブレーション有効化

export_format

str

"TIFF (16-bit)"

出力フォーマット

mode

str

"parallel"

処理モード

progress_callback

callable

None

進行状況コールバック

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


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

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


完全な例

例 1: 基本処理

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


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

処理パイプラインの完全制御:


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

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


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

Chloros をデータ分析と統合:


例 5: カスタム進捗監視

ログ記録による高度な進捗追跡:


例 6: エラー処理

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


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

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


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

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

使用方法:


例外処理

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

例外階層

例外の例


高度なトピック

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

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

非ブロッキング処理

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

メモリ管理

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


トラブルシューティング

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

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

  1. Chloros Desktop がインストールされていることを確認:

  1. Windows ファイアウォールがブロックしていないか確認

  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ではなく)***

メモリ最適化

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


バックグラウンド処理

他のタスク用にPythonを解放:


統合例

Django統合

Flask API

Jupyter Notebook


FAQ

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

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

Q: GUIのないサーバーでSDKを使用できますか?A: はい!要件:

  • Windows Server 2016以降

  • Chloros のインストール(1回限り)

  • いずれかのマシンでライセンスをアクティベート(キャッシュされたライセンスがサーバーにコピーされます)


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: スケジュールで実行されるスクリプトから画像を処理できますか?A: はい!Windows タスクスケジューラとPython スクリプトを使用してください:

タスク スケジューラで毎日実行するようスケジュール設定してください。


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


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

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


ヘルプの入手方法

ドキュメント

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

サポートチャネル

サンプルコード

ここに記載されているすべての例はテスト済みで、本番環境での使用が可能です。ご自身のユースケースに合わせてコピーし、適宜変更してください。


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

最終更新