API: Python SDK

Chloros Python SDK يوفر وصولاً برمجياً إلى محرك معالجة الصور Chloros، مما يتيح الأتمتة وسير العمل المخصص والتكامل السلس مع تطبيقات Python وخطوط البحث الخاصة بك.

الميزات الرئيسية

  • 🐍 Python الأصلي - لغة API نظيفة ومكتوبة بلغة Python لمعالجة الصور

  • 🔧 وصول كامل إلى API - تحكم كامل في معالجة Chloros

  • 🚀 الأتمتة - إنشاء سير عمل مخصص لمعالجة الدُفعات

  • 🔗 التكامل - تضمين Chloros في تطبيقات Python الحالية

  • 📊 جاهز للبحث - مثالي لمسارات التحليل العلمي

  • المعالجة المتوازية - قابل للتوسع وفقًا لعدد نوى وحدة المعالجة المركزية (Chloros+)

المتطلبات

المتطلبات
التفاصيل

Chloros مثبت

Windows: أداة تثبيت سطح المكتب؛ Linux: حزمة .deb

نظام التشغيل

Windows 10/11 (64 بت)، Linux x86_64 (amd64)، Linux arm64 (NVIDIA Jetson JetPack 6)

Python

Python 3.7 أو أعلى

الذاكرة

8 جيجابايت من ذاكرة الوصول العشوائي (RAM) كحد أدنى (يوصى بـ 16 جيجابايت)

الإنترنت

مطلوب لتنشيط الترخيص

circle-exclamation

البدء السريع

التثبيت

التثبيت عبر pip:

circle-info

الإعداد الأولي: قبل استخدام SDK، قم بتنشيط ترخيص Chloros+ عن طريق فتح Chloros، Chloros (المتصفح) أو Chloros CLI وتسجيل الدخول باستخدام بيانات اعتمادك. لا يلزم القيام بذلك سوى مرة واحدة. في Linux (بدون واجهة مستخدم رسومية)، استخدم: 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. قم بالتفعيل مرة واحدة عبر واجهة المستخدم الرسومية أو CLI:Windows:افتحChloros أو Chloros (المتصفح) وقم بتسجيل الدخول في علامة التبويب "المستخدم" ، أو استخدم CLI.Linux: استخدم CLI (لا تتوفر واجهة المستخدم الرسومية):

يتم تخزين الترخيص مؤقتًا محليًا ويستمر عبر عمليات إعادة التشغيل.

circle-check
circle-info

تسجيل الخروج: يمكن لمستخدمي SDK مسح بيانات الاعتماد المخزنة مؤقتًا برمجيًا باستخدام طريقة logout(). انظر طريقة logout() في مرجع API.

اختبار الاتصال

تحقق من أن SDK يمكنه الاتصال بـ Chloros:


مرجع API

فئة ChlorosLocal

الفئة الرئيسية لمعالجة الصور المحلية لـ Chloros.

المنشئ

المعلمات:

المعلمة
النوع
القيمة الافتراضية
الوصف

api_url

str

"http://localhost:5000"

URL للخلفية المحلية Chloros

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

"قياسي (سريع، جودة متوسطة)"

طريقة إزالة التمويه

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)" - موصى به لنظام المعلومات الجغرافية/التصوير المساحي

  • "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 قبل استخدام SDK.


وظائف الملاءمة

process_folder(folder_path, **options)

وظيفة ملاءمة من سطر واحد لمعالجة مجلد.

المعلمات:

المعلمة
النوع
الافتراضي
الوصف

folder_path

str/Path

مطلوب

مسار المجلد الذي يحتوي على الصور

project_name

str

يتم إنشاؤه تلقائيًا

اسم المشروع

camera

str

None

قالب الكاميرا

indices

قائمة

["NDVI"]

المؤشرات المطلوب حسابها

vignette_correction

منطقية

True

تمكين تصحيح التظليل

reflectance_calibration

منطقية

True

تمكين معايرة الانعكاس

export_format

سلسلة

"TIFF (16 بت)"

تنسيق الإخراج

mode

str

"parallel"

وضع المعالجة

progress_callback

callable

None

استدعاء التقدم

النتائج: dict - نتائج المعالجةمثال:


دعم مدير السياق

يدعم SDK مديري السياق للتنظيف التلقائي:


أمثلة كاملة

circle-info

مستخدمو Linux: تستخدم جميع الأمثلة أدناه مسارات Windows. استبدل مسارات C:\\... بمسارات Linux الخاصة بك (على سبيل المثال، /home/user/... أو ~/...). جميع وظائف SDK متطابقة عبر الأنظمة الأساسية.

المثال 1: المعالجة الأساسية

معالجة مجلد بالإعدادات الافتراضية:


المثال 2: سير العمل المخصص

تحكم كامل في مسار المعالجة:


المثال 3: المعالجة المجمعة لمجلدات متعددة

معالجة مجموعات بيانات رحلات متعددة:


المثال 4: تكامل مسار البحث

دمج Chloros مع تحليل البيانات:


المثال 5: مراقبة التقدم المخصصة

تتبع التقدم المتقدم باستخدام التسجيل:


المثال 6: معالجة الأخطاء

معالجة أخطاء قوية للاستخدام في الإنتاج:


المثال 7: إدارة الحساب وتسجيل الخروج

إدارة بيانات الاعتماد برمجياً:


المثال 8: أداة سطر الأوامر

إنشاء أداة CLI مخصصة باستخدام SDK:

الاستخدام:


معالجة الاستثناءات

يوفر 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)***

تحسين الذاكرة

بالنسبة لمجموعات البيانات الكبيرة:


المعالجة في الخلفية

تحرير Python لمهام أخرى:


أمثلة على التكامل

تكامل Django

Flask API

Jupyter Notebook


الأسئلة الشائعة

س: هل يتطلب SDK اتصالاً بالإنترنت؟

ج: فقط لتفعيل الترخيص الأولي. بعد تسجيل الدخول عبر Chloros أو Chloros (المتصفح) أو Chloros CLI، يتم تخزين الترخيص مؤقتًا محليًا ويعمل دون اتصال بالإنترنت لمدة 30 يومًا.***

س: هل يمكنني استخدام SDK على خادم بدون واجهة مستخدم رسومية (GUI)؟ج: نعم! يعمل SDK بدون واجهة مستخدم على كل من خادمي Windows و Linux.Linux (موصى به للاستخدام بدون واجهة):

  • التثبيت عبر حزمة .deb

  • تنشيط الترخيص: chloros-cli login user@example.com 'password'

خادم Windows:

  • خادم Windows 2016 أو أحدث

  • تثبيت Chloros (لمرة واحدة)

  • الترخيص مفعل عبر CLI أو على أي جهاز


س: ما الفرق بين Desktop و CLI و SDK؟

الميزة
واجهة المستخدم الرسومية لـ Desktop
سطر الأوامر لـ CLI
Python SDK

الواجهة

النقر بالماوس

الأوامر

Python API

الأفضل لـ

العمل المرئي

البرمجة النصية

التكامل

الأتمتة

محدودة

جيدة

ممتازة

المرونة

أساسية

جيدة

قصوى

الترخيص

Chloros+

Chloros+

Chloros+

س: هل يمكنني توزيع التطبيقات التي تم إنشاؤها باستخدام SDK؟ج: يمكن دمج كود SDK في تطبيقاتك، ولكن:

  • يحتاج المستخدمون النهائيون إلى تثبيت Chloros

  • يحتاج المستخدمون النهائيون إلى تراخيص Chloros+ نشطة

  • يتطلب التوزيع التجاري ترخيص OEM

اتصل بـ info@mapir.camera للاستفسارات المتعلقة بـ OEM.


س: كيف أقوم بتحديث SDK؟


س: أين يتم حفظ الصور المعالجة؟

بشكل افتراضي، في مسار المشروع:


س: هل يمكنني معالجة الصور من نصوص Python التي تعمل وفقًا لجدول زمني؟ج: نعم! استخدم جدولة نظام التشغيل مع نصوص Python:

Windows: قم بالجدولة عبر "جدولة المهام" للتشغيل يوميًا.Linux: قم بالجدولة عبر cron:


س: هل يدعم SDK async/await؟ج: الإصدار الحالي متزامن. للحصول على سلوك غير متزامن، استخدم wait=False أو قم بالتشغيل في مؤشر ترابط منفصل:


س: كيف يمكنني التبديل بين حسابات Chloros+ المختلفة؟ج: استخدم طريقة logout() لمسح بيانات الاعتماد المخزنة مؤقتًا، ثم أعد تسجيل الدخول باستخدام الحساب الجديد:

بعد تسجيل الخروج، قم بالمصادقة باستخدام الحساب الجديد عبر واجهة المستخدم الرسومية (GUI) أو المتصفح أو CLI قبل استخدام SDK مرة أخرى.


الحصول على المساعدة

الوثائق

  • مرجع API: هذه الصفحة

قنوات الدعم

أمثلة على الكود

جميع الأمثلة المدرجة هنا تم اختبارها وهي جاهزة للاستخدام. انسخها وقم بتكييفها لتناسب حالتك.


الترخيصبرنامج مملوك - حقوق النشر (c) 2025 MAPIR Inc.

يتطلب SDK اشتراكًا نشطًا في Chloros+. يُحظر الاستخدام أو التوزيع أو التعديل غير المصرح به.

Last updated