המרת גרפיקה רפואית מונפשת לפורמט שמערכות רדיולוגיה מבינות יכולה להיות צוואר בקבוק למפתחים. Aspose.Slides Cloud SDK for Python מספקת ספרייה חזקה שמפשטת משימה זו. במדריך זה תראו דוגמת המרה מלאה מ-GIF ל-DICOM בפייתון, תלמדו כיצד להגדיר אימות, לטפל בעיבוד באצף, ולחקור קריאות cURL שוות ערך לשילוב REST.

כיצד להפוך תמונות GIF לקבצי DICOM באמצעות Python - שלב אחר שלב

  1. הגדרת אימות והפעלת SlidesApi: הגדר את פרטי האימות של הלקוח וצור מופע של SlidesApi.
from asposeslidescloud import SlidesApi, Configuration

config = Configuration()
config.api_key['client_id'] = "YOUR_CLIENT_ID"
config.api_key['client_secret'] = "YOUR_CLIENT_SECRET"
slides_api = SlidesApi(configuration=config)

שלב זה מכין את הסביבה לדוגמת המרה מ‑GIF ל‑DICOM ב‑Python.

  1. הגדרת תיקיות קלט ופלט: צור תיקיות עבור קבצי GIF מקור וקבצי DICOM שנוצרו.
import os

INPUT_FOLDER = "gif_inputs"
OUTPUT_FOLDER = "dicom_outputs"
os.makedirs(OUTPUT_FOLDER, exist_ok=True)
  1. צור את פונקציית ההמרה: השתמש ב-convert_local כדי להמיר GIF ל‑DICOM, תוך העברת מטא‑נתונים אופציונליים.
def convert_gif_to_dicom(gif_path: str, dicom_path: str):
    with open(gif_path, "rb") as gif_file:
        result_bytes = slides_api.convert_local(
            file=gif_file,
            format="dicom",
            patientName="John Doe",
            patientId="123456",
            studyDescription="Sample GIF to DICOM conversion"
        )
    with open(dicom_path, "wb") as out_file:
        out_file.write(result_bytes)
  1. המרה קבוצתית של כל קבצי GIF: סרוק את תיקיית הקלט וקרא לפונקציית ההמרה עבור כל קובץ.
import glob

def batch_convert_gif_folder(input_folder: str, output_folder: str):
    gif_files = glob.glob(os.path.join(input_folder, "*.gif"))
    for gif_file in gif_files:
        base_name = os.path.splitext(os.path.basename(gif_file))[0]
        dicom_file = os.path.join(output_folder, f"{base_name}.dcm")
        convert_gif_to_dicom(gif_file, dicom_file)
  1. Execute the Script: הפעל את ההמרה האצווה כאשר המודול מבוצע ישירות.
if __name__ == "__main__":
    batch_convert_gif_folder(INPUT_FOLDER, OUTPUT_FOLDER)

הסקריפט משלים את דוגמת ההמרה מ‑GIF ל‑DICOM בפייתון ומשאיר אותך עם קבצי DICOM מוכנים לשימוש.

דוגמת קוד מלאה: המרת GIF ל‑DICOM באמצעות Aspose.Slides Cloud SDK

הקוד הבא מציג את המימוש המלא של דוגמת ההמרה מ‑GIF ל‑DICOM ב‑Python.

import os
import glob
from asposeslidescloud import SlidesApi, ApiException, Configuration

# -------------------- Setup Aspose.Slides Cloud SDK and Authentication --------------------
# Replace with your actual Aspose Cloud credentials
CLIENT_ID = "YOUR_CLIENT_ID"
CLIENT_SECRET = "YOUR_CLIENT_SECRET"

config = Configuration()
config.api_key['client_id'] = CLIENT_ID
config.api_key['client_secret'] = CLIENT_SECRET
# Optional: set the base URL if you use a different region
# config.host = "https://api.aspose.cloud"

slides_api = SlidesApi(configuration=config)

# -------------------- Prepare GIF Input and Define DICOM Parameters --------------------
INPUT_FOLDER = "gif_inputs"
OUTPUT_FOLDER = "dicom_outputs"
os.makedirs(OUTPUT_FOLDER, exist_ok=True)

# Example DICOM metadata (if the API supports passing them as query parameters)
# Here we just illustrate the idea; actual parameter names may differ.
dicom_params = {
    "patientName": "John Doe",
    "patientId": "123456",
    "studyDescription": "Sample GIF to DICOM conversion"
}

# -------------------- Write Python Script for GIF to DICOM Conversion Example --------------------
def convert_gif_to_dicom(gif_path: str, dicom_path: str):
    """
    Converts a single GIF file to DICOM format using Aspose.Slides Cloud SDK.
    """
    try:
        # Read the GIF file into memory
        with open(gif_path, "rb") as gif_file:
            # The SDK method `convert_local` returns the converted file bytes.
            # Pass the desired output format ("dicom") and any additional parameters.
            result_bytes = slides_api.convert_local(
                file=gif_file,
                format="dicom",
                # The following dictionary is illustrative; adjust according to SDK docs.
                **dicom_params
            )
        # Write the resulting DICOM bytes to the output file
        with open(dicom_path, "wb") as out_file:
            out_file.write(result_bytes)
        print(f"Converted '{gif_path}' → '{dicom_path}'")
    except ApiException as e:
        print(f"API error while converting '{gif_path}': {e}")
    except Exception as ex:
        print(f"Unexpected error while converting '{gif_path}': {ex}")

# -------------------- Batch Convert GIF Files to DICOM in Python --------------------
def batch_convert_gif_folder(input_folder: str, output_folder: str):
    """
    Scans the input folder for *.gif files and converts each to DICOM,
    storing results in the output folder.
    """
    gif_files = glob.glob(os.path.join(input_folder, "*.gif"))
    if not gif_files:
        print(f"No GIF files found in '{input_folder}'.")
        return

for gif_file in gif_files:
        base_name = os.path.splitext(os.path.basename(gif_file))[0]
        dicom_file = os.path.join(output_folder, f"{base_name}.dcm")
        convert_gif_to_dicom(gif_file, dicom_file)

# -------------------- Execute Batch Conversion --------------------
if __name__ == "__main__":
    batch_convert_gif_folder(INPUT_FOLDER, OUTPUT_FOLDER)

הערה: דוגמת קוד זו מדגימה את הפונקציונליות המרכזית. לפני השימוש בה בפרויקט שלך, ודא שאתה מעדכן את כל נתיבי הקבצים וערכי ההגדרה כך שיתאימו לסביבה האמיתית שלך, אמת שכל התלויות הנדרשות מותקנות כראוי, ובצע בדיקות מקיפות בסביבת הפיתוח שלך. אם אתה נתקל בבעיות, אנא פנה לתיעוד הרשמי או פנה לצוות התמיכה לקבלת עזרה.

שימוש ב-cURL לקריאת נקודת הקצה של המרת Aspose.Slides Cloud

להלן קריאות ה‑REST שמבצעות את אותה דוגמת המרה מ‑GIF ל‑DICOM ב‑Python באמצעות Aspose.Slides Cloud API.

  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. העלה קובץ GIF לאחסון זמני.
curl -X PUT "https://api.aspose.cloud/v3.0/slides/storage/file/gif_inputs/sample.gif" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary "@sample.gif"
  1. בקשת המרה ל‑DICOM במקביל להעברת מטא‑נתונים אופציונליים.
curl -X POST "https://api.aspose.cloud/v3.0/slides/gif_inputs/sample.gif/convert/dicom?patientName=John%20Doe&patientId=123456&studyDescription=Sample%20GIF%20to%20DICOM%20conversion" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o "dicom_outputs/sample.dcm"
  1. הורד את קובץ ה‑DICOM שנוצר (אם שמרת אותו במקום אחר).
curl -X GET "https://api.aspose.cloud/v3.0/slides/storage/file/dicom_outputs/sample.dcm" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o "sample.dcm"

למידע נוסף על פרמטרי הבקשה, ראו את הפניה ל‑API.

התקנה וקונפיגורציה Aspose.Slides Cloud SDK for Python

ה‑SDK מופץ דרך PyPI. התקן אותו באמצעות pip ואמת את נתיב ההתקנה.

pip install asposeslidescloud

לאחר ההתקנה, צור קובץ תצורה או הגדר משתני סביבה עם CLIENT_ID ו-CLIENT_SECRET שלך. קטע הקוד בחלק Steps מראה כיצד לבנות את האובייקט Configuration.

הגדרות המרה: אפשרויות ופרמטרים

ניתן להתאים את פלט ה‑DICOM על‑ידי שינוי מילון dicom_params. שדות נפוצים כוללים מידע על המטופל ותיאור המחקר.

dicom_params = {
    "patientName": "John Doe",
    "patientId": "123456",
    "studyDescription": "Sample GIF to DICOM conversion"
}

ניתן להעביר פרמטרים נוספים כגון רזולוציית תמונה או דחיסה אם נתמכים על ידי ה-API; עיינו ב-תיעוד API לקבלת הרשימה המלאה.

שאלות נפוצות

  • האם ניתן להמיר קובץ GIF יחיד ל‑DICOM באמצעות ה‑SDK?
    כן, ניתן לקרוא למתודה convert_local עבור קובץ GIF בודד. ראו את התיעוד של Aspose.Slides Cloud SDK for Python לפרטים.

  • איך אני ממיר קבצי GIF ל‑DICOM במקביל בפייתון?
    השתמש בפונקציה batch_convert_gif_folder. היא סורקת תיקייה עבור קבצי *.GIF וממירה כל אחד, מה שהופך אותה לאידיאלית עבור קבוצות גדולות של תמונות.

  • האם יש דרך להמיר DICOM חזרה ל-JPEG או ל-PNG?
    ה‑SDK מתמקד בהמרה ל‑DICOM, אך ניתן להשתמש ב‑Aspose.Imaging Cloud SDK for .NET או במוצרים נתמכים אחרים כדי לחלץ תמונות מקבצי DICOM.

  • אילו אפשרויות רישוי זמינות וכיצד ניתן לקבל רישיון זמני?
    רישיון מסחרי נדרש לשימוש בייצור. ניתן לקבל רישיון זמני להערכה מדף הרישיון הזמני דף הרישיון הזמני.

מאמרים קשורים