Die Konvertierung animierter medizinischer Grafiken in ein Format, das Radiologiesysteme verstehen, kann für Entwickler ein Engpass sein. Aspose.Slides Cloud SDK for Python bietet eine leistungsstarke Bibliothek, die diese Aufgabe vereinfacht. In diesem Leitfaden sehen Sie ein vollständiges Beispiel für die Konvertierung von GIF zu DICOM in Python, lernen, wie Sie die Authentifizierung einrichten, die Stapelverarbeitung handhaben und gleichwertige cURL‑Aufrufe für die REST‑Integration erkunden.
Wie man GIF-Bilder mit Python in DICOM-Dateien umwandelt – Schritt für Schritt
- Authentifizierung konfigurieren und SlidesApi initialisieren: Legen Sie Ihre Client‑Anmeldeinformationen fest und erstellen Sie eine SlidesApi‑Instanz.
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)
Dieser Schritt bereitet die Umgebung für das GIF‑zu‑DICOM‑Konvertierungsbeispiel in Python vor.
- Eingabe- und Ausgabeverzeichnisse definieren: Erstellen Sie Ordner für Quell‑GIFs und generierte DICOM‑Dateien.
import os
INPUT_FOLDER = "gif_inputs"
OUTPUT_FOLDER = "dicom_outputs"
os.makedirs(OUTPUT_FOLDER, exist_ok=True)
- Erstellen Sie die Konvertierungsfunktion: Verwenden Sie
convert_local, um ein GIF in DICOM zu konvertieren und optionale Metadaten zu übergeben.
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)
- Alle GIF-Dateien stapelweise konvertieren: Durchsuchen Sie den Eingabeordner und rufen Sie die Konvertierungsfunktion für jede Datei auf.
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)
- Skript ausführen: Führen Sie die Batch‑Konvertierung aus, wenn das Modul direkt ausgeführt wird.
if __name__ == "__main__":
batch_convert_gif_folder(INPUT_FOLDER, OUTPUT_FOLDER)
Das Skript schließt das GIF‑zu‑DICOM‑Konvertierungsbeispiel in Python ab und liefert Ihnen einsatzbereite DICOM‑Dateien.
Vollständiges Codebeispiel: GIF-zu-DICOM-Konvertierung mit Aspose.Slides Cloud SDK
Der folgende Code zeigt die vollständige Implementierung des GIF‑zu‑DICOM‑Konvertierungsbeispiels in 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)
Hinweis: Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass Sie alle Dateipfade und Konfigurationswerte an Ihre tatsächliche Umgebung anpassen, dass alle erforderlichen Abhängigkeiten ordnungsgemäß installiert sind und testen Sie gründlich in Ihrer Entwicklungsumgebung. Wenn Sie auf Probleme stoßen, lesen Sie bitte die offizielle Dokumentation oder wenden Sie sich an das Support-Team für Unterstützung.
Verwendung von cURL zum Aufrufen des Aspose.Slides Cloud-Konvertierungsendpunkts
Unten finden Sie die REST‑Aufrufe, die dasselbe GIF‑zu‑DICOM‑Konvertierungsbeispiel in Python über die Aspose.Slides Cloud API ausführen.
- Ein Zugriffstoken erhalten (Platzhalter durch Ihre Anmeldeinformationen ersetzen).
curl -X POST "https://api.aspose.cloud/connect/token" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- Laden Sie eine GIF-Datei hoch in den temporären Speicher.
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"
- Anfrage zur Konvertierung in DICOM unter Angabe optionaler Metadaten.
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"
- Laden Sie die resultierende DICOM-Datei herunter (falls Sie sie an anderer Stelle gespeichert haben).
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"
Weitere Details zu den Anfrageparametern finden Sie in der API-Referenz.
Installation und Konfiguration Aspose.Slides Cloud SDK for Python
Das SDK wird über PyPI bereitgestellt. Installieren Sie es mit pip und überprüfen Sie den Installationspfad.
pip install asposeslidescloud
Nach der Installation erstellen Sie eine Konfigurationsdatei oder setzen Sie Umgebungsvariablen mit Ihrem CLIENT_ID und CLIENT_SECRET. Das Code‑Snippet im Abschnitt Steps zeigt, wie das Configuration‑Objekt erstellt wird.
Konvertierungseinstellungen: Optionen und Parameter
Sie können die DICOM‑Ausgabe anpassen, indem Sie das dicom_params‑Dictionary ändern. Häufige Felder umfassen Patienteninformationen und Studienbeschreibung.
dicom_params = {
"patientName": "John Doe",
"patientId": "123456",
"studyDescription": "Sample GIF to DICOM conversion"
}
Zusätzliche Parameter wie Bildauflösung oder Komprimierung können übergeben werden, sofern die API dies unterstützt; siehe die API-Referenz für die vollständige Liste.
Häufig gestellte Fragen
-
Kann ich ein einzelnes GIF mit dem SDK in DICOM konvertieren?
Ja, Sie können die Methodeconvert_localfür eine einzelne GIF-Datei aufrufen. Siehe die Dokumentation des Aspose.Slides Cloud SDK for Python für Details. -
Wie kann ich GIF‑Dateien stapelweise in DICOM in Python konvertieren?
Verwenden Sie die Funktionbatch_convert_gif_folder. Sie durchsucht einen Ordner nach *.GIF‑Dateien und konvertiert jede, was ideal für große Bildersammlungen ist. -
Gibt es eine Möglichkeit, DICOM zurück in JPEG oder PNG zu konvertieren?
Das SDK konzentriert sich auf die Konvertierung zu DICOM, aber Sie können das Aspose.Imaging Cloud SDK for .NET oder andere unterstützte Produkte verwenden, um Bilder aus DICOM-Dateien zu extrahieren. -
Welche Lizenzoptionen stehen zur Verfügung und wie kann ich eine temporäre Lizenz erhalten?
Für die Produktion ist eine kommerzielle Lizenz erforderlich. Sie können eine temporäre Lizenz für Evaluierungszwecke von der temporary license page erhalten.