User Tools

Site Tools


Manipulation des fichiers Dicom

L'objectif du projet est de réaliser un logiciel simple permettant à un utilisateur non-informaticien d'effectuer des recherches d'informations ou de modifier celles-ci sur un ou plusieurs fichiers Dicom.

Pour cela, il vous faudra :

  • Comprendre comment est constitué le format Dicom
  • Avoir quelques connaissances dans un langage de programmation (Python dans notre cas)
  • Utiliser une bibliothèque dans le langage de programmation choisi qui aide à la manipulation des fichiers Dicom.
    Ces bibliothèques vous fournissent des fonctions (ou plus fréquemment des classes si vous programmer en objets) vous facilitant la lecture ou les modifications des données contenues dans les fichiers Dicom.
    Il en existe plusieurs en Python, la plus simple étant “pyDicom”.
    Il faudra en télécharger une et ajouter en entête de votre programme (avec un “include”).

Pour démarrer, regarder les exemples de codes donnés à la fin du cours “les_fichiers_dicom.pdf”

Quoi faire pour le projet :

  • Vous devrez trouver sur internet et télécharger plusieurs fichiers Dicom d'exemples (peu importe si ce sont des images scanner, irm, de poumons, de coeur ou autres…). Plusieurs dizaines de ces images seront mises dans un répertoire sur le disque dur.
  • Le but est de faire un programme qui donne la possibilité à un utilisateur de (1) présenter facilement l'information contenue dans ces fichiers et (2) de la modifier.

(1) La recherche d'information consistera par exemple à trouver tous les fichiers qui correspondent (i) à un nom d'un patient entré au clavier, (ii) à un ID du patient donné, (iii) à une date de création du fichier, (ii) un intervalle d'ages des patients, etc… (exemple d'infos sur ce logiciel http://www.k-pacs.de/img/screens/mainform_b.jpg en haut à gauche) Les résultats présenteront au minimum la liste des fichiers correspondant à ces critères de recherche. Vous êtes libres de faire afficher d'autres types d'informations.

(2) On souhaite aussi pouvoir modifier certaines données des fichiers eux-mêmes. Par exemple, on doit pouvoir entrer un nouveau nom de patient ou une date qui sera sauvegardée pour un fichier Dicom donné, voire plusieurs fichiers à la fois. Le but étant par exemple d'automatiser certaines procédures. Supposons que les dates de tous les fichiers présents dans votre répertoire soient erronées (les fichiers n'ont pas été enregistrés à la bonne date). On veut pouvoir modifier cette date en un coup, plutôt que modifier un à un tous les fichiers. La liste des modifications n'est pas exhaustive et vous êtes libres de proposer plusieurs possibilités de modifications. Noter que vous pouver vérifier les modifications des fichiers dicom que vous avez effectuées en utlisant un logiciel gratuit pour ouvrir et visualiser les informations du fichier Dicom, comme “EzDicom” (http://sourceforge.net/projects/ezdicom/)

A rendre :

  • Un petit rapport écrit (compte pour 1/3 de la note). A rendre en .doc ou pdf, odt, rtf, etc..

Il devra présenter le problème posé, les propositions pour y répondre et une présentation du programme comme exemple de solution (un schéma/algorithme est bienvenu).

  • Le logiciel en python. A noter qu'au niveau de l'interface lorsqqu'on lance le programme, pour pouvez présenter cela de manière classique c'est à dire avec des “raw_input” pour entrer les infos, des “print” pour les afficher, etc..), soit sous forme d'interface graphique.
    Une interface graphique (Tk, Qt, WxWindow, Gtk…) sera certes plus conviviale et fonctionnelle, mais vous demandera d'apprendre les bases de programmation pour une bibliothèque graphique donnée (Tkinter par exemple, des exemples sont donnés à la fin du cours python.pdf).
    L'interface graphique n'est pas indispensable au projet et est réservée seulement à ceux qui se sentent d'aller plus loin.

Fin du projet :

Le projet est à rendre avant le dimanche 1 février, en envoyant un fichier zip unique (à olivier.croce@gmail.com) contenant votre logiciel (avec éventuellement des fichiers dicom d'exemple) et le rapport.

Un email par binôme, je vous confirmerai en retour d'email la bonne réception des fichiers.

Bon courage.

teachings/projet_dora_2013.txt · Last modified: 2014/11/30 21:46 by olivier