Visionneuse de scanner open source

Pensée pour la façon dont les radiologues lisent.

Luminor met à portée de touche les sept gestes que le radiologue répète toute la journée : défiler, fenêtrer, reconstruire, mesurer, projeter, comparer et rédiger. Rapide, local et reposant pour les yeux.

Luminor avec la bibliothèque de séries, une coupe axiale de scanner thoracique en fenêtre pulmonaire et l’inspecteur

Sept fonctions. Une routine de lecture.

Un radiologue lit de 40 à 80 scanners par jour, et une poignée de gestes représente l’essentiel de ce travail. Luminor a été conçu à partir de cette routine, en commençant par ce dont le radiologue a le plus besoin.

01 · Défilement et ciné

Lire, c’est défiler.

En salle de lecture : l’essentiel du temps du radiologue passe à faire défiler la pile d’images, en suivant un vaisseau, une bronche ou un nodule d’image en image. Si le défilement est lent, le reste ne compte plus.

  • La molette fait toujours défiler, quel que soit l’outil actif. Maj avance de cinq images.
  • Ciné de 2 à 40 images par seconde avec Espace.
  • Numéro d’image et position de la coupe en millimètres toujours affichés.
MoletteImage précédente / suivante Maj+ molette : cinq images Page ↑↓Dix images Origine / FinPremière / dernière image EspaceLecture / pause du ciné
02 · Fenêtrage

Chaque tissu à une touche.

En salle de lecture : chaque scanner est lu au moins trois fois, en fenêtres pulmonaire, tissus mous et osseuse, et la fenêtre est ajustée des dizaines de fois par examen.

  • Clic droit glissé n’importe où pour régler la fenêtre, quel que soit l’outil.
  • Préréglages sur 1–5 : poumon, médiastin, os, foie, cerveau, y compris sur clavier AZERTY.
  • Saisie exacte du centre et de la largeur ; inversion avec I.
1Poumon · C −600 / L 1500 2Médiastin · C 40 / L 400 3Os · C 400 / L 1800 4Foie · C 60 / L 160 5Cerveau · C 40 / L 80
03 · Reconstructions multiplanaires

Trois plans, un seul point.

En salle de lecture : une anomalie se confirme, se mesure et se localise sur les plans coronal et sagittal, pas seulement en axial.

  • Plans coronal et sagittal reconstruits avec leurs vraies proportions, la tête en haut.
  • Un clic avec le réticule place les trois plans sur le même point.
  • Plans repérés par couleur ; repères d’orientation D/G, A/P, S/I calculés à partir des balises DICOM.
Disposition MPR avec les vues axiale, coronale et sagittale et un réticule coloré
04 · Mesures

Des valeurs prêtes pour le compte rendu.

En salle de lecture : la taille d’un nodule conditionne la surveillance, et la densité d’une lésion distingue kyste, graisse, tissu ou calcium.

  • Densité en UH en direct sous le curseur, avec les coordonnées patient.
  • Distances en millimètres selon la taille réelle des pixels, y compris sur les reconstructions.
  • ROI elliptique : moyenne ± écart-type, min / max et surface, calculés sur les images d’origine.
Largeur cardiaque mesurée, ROI elliptique avec statistiques en UH et repère sur un corps vertébral
05 · MIP et coupes épaisses

Voir le nodule, pas le vaisseau.

En salle de lecture : la MIP fait ressortir les petits nodules par rapport aux vaisseaux ; la MinIP met en évidence les voies aériennes et l’emphysème.

  • MIP, MinIP et moyenne de 2 à 40 mm, dans tous les plans.
  • Changement de mode avec T ; épaisseur avec + / −.
  • Les mesures lisent toujours les voxels d’origine, jamais la projection.
MIPNodules, vaisseaux, calcifications MinIPVoies aériennes, emphysème, piégeage Moy.Moins de bruit sur les coupes fines TNon → MIP → MinIP → Moy.
06 · Comparaison

Nouveau, stable ou évolutif ?

En salle de lecture : pour un scanner de suivi, la question essentielle est l’évolution par rapport à l’examen antérieur.

  • Deux examens côte à côte avec la même fenêtre.
  • Défilement synchronisé en millimètres, même avec des espacements de coupe différents ; zoom et déplacement reproduits.
  • Alignement unique sur un repère anatomique avec K, puis lecture conjointe.
Deux scanners thoraciques côte à côte en disposition Comparaison
07 · Observations et compte rendu

De la lecture au compte rendu.

En salle de lecture : chaque anomalie doit avoir un nom, une valeur et une localisation qu’un confrère ou une RCP puisse retrouver.

  • Mesures et repères deviennent des observations nommées, enregistrées automatiquement.
  • Un clic ramène à n’importe quelle observation, dans le bon plan.
  • Projet de compte rendu en Markdown et images clés annotées en PNG.
Liste d’observations : ROI cardiaque, largeur cardiaque et corps vertébral

Démarrer

Luminor se compose d’un petit serveur Python et d’une application web. Tout fonctionne sur votre ordinateur.

1 · Installer

Python 3.10 ou plus récent, avec NumPy et pydicom.

git clone https://github.com/dhnguyends/luminor-dicom.git
cd luminor-dicom
pip install -r requirements.txt
2 · Indiquer vos examens

Un dossier contenant un sous-dossier de fichiers .dcm par série de scanner.

python server.py --data /chemin/vers/series
3 · Lire

Ouvrez la visionneuse dans Chrome, Edge, Safari ou Firefox, puis appuyez sur ? pour les raccourcis.

http://127.0.0.1:8770/

Données d’exemple. Luminor a été développé avec des scanners thoraciques du Kaggle Data Science Bowl 2017. Ces données ne sont pas incluses : téléchargez-les depuis la page des données du concours (compte Kaggle et acceptation du règlement du concours requis), puis lancez python server.py --data stage1 --labels stage1_labels.csv.

Documentation

Un guide illustré de chaque fonction, avec une routine de lecture, des valeurs de référence en UH et une aide au dépannage.

!

Usage réservé à la recherche et à l’enseignement. Luminor n’est pas un dispositif médical certifié et ne doit pas servir à des décisions diagnostiques ou thérapeutiques.