API : Python SDK

Chloros Python SDK ให้การเข้าถึงโปรแกรมประมวลผลภาพ Chloros ซึ่งช่วยให้ทำงานอัตโนมัติ เวิร์กโฟลว์แบบกำหนดเอง และการผสานรวมที่ราบรื่นกับแอปพลิเคชัน Python และไปป์ไลน์การวิจัยของคุณ

คุณสมบัติที่สำคัญ

  • 🐍 Native Python - สะอาด, Pythonic API สำหรับการประมวลผลภาพ

  • ???? การเข้าถึง API แบบเต็ม - ควบคุมการประมวลผล Chloros ได้อย่างสมบูรณ์

  • 🚀 ระบบอัตโนมัติ - สร้างเวิร์กโฟลว์การประมวลผลแบบแบตช์แบบกำหนดเอง

  • 🔗 บูรณาการ - ฝัง Chloros ในแอปพลิเคชัน Python ที่มีอยู่

  • 📊 พร้อมการวิจัย - เหมาะสำหรับไปป์ไลน์การวิเคราะห์ทางวิทยาศาสตร์

  • การประมวลผลแบบขนาน - ปรับขนาดตามคอร์ CPU ของคุณ (Chloros+)

ความต้องการ

ข้อกำหนด
รายละเอียด

Chloros ติดตั้งแล้ว

Windows: ตัวติดตั้งเดสก์ท็อป; Linux: แพ็คเกจ .deb

ระบบปฏิบัติการ

Windows 10/11 (64 บิต), Linux x86_64 (amd64), Linux arm64 (NVIDIA Jetson JetPack 6)

Python

Python 3.7 หรือสูงกว่า

ความทรงจำ

RAM ขั้นต่ำ 8GB (แนะนำ 16GB)

อินเตอร์เน็ต

จำเป็นสำหรับการเปิดใช้งานใบอนุญาต

circle-exclamation

เริ่มต้นอย่างรวดเร็ว

การติดตั้ง

ติดตั้งผ่าน pip:

circle-info

การตั้งค่าครั้งแรก: ก่อนใช้ SDK ให้เปิดใช้งานใบอนุญาต Chloros+ ของคุณโดยเปิด Chloros, Chloros (เบราว์เซอร์) หรือ Chloros CLI และเข้าสู่ระบบด้วยข้อมูลประจำตัวของคุณ ต้องทำเพียงครั้งเดียวเท่านั้น บน 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 (เบราว์เซอร์) และเข้าสู่ระบบในแท็บผู้ใช้ หรือใช้ CLILinux: ใช้ CLI (ไม่มี GUI):

ใบอนุญาตถูกแคชไว้ภายในเครื่องและคงอยู่ตลอดการรีบูต

circle-check
circle-info

ออกจากระบบ: ผู้ใช้ SDK สามารถล้างข้อมูลรับรองแคชโดยทางโปรแกรมโดยใช้วิธี logout() ดู วิธีการออกจากระบบ() ในการอ้างอิง API

ทดสอบการเชื่อมต่อ

ตรวจสอบว่า SDK สามารถเชื่อมต่อกับ Chloros ได้:


API อ้างอิง

คลอรอสคลาสท้องถิ่น

คลาสหลักสำหรับการประมวลผลภาพ Chloros ในเครื่อง

ตัวสร้าง

พารามิเตอร์:

พารามิเตอร์
พิมพ์
ค่าเริ่มต้น
คำอธิบาย

api_url

STR

"http://localhost:5000"

URL ของแบ็กเอนด์ Chloros ในเครื่อง

auto_start_backend

บูล

True

เริ่มแบ็กเอนด์โดยอัตโนมัติหากจำเป็น

backend_exe

STR

None (ตรวจจับอัตโนมัติ)

เส้นทางไปยังไฟล์ปฏิบัติการแบ็กเอนด์

timeout

อินท์

30

ขอหมดเวลาเป็นวินาที

backend_startup_timeout

อินท์

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/เส้นทาง

ใช่

เส้นทางไปยังโฟลเดอร์ที่มีรูปภาพ

recursive

บูล

ไม่

ค้นหาโฟลเดอร์ย่อย (ค่าเริ่มต้น: False)

การส่งคืน: dict - นำเข้าผลลัพธ์พร้อมจำนวนไฟล์ตัวอย่าง:


configure(**settings)

กำหนดการตั้งค่าการประมวลผล

พารามิเตอร์:

พารามิเตอร์
พิมพ์
ค่าเริ่มต้น
คำอธิบาย

debayer

STR

"มาตรฐาน (เร็ว คุณภาพปานกลาง)"

วิธีการ Debayer

vignette_correction

บูล

True

เปิดใช้งานการแก้ไขบทความสั้น

reflectance_calibration

บูล

True

เปิดใช้งานการปรับเทียบการสะท้อนแสง

indices

รายการ

None

ดัชนีพืชพรรณที่จะคำนวณ

export_format

STR

"TIFF (16 บิต)"

รูปแบบเอาต์พุต

ppk

บูล

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"

โหมดการประมวลผล: "ขนาน" หรือ "อนุกรม"

wait

บูล

True

รอให้เสร็จสิ้น

progress_callback

โทรได้

None

ฟังก์ชั่นการเรียกกลับความคืบหน้า (ความคืบหน้า, msg)

poll_interval

ลอย

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/เส้นทาง

จำเป็น

เส้นทางไปยังโฟลเดอร์ที่มีรูปภาพ

project_name

STR

สร้างอัตโนมัติ

ชื่อโครงการ

camera

STR

None

แม่แบบกล้อง

indices

รายการ

["NDVI"]

ดัชนีที่จะคำนวณ

vignette_correction

บูล

True

เปิดใช้งานการแก้ไขบทความสั้น

reflectance_calibration

บูล

True

เปิดใช้งานการปรับเทียบการสะท้อนแสง

export_format

STR

"TIFF (16 บิต)"

รูปแบบเอาต์พุต

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: เครื่องมือบรรทัดคำสั่ง

สร้างเครื่องมือ 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

กระติกน้ำ API

สมุดบันทึกจูปีเตอร์


คำถามที่พบบ่อย

ถาม: SDK จำเป็นต้องเชื่อมต่ออินเทอร์เน็ตหรือไม่?

A: สำหรับการเปิดใช้งานใบอนุญาตครั้งแรกเท่านั้น หลังจากเข้าสู่ระบบผ่าน Chloros, Chloros (เบราว์เซอร์) หรือ Chloros CLI ใบอนุญาตจะถูกแคชในเครื่องและทำงานแบบออฟไลน์เป็นเวลา 30 วัน***

ถาม: ฉันสามารถใช้ SDK บนเซิร์ฟเวอร์ที่ไม่มี GUI ได้หรือไม่?ก. ใช่! SDK ทำงานแบบไม่มีส่วนหัวบนเซิร์ฟเวอร์ Windows และ LinuxLinux (แนะนำสำหรับผู้ที่ไม่มีหัว):**

  • ติดตั้งผ่านแพ็คเกจ .deb

  • เปิดใช้งานใบอนุญาต: chloros-cli login user@example.com 'password'

เซิร์ฟเวอร์ Windows:

  • Windows เซิร์ฟเวอร์ 2016 หรือใหม่กว่า

  • ติดตั้ง Chloros (ครั้งเดียว)

  • ใบอนุญาตเปิดใช้งานผ่าน CLI หรือบนเครื่องใด ๆ


ถาม: เดสก์ท็อป, CLI และ SDK แตกต่างกันอย่างไร

คุณสมบัติ
GUI เดสก์ท็อป
CLI บรรทัดคำสั่ง
Python SDK

อินเทอร์เฟซ

คลิกชี้

คำสั่ง

Python API

ดีที่สุดสำหรับ

งานทัศนศิลป์

การเขียนสคริปต์

บูรณาการ

ระบบอัตโนมัติ

จำกัด

ดี

ดีเยี่ยม

ความยืดหยุ่น

พื้นฐาน

ดี

สูงสุด

ใบอนุญาต

Chloros+

Chloros+

Chloros+

ถาม: ฉันสามารถเผยแพร่แอปที่สร้างด้วย SDK ได้หรือไม่ตอบ: รหัส SDK สามารถรวมเข้ากับแอปพลิเคชันของคุณได้ แต่:

  • ผู้ใช้ปลายทางจำเป็นต้องติดตั้ง Chloros

  • ผู้ใช้ปลายทางต้องมีใบอนุญาต Chloros+ ที่ใช้งานได้

  • การจำหน่ายเชิงพาณิชย์ต้องมีใบอนุญาต OEM

ติดต่อ info@mapir.camera เพื่อสอบถามข้อมูล OEM


ถาม: ฉันจะอัพเดต SDK ได้อย่างไร?


ถาม: ภาพที่ประมวลผลแล้วจะถูกบันทึกไว้ที่ไหน?

ตามค่าเริ่มต้นในเส้นทางโครงการ :


ถาม: ฉันสามารถประมวลผลภาพจากสคริปต์ Python ที่ทำงานตามกำหนดเวลาได้หรือไม่**ก. ใช่! ใช้ตัวกำหนดเวลา OS ของคุณกับสคริปต์ Python:

Windows: กำหนดเวลาผ่าน Task Scheduler เพื่อให้ทำงานทุกวันLinux: กำหนดการผ่าน cron:


ถาม: SDK รองรับ async/await หรือไม่A: เวอร์ชันปัจจุบันเป็นแบบซิงโครนัส สำหรับการทำงานแบบอะซิงก์ ให้ใช้ wait=False หรือรันในเธรดแยกกัน:


ถาม: ฉันจะสลับระหว่างบัญชี Chloros+ ที่แตกต่างกันได้อย่างไรA: ใช้วิธี logout() เพื่อล้างข้อมูลประจำตัวที่แคชไว้ จากนั้นเข้าสู่ระบบอีกครั้งด้วยบัญชีใหม่:

หลังจากออกจากระบบ ให้ตรวจสอบสิทธิ์กับบัญชีใหม่ผ่าน GUI, เบราว์เซอร์ หรือ CLI ก่อนที่จะใช้ SDK อีกครั้ง


การขอความช่วยเหลือ

เอกสารประกอบ

  • API อ้างอิง: หน้านี้

ช่องทางการสนับสนุน

โค้ดตัวอย่าง

ตัวอย่างทั้งหมดที่แสดงไว้ที่นี่ได้รับการทดสอบและพร้อมสำหรับการผลิต คัดลอกและปรับใช้ให้เหมาะกับกรณีการใช้งานของคุณ


ใบอนุญาตซอฟต์แวร์ที่เป็นกรรมสิทธิ์ - ลิขสิทธิ์ (c) 2025 MAPIR Inc.

SDK จำเป็นต้องมีการสมัครสมาชิก Chloros+ ที่ใช้งานอยู่ ห้ามใช้ แจกจ่าย หรือดัดแปลงโดยไม่ได้รับอนุญาต

Last updated