Η μετατροπή κινούμενων ιατρικών γραφικών σε μορφή που κατανοούν τα συστήματα ακτινολογίας μπορεί να αποτελεί εμπόδιο για τους προγραμματιστές. 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. Εκτέλεση του Script: Εκτελέστε τη μαζική μετατροπή όταν το module εκτελείται άμεσα.
if __name__ == "__main__":
    batch_convert_gif_folder(INPUT_FOLDER, OUTPUT_FOLDER)

Το script ολοκληρώνει το παράδειγμα μετατροπής 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 Conversion Endpoint

Παρακάτω είναι οι κλήσεις 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. Το απόσπασμα κώδικα στην ενότητα Βήματα δείχνει πώς να δημιουργήσετε το αντικείμενο 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.

  • Ποιες επιλογές αδειοδότησης είναι διαθέσιμες και πώς μπορώ να αποκτήσω προσωρινή άδεια;
    Απαιτείται εμπορική άδεια για χρήση σε παραγωγή. Μπορείτε να αποκτήσετε μια προσωρινή άδεια για αξιολόγηση από τη σελίδα προσωρινής άδειας.

Σχετικά Άρθρα