Convertir des images médicales de DICOM en JPG est une tâche fréquente lorsque les applications de radiologie doivent afficher des études dans des portails web ou des visionneuses mobiles. Aspose.HTML Cloud SDK for Python fournit une bibliothèque robuste qui gère le travail lourd côté serveur. Dans ce guide, vous apprendrez comment implémenter la conversion DICOM en JPG en Python étape par étape, explorer les options multithread, et voir comment appeler le même service avec cURL pour des flux de travail basés sur REST.

Exigences de conversion DICOM en JPG

Les stations de travail en radiologie reçoivent souvent des fichiers DICOM qui doivent être rendus sous forme de vignettes JPG légères pour un aperçu rapide. Les développeurs ont besoin d’une solution qui :

  • Lit les données DICOM binaires sans dépendre de bibliothèques d’imagerie externes.
  • Convertit l’image en un format largement supporté tel que JPG tout en préservant la qualité diagnostique.
  • Gère efficacement de grands volumes de fichiers, idéalement avec un traitement parallèle.

La conversion manuelle à l’aide d’outils de bureau est chronophage et ne s’adapte pas aux pipelines côté serveur, ce qui rend une API automatisée essentielle pour les logiciels de radiologie modernes.

L’approche : flux de travail de conversion cloud optimisé

Aspose.HTML Cloud SDK for Python propose une API cloud qui abstrait la logique de conversion. Le service :

  • Accepte les octets DICOM bruts et renvoie un flux d’octets JPG.
  • S’exécute dans le cloud Aspose, éliminant le besoin de parseurs DICOM locaux.
  • Fournit des options de configuration pour la qualité d’image, la résolution et l’exécution multi‑thread.

Reportez-vous à la documentation officielle pour les détails d’authentification et à la référence API pour la classe ConvertDocumentRequest utilisée dans ce tutoriel.

Implémentation de la conversion DICOM en JPG en Python

Voici une implémentation pratique, étape par étape, que vous pouvez intégrer à n’importe quel backend de radiologie.

Installer Aspose.HTML Cloud SDK for Python

pip install asposehtmlcloud

Configurer le client API avec vos informations d’identification

from asposehtmlcloud import HtmlApi, Configuration

config = Configuration()
config.api_key['api_key'] = api_key               # Replace with your actual API key
config.host = "https://api.aspose.cloud"

html_api = HtmlApi(config)

Charger le fichier DICOM en mémoire

with open(input_file, "rb") as f:
    dicom_bytes = f.read()

Créer une demande de conversion pour la sortie JPG

from asposehtmlcloud import ConvertDocumentRequest

request = ConvertDocumentRequest(
    file=dicom_bytes,
    format="jpg"
)

Écrire des octets JPG sur le disque

jpg_bytes = html_api.convert_document(request)

with open(output_file, "wb") as out_f:
    out_f.write(jpg_bytes)

Avec ces étapes, le flux de travail de conversion DICOM en JPG est terminé, et vous pouvez désormais intégrer l’utilitaire dans des pipelines plus vastes ou l’appeler depuis des scripts en ligne de commande.

Utilitaire de conversion DICOM en JPG - Exemple de code complet

L’exemple suivant montre le processus complet de bout en bout.

import os
from asposehtmlcloud import HtmlApi, Configuration, ConvertDocumentRequest

def dicom_to_jpg(input_file: str, output_file: str, api_key: str):
    # Configure Aspose.HTML Cloud SDK
    config = Configuration()
    config.api_key['api_key'] = api_key               # Replace with your actual API key
    config.host = "https://api.aspose.cloud"

# Initialize the API client
    html_api = HtmlApi(config)

# Read the DICOM file into memory
    with open(input_file, "rb") as f:
        dicom_bytes = f.read()

# Build the conversion request (target format: jpg)
    request = ConvertDocumentRequest(
        file=dicom_bytes,
        format="jpg"
    )

# Perform conversion – the response is a binary stream of the JPG image
    jpg_bytes = html_api.convert_document(request)

# Write the resulting JPG to disk
    with open(output_file, "wb") as out_f:
        out_f.write(jpg_bytes)

if __name__ == "__main__":
    # Example usage
    INPUT_DICOM = "sample.dcm"          # Path to your source DICOM file
    OUTPUT_JPG = "sample_converted.jpg" # Desired output path
    API_KEY = "YOUR_ASPOSE_CLOUD_API_KEY"

dicom_to_jpg(INPUT_DICOM, OUTPUT_JPG, API_KEY)

Note : Cet exemple de code montre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour tous les chemins de fichiers et les valeurs de configuration pour qu’ils correspondent à votre environnement réel, vérifiez que toutes les dépendances requises sont correctement installées et testez soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe de support pour obtenir de l’aide.

Conversion multithreadée via l’API REST avec cURL

Si vous préférez une approche REST pure, la même conversion peut être effectuée avec des commandes cURL. Cela est utile pour l’automatisation en ligne de commande ou l’intégration aux pipelines CI.

  1. Obtenir un jeton d’accès
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. Téléverser le fichier DICOM
curl -X PUT "https://api.aspose.cloud/v4.0/html/storage/file/sample.dcm" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/dicom" \
     --data-binary "@sample.dcm"
  1. Demande de conversion en JPG
   curl -X POST "https://api.aspose.cloud/v4.0/html/convert?format=jpg" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{"FileName":"sample.dcm"}' \
        -o sample_converted.jpg
  1. Télécharger le JPG converti (si non enregistré directement)
   curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/sample_converted.jpg" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -o sample_converted.jpg

Ces commandes illustrent un flux de travail de conversion multithread où plusieurs fichiers peuvent être traités en parallèle en émettant plusieurs paires téléchargement/convertir simultanément. Pour les détails complets de l’API, consultez la documentation officielle de l’API.

Configuration des options de conversion DICOM en JPG

Le SDK vous permet d’ajuster finement la sortie. Les options courantes incluent :

  • Qualité de l’image - Ajustez le niveau de compression JPEG (0‑100).
  • Résolution - Définissez le DPI pour une sortie haute résolution.
  • Mode couleur - Choisissez entre niveaux de gris et couleur si le DICOM contient des données couleur.

Vous pouvez transmettre ces options dans le corps de la requête. Par exemple, pour définir la qualité :

request = ConvertDocumentRequest(
    file=dicom_bytes,
    format="jpg",
    options={"quality": 90}
)

Tous les paramètres pris en charge sont décrits dans la référence API. Expérimentez avec ces paramètres pour obtenir le meilleur équilibre entre la taille du fichier et la clarté diagnostique, en particulier lors du traitement de grands ensembles de données DICOM.

Conclusion

Conversion DICOM en JPG avec Python devient simple avec le Aspose.HTML Cloud SDK for Python. La bibliothèque gère les tâches lourdes, offre une exécution multi‑threadée pour les environnements à haut débit, et fournit un contrôle granulaire de la qualité d’image. N’oubliez pas d’obtenir une licence commerciale appropriée pour les déploiements en production ; les détails de tarification sont disponibles sur la page du produit, et une licence temporaire peut être obtenue depuis la page de licence temporaire. Avec le code et les exemples cURL ci‑dessus, vous pouvez intégrer une conversion DICOM en JPG fiable dans n’importe quelle application de radiologie dès aujourd’hui.

FAQs

Quels formats de fichiers le Aspose.HTML Cloud SDK peut-il convertir en plus du DICOM ?
Le SDK prend en charge un large éventail de formats, notamment PDF, PNG, BMP, GIF, TIFF, et SVG. Consultez la documentation pour la liste complète.

Est-il possible d’exécuter la conversion sans installer d’outils externes ?
Oui. La conversion est effectuée entièrement dans le cloud, donc aucune bibliothèque DICOM locale ni aucun outil de traitement d’image n’est requis.

Comment la conversion multithread améliore-t-elle les performances ?
En émettant plusieurs requêtes de conversion en parallèle, vous pouvez exploiter plusieurs cœurs CPU sur les serveurs Aspose, réduisant ainsi le temps de traitement global pour de grands lots de fichiers DICOM.

Puis-je utiliser le SDK dans un script en ligne de commande ?
Absolument. Les exemples cURL fournis démontrent un flux de travail en ligne de commande, et le script Python peut être exécuté directement depuis un terminal ou une tâche planifiée.

Read More