2. 2
Présentation du PFE:
“Documentation et extension d'une librairie de
traitement d'images médicales 3D et 4D”
Mon projet:
Mise en place d’une Politique de Qualité :
- Analyse et documentation de l’existant
- Amélioration de l’existant
tout en applicant cette Politique de Qualité
afin d’optimiser le travail développé
3. 3
Sommaire
1. Introduction
2. Présentation de l’entreprise
3. Objectifs généraux du stage
4. Phases de la Gestion du Projet
5. La Gestion Qualité
6. La Gestion du Temps
7. Conclusions
4. 4
Introduction
• Lieu: Service de Radiothérapie du
Centre Léon Bérard
• Durée: 4 mois (mai - sept 2006)
• Encadrants:
– INSA: Vasile Marian SCUTURICI
– CLB: David SARRUT et Simon RIT
5. 5
Présentation de l’entreprise(1)
1. Le Centre Léon Bérard
Spécialisé dans la cancérologie
Centre régional
Privé, d'intérêt public
3 missions:
• les soins,
• la recherche,
• et l'enseignement.
6. 6
Présentation de l’entreprise (2)
2. Le Service de Radiothérapie
Qu’est-ce que la Radiothérapie?
Équipe pluridisciplinaire de recherche:
• Physiciens
• Médecins
• Informaticiens
Mission
7. 7
Objectifs généraux du stage
Mise en place d'une Politique de Qualité:
1. Analyse de l'existant
2. Documentation orientée utilisateur et développeur
3. Amélioration de l’existant
8. 8
La Gestion du Projet
Phases:
1. Étude de l'existant:
Architecture technique
Outils de visualisation des images
La librairie de traitement d'images ILR
Le partage des fichiers source
La documentation
2. Analyse de besoins
Le partage des fichiers source
La documentation
La librairie ILR
3. Choix de solutions
Pour le partage des fichiers source
Pour la documentation
Pour l'évolution de la librairie ILR
9. 9
Étude de l'existant (1/5)
Architecture technique
• 8 postes
• Architecture X86
• Système d’exploitation Suse
• Logiciels libres
• Système de fichiers NFS
10. 10
Étude de l'existant (2/5)
L'outil de visualisation des images: ViewVox
Quelques notions sur les images numériques:
Dimension: 2D, 3D, 4D (3D+temps)….. nD
Type de pixel: (unsigned) int, (unsigned) char, double, float
Image: matrice
Développé au sein du CLB
Visualisation des formats
.vox, .ppm, .pgm
11. 11
Étude de l'existant (3/5)
La librairie ILR
2 classes principales:
- GridBase, purement virtuelle
- Grid<PixelType> hérite de GridBase
Dimension établie selon le constructeur:
Plusieurs fonctions pour les mêmes algorithmes:
Grid(const int x, const int y, const bool allocate);
Grid(const int x, const int y, const int z, const bool allocate);
template<typename GridType>
void gridMax(const GridType & input1, const GridType & input2, GridType & output););
template<typename GridType>
void gridMax(const GridType & input1, const double & val, GridType & output);
12. 12
Étude de l'existant (4/5)
Le partage des fichiers source
CVS installé sur la machine de Simon
(CVS: Concurrent Versions System)
Non accessible depuis l’extérieur
Seulement utilisé par Simon et David
13. 13
Étude de l'existant (5/5)
La documentation
Presque inexistente au début du stage
http://www.creatis.insa-lyon.fr/~dsarrut/ilr/
14. 14
Analyse de besoins
1. Le partage des fichiers
Accès sécurisé
Accessible depuis l’extérieur
Outil utilisé par tous
2. La documentation
Disponible en ligne
Syntaxe facile
Partie “privée” et “publique”
3. La librairie ILR
Généricité
15. 15
Choix de solutions (1/8)
Le partage des fichiers: CVS
Existant: celui installé sur la machine de Simon
Nouveau: celui de CREATIS
Accessible depuis l’extérieur du CLB
Accès sécurisé grâce à une clé cryptée
Manuel d’utilisation intégré dans la documentation
Faisant partie des outils de développement courants
pour tous les développeurs du Service de Radiothérapie
16. 16
Choix de solutions (2/8)
La documentation: le Wiki
http://www.creatis.insa-lyon.fr/rio
Avantages
Sécurité
Contenu
MAJ continue
17. 17
Choix de solutions (3/8)
L'évolution d'ILR: CLITK
a) Command Line: (pareil que dans ILR)
b) Une autre librairie: ITK
Traitement d’images avec C++ (comme ILR)
Beaucoup plus large qu’ILR
Open-source software système, large doc
Possibilité de lire de nouveaux formats de fichier (i.e: .vox !)
./clitkImageResample -i toto.vox -o titi.vox --size 128,-1,-1 --iso_spacing 1 -v
19. 19
Choix de solutions (5/8)
L'évolution d'ILR: CLITK
Comparative entre ILR, ITK et CLITK:
ILR ITK CLITK
Grid<PT> Image<PT,Dim> GenericImage <PT,Dim>
3D ok, 2D avec bugs Toutes les dimensions Toutes les dimensions
Fonctions Filtres Filtres
.vox, .pgm, .ppm Tous (.vox rajoutable!) Tous (.vox inclus!)
Ligne de commandes Rien Ligne de commandes
20. 20
Choix de solutions (6/8)
L'évolution d'ILR: CLITK
D’autres caractéristiques de CLITK:
Côté utilisateur: Images génériques (pixel type et
dimension inconnus)
À l’intérieur: Images non-géneriques et librairies d’ITK
Mêmes outils que dans ILR mais plus de fonctionnalités
Structure assez standardisée (développement rapide et
facile à reprendre pour le reste des développeurs)
21. 21
Choix de solutions (7/8)
L'évolution d'ILR: CLITK
Structure des fichiers d’un outil de CLITK:
22. 22
Choix de solutions (8/8)
L'évolution d'ILR: CLITK
Phases du développement de CLITK:
David (tuteur du PFE):
• Lecture des fichiers .vox
Moi
• Algorithmes non génériques de CLITK
• Class pour gérer les images génériques
• Reader et Writer pour lire/écrire des images génériques
• Filtres génériques (en particulier,
cliktImageResample et clitkImageArithm)
23. 23
La Gestion Qualité (I)
4 axes:
1. Le Code:
Standard de code (intégré dans la doc)
Partage des fichiers: CVS
Plan de tests
2. La Documentation:
Pour le code : faite par le développeur
Sur le Wiki : même structure ILR et CLITK
Pour les comptes rendus
24. 24
La Gestion Qualité (II)
3. La Sécurité
Code (CVS)
Wiki (gestion des permissions faite par l’admin)
4. La Gestion du Temps
Respect des délais
Planning Prévisionnel VS Planning Réel
25. 25
La Gestion du Temps
Le planning prévisionnel VS le plannig réel:
Révision de la présentation. Soutenance
2
Semaine 2
Révision de la présentation.
1
Semaine 1
Tâche(s)
Nb de jours
SEPTEMBRE
Doc soutenance PFE
4
Semaine 5
Doc soutenance PFE
5
Semaine 4
CLITK, générateur de code. Doc partie CLITK
4
Semaine 3
CLITK, générateur de code. Doc partie CLITK
5
Semaine 2
CLITK, générateur de code. Doc partie CLITK
5
Semaine 1
Tâche(s)
Nb de jours
AOÛT
CLITK, algorithms génériques. Doc partie CLITK
1
Semaine 5
CLITK, algorithms génériques. Doc partie CLITK
5
Semaine 4
CLITK, algorithms génériques. Doc partie CLITK
5
Semaine 3
CLITK, algorithms génériques. Doc partie CLITK
4
Semaine 2
CLITK, algorithms génériques. Doc partie CLITK
5
Semaine 1
Tâche(s)
Nb de jours
JUILLET
CLITK, premiers algorithms. Doc partie CLITK
4
Semaine 5
CLITK, premiers algorithms. Doc partie CLITK
5
Semaine 4
CLITK, premiers algorithms. Doc partie CLITK
5
Semaine 3
Renseignement ITK
4
Semaine 2
Renseignement ITK
2
Semaine 1
Tâche(s)
Nb de jours
JUIN
Doc partie IRL
3
Semaine 5
Doc partie IRL
4
Semaine 4
Renseignment Wiki. Doc partie IRL
5
Semaine 3
Installation ILR, renseignement ILR
4
Semaine 2
Installation ILR, renseignement ILR
3
Semaine 1
Tâche(s)
Nb de jours
MAI
26. 26
Conclusions
1. Intérêt du projet
Côté CLB (Wiki, ILR, CLITK..)
Mon côté (1er stage, CNRS..)
2. Axes d’amélioration
Générateur de code
Gestion du Temps
3. Remerciements