تبدیل تصاویر پزشکی از DICOM به JPG یک کار رایج است زمانی که برنامه‌های رادیولوژی نیاز به نمایش مطالعات در پورتال‌های وب یا نمایشگرهای موبایل دارند. Aspose.HTML Cloud SDK for Python کتابخانه‌ای قدرتمند فراهم می‌کند که بار سنگین را در سمت سرور بر عهده می‌گیرد. در این راهنما شما یاد خواهید گرفت که چگونه تبدیل DICOM به JPG را در پایتون گام به گام پیاده‌سازی کنید، گزینه‌های چندنخی را بررسی کنید و ببینید چگونه می‌توان همان سرویس را با cURL برای جریان‌های کاری مبتنی بر REST فراخوانی کرد.

نیازمندی‌های تبدیل DICOM به JPG

ایستگاه‌های کاری رادیولوژی اغلب فایل‌های DICOM دریافت می‌کنند که باید به عنوان تصویرهای کوچک JPG سبک برای پیش‌نمایش سریع رندر شوند. توسعه‌دهندگان به راه‌حلی نیاز دارند که:

  • داده‌های باینری DICOM را بدون وابستگی به کتابخانه‌های تصویری خارجی می‌خواند.
  • تصویر را به فرمت گسترده‌ای مانند JPG تبدیل می‌کند در حالی که کیفیت تشخیصی را حفظ می‌کند.
  • حجم بزرگ فایل‌ها را به‌صورت کارآمد مدیریت می‌کند و ایده‌آلاً با پردازش موازی.

تبدیل دستی با استفاده از ابزارهای دسکتاپ زمان‌بر است و برای خطوط لوله سمت سرور مقیاس‌پذیر نیست، که یک API خودکار را برای نرم‌افزارهای رادیولوژی مدرن ضروری می‌سازد.

رویکرد: جریان کار بهینه‌سازی تبدیل ابری

Aspose.HTML Cloud SDK for Python یک API مبتنی بر ابر ارائه می‌دهد که منطق تبدیل را انتزاع می‌کند. سرویس:

  • دیتای خام DICOM را می‌پذیرد و یک جریان بایت JPG برمی‌گرداند.
  • در ابر Aspose اجرا می‌شود و نیاز به تجزیه‌کننده‌های محلی DICOM را از بین می‌برد.
  • گزینه‌های پیکربندی برای کیفیت تصویر، وضوح و اجرای چندنخی را فراهم می‌کند.

برای جزئیات احراز هویت به مستندات رسمی مراجعه کنید و برای کلاس ConvertDocumentRequest که در این آموزش استفاده شده است به مرجع API مراجعه کنید.

پیاده‌سازی تبدیل DICOM به JPG در پایتون

در ادامه یک پیاده‌سازی عملی و گام‌به‌گام آورده شده است که می‌توانید آن را در هر بک‌اند رادیولوژی ادغام کنید.

نصب 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"
)

نوشتن بایت‌های JPG به دیسک

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 مفید است.

  1. دریافت توکن دسترسی
curl -X POST "https://api.aspose.cloud/connect/token" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. بارگذاری فایل 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"
  1. درخواست تبدیل به 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
  1. دانلود 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 می‌تواند مستقیماً از یک ترمینال یا کار زمان‌بندی شده اجرا شود.

بیشتر بخوانید