Skip to content

Outil Rust/WebAssembly de comparaison et visualisation DICOM

LuuNa-JD/dicom-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🩻 DICOM Tools – Comparateur & Visualiseur en Rust + WebAssembly

Un outil en cours de développement permettant de scanner, analyser et comparer des fichiers DICOM (imagerie médicale) en utilisant Rust pour les performances et WebAssembly pour une interface web interactive.


📌 Fonctionnalités

  • Scan et analyse d’un dossier contenant des fichiers DICOM :
    • Lecture des métadonnées (dimensions, UID, modality, etc.)
    • Support des fichiers DICOM Part 10 et datasets bruts
    • Export CSV récapitulatif
  • Construction de volumes 3D à partir de séries d’images :
    • Calcul des espacements (dx, dy, dz)
    • Gestion du Rescale Slope et Intercept (conversion HU)
  • Visualisation multiplanaire (MPR) :
    • Axial, sagittal, coronal
    • Application des fenêtres (Window Center / Window Width)
    • Export en PNG côté CLI
  • Mode WebAssembly :
    • Chargement de fichiers DICOM depuis un navigateur
    • Affichage d’une coupe axiale directement dans un <canvas>
    • Paramétrage WC/WW en direct

🏗 Structure du projet

crates/
 ├─ volume_core/      # Cœur Rust : parsing, volume, MPR
 └─ wasm_bindings/    # Bindings WebAssembly (wasm-bindgen)
src/
 ├─ main.rs           # CLI principale
 └─ bin/
    ├─ mpr.rs         # Génération MPR PNG
    └─ main.rs        # Comparateur CSV
web/
 ├─ index.html        # Interface de test WebAssembly
 └─ main.js           # Code JS pour charger le wasm

🚀 Utilisation

1. Mode CLI – Comparateur CSV

cargo run --release --bin dicom-tools /chemin/vers/dossier

Génère un fichier series_summary.csv contenant un résumé des séries trouvées.

2. Mode CLI – Génération MPR

cargo run --release --bin mpr /chemin/vers/dossier

Produit :

mpr_axial.png
mpr_sagittal.png
mpr_coronal.png

3. Mode WebAssembly – Interface Web

  1. Compiler pour wasm :
cd crates/wasm_bindings
wasm-pack build --target web
  1. Ouvrir web/index.html dans un navigateur moderne.
  2. Charger un dossier DICOM via <input type="file" webkitdirectory>.
  3. Ajuster WC/WW et générer la coupe axiale.

🧩 Dépendances principales


📋 Roadmap

  • Comparateur complet de séries DICOM (diff métadonnées + contenu)
  • Support des formats compressés (JPEG-LS, JPEG2000)
  • Visualisation multiplanaire dynamique dans le navigateur
  • Mode 3D (Volume Rendering / MIP)
  • Tests unitaires et jeux de données DICOM de référence

⚠️ Disclaimer

Cet outil est destiné à la recherche et au développement.
Il ne remplace pas un dispositif médical certifié et ne doit pas être utilisé pour un diagnostic.

About

Outil Rust/WebAssembly de comparaison et visualisation DICOM

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published