ანიმაციურ სამედიცინო გრაფიკას ფორმატში, რომელსაც რადიოლოგიის სისტემები იციან, გადაყვანა შეიძლება იყოს ბოტლნეკი დეველოპერებისთვის. Aspose.Slides Cloud SDK for Python იძლევა ძლიერი ბიბლიოთეკა, რომელიც ამ დავალებას გამარტივებს. ამ გიდში თქვენ ნახავთ სრულ GIF‑დან DICOM ფორმატში გადაყვანის მაგალითს Python-ში, გაიგებთ, როგორ დავაყენოთ აუტენტიფიკაცია, დავამუშაოთ ბაჩის დამუშავება, და განისწავლოთ შესაბამისი 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. სკრიპტის შესრულება: გაუშვით ბაჩის კონვერტაცია, როდესაც მოდული შესრულდება პირდაპირ.
if __name__ == "__main__":
    batch_convert_gif_folder(INPUT_FOLDER, OUTPUT_FOLDER)

სკრიპტი სრულდება GIF‑დან DICOM‑ის კონვერტაციის მაგალითს Python-ში და გთავაზობთ მზად‑საყრილ 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 ფორმატში Python-ში?
    გამოიყენეთ batch_convert_gif_folder ფუნქცია. იგი სკანირებს საქაღალდეს *.GIF ფაილებისთვის და გადაყვანის თითოეულს, რაც იდეალურია დიდი სურათების ნაკრებისთვის.

  • არის გზა DICOM‑ის უკან გადაყვანა JPEG ან PNG?
    SDK‑ი ორიენტირებულია DICOM-ზე გადაყვანაზე, თუმცა შეგიძლიათ გამოიყენოთ Aspose.Imaging Cloud SDK for .NET ან სხვა მხარდაჭერილი პროდუქტები, რათა გამოიღოთ სურათები DICOM ფაილებიდან.

  • რა ლიცენზირების არჩევნებია ხელმისაწვდომი და როგორ შეიძლება დროებითი ლიცენზია მიიღოთ?
    სამუშაო გარემოში გამოყენებისთვის საჭიროა კომერციული ლიცენზია. შეგიძლიათ მიიღოთ დროებითი ლიცენზია შეფასებისთვის დროებითი ლიცენზიის გვერდი.

დაკავშირებული სტატიები