تحويل الصور الطبية من DICOM إلى JPG هو مهمة شائعة عندما تحتاج تطبيقات الأشعة إلى عرض الدراسات في بوابات الويب أو عارضات الهواتف المحمولة. يوفر Aspose.HTML Cloud SDK for Python مكتبة قوية تتولى التعامل مع المعالجة الثقيلة على جانب الخادم. في هذا الدليل ستتعلم كيفية تنفيذ تحويل DICOM إلى JPG باستخدام بايثون خطوة بخطوة، وتستكشف خيارات متعددة الخيوط، وتعرف كيف تستدعي نفس الخدمة باستخدام cURL لتدفقات العمل القائمة على REST.
متطلبات تحويل DICOM إلى JPG
غالبًا ما تتلقى محطات عمل الأشعة ملفات DICOM يجب تحويلها إلى صور مصغرة بصيغة JPG خفيفة الوزن للمعاينة السريعة. يحتاج المطورون إلى حل يحقق ذلك:
- يقرأ بيانات DICOM الثنائية دون الاعتماد على مكتبات التصوير الخارجية.
- يحول الصورة إلى تنسيق مدعوم على نطاق واسع مثل JPG مع الحفاظ على الجودة التشخيصية.
- يتعامل مع كميات كبيرة من الملفات بكفاءة، ويفضل أن يكون ذلك باستخدام المعالجة المتوازية.
التحويل اليدوي باستخدام أدوات سطح المكتب يستغرق وقتًا طويلاً ولا يتناسب مع خطوط الأنابيب على الخادم، مما يجعل واجهة برمجة التطبيقات الآلية ضرورية لبرمجيات الأشعة الحديثة.
النهج: سير عمل التحويل السحابي المحسن
Aspose.HTML Cloud SDK for Python يقدم واجهة برمجة تطبيقات سحابية تُجرد منطق التحويل. الخدمة:
- يقبل بايتات DICOM الخام ويعيد تدفق بايتات JPG.
- يتم التنفيذ في سحابة Aspose، مما يلغي الحاجة إلى محللات DICOM المحلية.
- يوفر خيارات التكوين لجودة الصورة، الدقة، والتنفيذ متعدد الخيوط.
ارجع إلى التوثيق الرسمي للحصول على تفاصيل المصادقة ومرجع API لفئة ConvertDocumentRequest المستخدمة في هذا البرنامج التعليمي.
تنفيذ تحويل DICOM إلى JPG باستخدام Python
فيما يلي تنفيذ عملي خطوة‑بخطوة يمكنك دمجه في أي نظام خلفي للأشعة.
تثبيت Aspose.HTML Cloud SDK for Python
pip install asposehtmlcloud
تكوين عميل API باستخدام بيانات الاعتماد الخاصة بك
from asposehtmlcloud import HtmlApi, Configuration
config = Configuration()
config.api_key['api_key'] = api_key # Replace with your actual API key
config.host = "https://api.aspose.cloud"
html_api = HtmlApi(config)
تحميل ملف DICOM إلى الذاكرة
with open(input_file, "rb") as f:
dicom_bytes = f.read()
إنشاء طلب تحويل لإخراج JPG
from asposehtmlcloud import ConvertDocumentRequest
request = ConvertDocumentRequest(
file=dicom_bytes,
format="jpg"
)
Write JPG Bytes to Disk
jpg_bytes = html_api.convert_document(request)
with open(output_file, "wb") as out_f:
out_f.write(jpg_bytes)
مع هذه الخطوات يصبح سير عمل تحويل DICOM إلى JPG مكتملًا، ويمكنك الآن دمج الأداة في خطوط أنابيب أكبر أو استدعاؤها من سكريبتات سطر الأوامر.
أداة تحويل DICOM إلى JPG - مثال كامل للكود
يوضح المثال التالي العملية الكاملة من البداية إلى النهاية.
import os
from asposehtmlcloud import HtmlApi, Configuration, ConvertDocumentRequest
def dicom_to_jpg(input_file: str, output_file: str, api_key: str):
# Configure Aspose.HTML Cloud SDK
config = Configuration()
config.api_key['api_key'] = api_key # Replace with your actual API key
config.host = "https://api.aspose.cloud"
# Initialize the API client
html_api = HtmlApi(config)
# Read the DICOM file into memory
with open(input_file, "rb") as f:
dicom_bytes = f.read()
# Build the conversion request (target format: jpg)
request = ConvertDocumentRequest(
file=dicom_bytes,
format="jpg"
)
# Perform conversion – the response is a binary stream of the JPG image
jpg_bytes = html_api.convert_document(request)
# Write the resulting JPG to disk
with open(output_file, "wb") as out_f:
out_f.write(jpg_bytes)
if __name__ == "__main__":
# Example usage
INPUT_DICOM = "sample.dcm" # Path to your source DICOM file
OUTPUT_JPG = "sample_converted.jpg" # Desired output path
API_KEY = "YOUR_ASPOSE_CLOUD_API_KEY"
dicom_to_jpg(INPUT_DICOM, OUTPUT_JPG, API_KEY)
ملاحظة: يوضح مثال الشيفرة هذا الوظيفة الأساسية. قبل استخدامه في مشروعك، تأكد من تحديث أي مسارات ملفات وقيم التكوين لتطابق بيئتك الفعلية، وتحقق من تثبيت جميع الاعتمادات المطلوبة بشكل صحيح، واختبر بدقة في بيئة التطوير الخاصة بك. إذا واجهت أي مشكلات، يرجى الرجوع إلى الوثائق الرسمية أو التواصل مع فريق الدعم للحصول على المساعدة.
تحويل متعدد الخيوط عبر REST API باستخدام cURL
إذا كنت تفضل نهج REST النقي، يمكن تنفيذ نفس التحويل باستخدام أوامر cURL. هذا مفيد لأتمتة سطر الأوامر أو التكامل مع خطوط أنابيب CI.
- الحصول على رمز الوصول
curl -X POST "https://api.aspose.cloud/connect/token" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- تحميل ملف DICOM
curl -X PUT "https://api.aspose.cloud/v4.0/html/storage/file/sample.dcm" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/dicom" \
--data-binary "@sample.dcm"
- طلب التحويل إلى JPG
curl -X POST "https://api.aspose.cloud/v4.0/html/convert?format=jpg" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"FileName":"sample.dcm"}' \
-o sample_converted.jpg
- تحميل ملف JPG المحول (إذا لم يتم حفظه مباشرة)
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/sample_converted.jpg" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o sample_converted.jpg
توضح هذه الأوامر سير عمل تحويل متعدد الخيوط حيث يمكن معالجة ملفات متعددة بالتوازي عن طريق إصدار عدة أزواج تحميل/تحويل في نفس الوقت. للحصول على تفاصيل كاملة حول API، راجع وثائق API الرسمية.
تكوين خيارات التحويل من DICOM إلى JPG
يتيح لك SDK ضبط المخرجات بدقة. تشمل الخيارات الشائعة:
- جودة الصورة - اضبط مستوى ضغط JPEG (0‑100).
- الدقة - حدد DPI للإخراج عالي الدقة.
- وضع اللون - اختر بين التدرج الرمادي واللون إذا كان DICOM يحتوي على بيانات لونية.
يمكنك تمرير هذه الخيارات في حمولة الطلب. على سبيل المثال، لتعيين الجودة:
request = ConvertDocumentRequest(
file=dicom_bytes,
format="jpg",
options={"quality": 90}
)
جميع المعلمات المدعومة موصوفة في مرجع API. جرب هذه الإعدادات لتحقيق أفضل توازن بين حجم الملف ووضوح التشخيص، خاصةً عند العمل مع مجموعات بيانات DICOM الكبيرة.
الخلاصة
تحويل DICOM إلى JPG في Python يصبح بسيطًا مع Aspose.HTML Cloud SDK for Python. المكتبة تتعامل مع الأعمال الشاقة، وتوفر تنفيذًا متعدد الخيوط لبيئات ذات إنتاجية عالية، وتمنح تحكمًا دقيقًا في جودة الصورة. تذكر أن تحصل على ترخيص تجاري مناسب للنشر في بيئات الإنتاج؛ تفاصيل الأسعار متاحة على صفحة المنتج، ويمكن الحصول على ترخيص مؤقت من صفحة الترخيص المؤقت. باستخدام الكود وأمثلة cURL أعلاه، يمكنك دمج تحويل DICOM إلى JPG موثوق به في أي تطبيق راديولوجي اليوم.
الأسئلة المتكررة
ما هي صيغ الملفات التي يمكن لـ Aspose.HTML Cloud SDK تحويلها بخلاف DICOM؟
يدعم SDK مجموعة واسعة من الصيغ بما في ذلك PDF، PNG، BMP، GIF، TIFF، و SVG. راجع الوثائق للحصول على القائمة الكاملة.
هل من الممكن تشغيل التحويل دون تثبيت أي أدوات خارجية؟
نعم. يتم تنفيذ التحويل بالكامل في السحابة، لذلك لا تحتاج إلى أي مكتبات DICOM محلية أو أدوات معالجة الصور.
كيف يُحسّن التحويل متعدد الخيوط الأداء؟
من خلال إصدار عدة طلبات تحويل بالتوازي، يمكنك الاستفادة من نوى CPU المتعددة على خوادم Aspose، مما يقلل من إجمالي وقت المعالجة للدفعات الكبيرة من ملفات DICOM.
هل يمكنني استخدام SDK في برنامج نصي سطر الأوامر؟
بالطبع. توضح أمثلة cURL المقدمة سير عمل سطر الأوامر، ويمكن تنفيذ برنامج Python مباشرة من الطرفية أو كمهام مجدولة.