At konvertere animerede medicinske grafik til et format, som radiologisystemer forstår, kan være en flaskehals for udviklere. Aspose.Slides Cloud SDK for Python leverer et kraftfuldt bibliotek, der forenkler denne opgave. I denne vejledning vil du se et komplet GIF til DICOM konverterings‑eksempel i Python, lære hvordan du opsætter godkendelse, håndterer batchbehandling og udforske tilsvarende cURL‑kald for REST‑integration.
Sådan transformeres GIF‑billeder til DICOM‑filer ved hjælp af Python - Trin for trin
- Konfigurer godkendelse og initialiser SlidesApi: Angiv dine klientoplysninger og opret en SlidesApi‑instans.
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)
Dette trin forbereder miljøet til GIF‑til‑DICOM‑konverterings‑eksemplet i Python.
- Definér input- og output-mapper: Opret mapper til kilde‑GIF‑filer og genererede DICOM‑filer.
import os
INPUT_FOLDER = "gif_inputs"
OUTPUT_FOLDER = "dicom_outputs"
os.makedirs(OUTPUT_FOLDER, exist_ok=True)
- Opret konverteringsfunktionen: Brug
convert_localtil at konvertere en GIF til DICOM og videregive valgfri metadata.
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)
- Batchkonverter alle GIF-filer: Scan inputmappen og kald konverteringsfunktionen for hver fil.
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)
- Kør scriptet: Kør batchkonverteringen, når modulet køres direkte.
if __name__ == "__main__":
batch_convert_gif_folder(INPUT_FOLDER, OUTPUT_FOLDER)
Scriptet fuldfører GIF‑til‑DICOM‑konverterings‑eksemplet i Python og giver dig klar‑til‑brug DICOM‑filer.
Komplet kodeeksempel: GIF til DICOM‑konvertering ved hjælp af Aspose.Slides Cloud SDK
Følgende kode viser den fulde implementering af GIF‑til‑DICOM‑konverterings‑eksemplet i 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)
Bemærk: Dette kodeeksempel demonstrerer kernefunktionaliteten. Før du bruger det i dit projekt, skal du sørge for at opdatere eventuelle filstier og konfigurationsværdier, så de matcher dit faktiske miljø, bekræfte at alle nødvendige afhængigheder er korrekt installeret, og teste grundigt i dit udviklingsmiljø. Hvis du støder på problemer, så se venligst den officielle dokumentation eller kontakt supportteamet for assistance.
Brug af cURL til at kalde Aspose.Slides Cloud konverterings‑endpoint
Nedenfor er REST‑opkaldene, der udfører det samme GIF‑til‑DICOM‑konverterings‑eksempel i Python via Aspose.Slides Cloud API.
- Få en adgangstoken (erstat pladsholderne med dine legitimationsoplysninger).
curl -X POST "https://api.aspose.cloud/connect/token" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- Upload en GIF-fil til midlertidig lager.
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"
- Anmod om konvertering til DICOM mens du sender valgfri metadata.
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"
- Download den resulterende DICOM‑fil (hvis du gemte den et andet sted).
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"
For flere detaljer om anmodningsparametre, se API‑referencen.
Installation og konfiguration af Aspose.Slides Cloud SDK for Python
SDK’en distribueres via PyPI. Installer den med pip og bekræft installationsstien.
pip install asposeslidescloud
Efter installationen, opret en konfigurationsfil eller indstil miljøvariabler med din CLIENT_ID og CLIENT_SECRET. Kodesnutten i Steps-sektionen viser, hvordan du bygger Configuration‑objektet.
Konverteringsindstillinger: Muligheder og parametre
Du kan tilpasse DICOM-output ved at justere dicom_params‑ordbogen. Almindelige felter inkluderer patientinformation og studiebeskrivelse.
dicom_params = {
"patientName": "John Doe",
"patientId": "123456",
"studyDescription": "Sample GIF to DICOM conversion"
}
Yderligere parametre såsom billedopløsning eller komprimering kan videregives, hvis de understøttes af API’en; se API-referencen for den komplette liste.
Ofte stillede spørgsmål
-
Kan jeg konvertere en enkelt GIF til DICOM ved hjælp af SDK’en?
Ja, du kan kaldeconvert_local-metoden for en individuel GIF-fil. Se dokumentationen for Aspose.Slides Cloud SDK for Python for detaljer. -
Hvordan batchkonverterer jeg GIF-filer til DICOM i Python?
Brugbatch_convert_gif_folder-funktionen. Den scanner en mappe for *.GIF-filer og konverterer hver enkelt, hvilket er ideelt til store billedsæt. -
Er der en måde at konvertere DICOM tilbage til JPEG eller PNG?
SDK’en fokuserer på at konvertere til DICOM, men du kan bruge Aspose.Imaging Cloud SDK for .NET eller andre understøttede produkter til at udtrække billeder fra DICOM-filer. -
Hvilke licensmuligheder er tilgængelige, og hvordan kan jeg få en midlertidig licens?
En kommerciel licens er påkrævet til produktionsbrug. Du kan få en midlertidig licens til evaluering fra den midlertidige licensside.