Mirobody
The canonical registry of human health — roughly two thousand standardized indicators, clinical and lifestyle, resolved into one language.
翻訳待ち
Luminor is an open-source, local CT viewer built around the seven actions radiologists use most: scrolling, windowing, MPR, measurements, MIP slabs, comparison and reporting.
翻訳待ち
健康JavaScript · PythonGitHub @dhnguyendsオンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
Medical Images Viewer
翻訳待ち
Loading the full README.
Read the full README ↗An open-source CT viewer built around how radiologists actually read.
Luminor puts the seven things a radiologist does all day at the tip of a key: scroll, window, reformat, measure, project, compare and report. It runs entirely on your computer: a small Python server reads the DICOM files, and a fast browser app does everything else.
Introduction · User guide · Guide utilisateur (français) · Live demo (Hugging Face Spaces, anonymized LIDC-IDRI chest CTs)
The online demo runs server.py --public: a read-only library, with findings kept in each visitor's browser. The huggingface/ folder holds its Dockerfile and data download script.
[!WARNING] Research and education use only. Luminor is not a certified medical device and must not be used for diagnostic or treatment decisions. If you want to use Luminor enhancement for medical use, let's talk linkedin.com/in/dong-hai-nguyen-thanh ↗
A radiologist reads 40 to 80 CT studies a day, and the same handful of actions make up nearly all of that work. Luminor was designed from that routine.
| # | Feature | Why radiologists need it | In Luminor |
|---|---|---|---|
| 1 | Scroll & cine | Most reading time is spent scrolling through the stack, following structures from image to image. | Mouse wheel always scrolls (Shift ×5), arrow and page keys, cine at 2–40 images/s with Space, image number and position always shown. |
| 2 | Window & level | Every CT is read in lung, soft-tissue and bone windows; the window changes dozens of times per study. | Right-drag anywhere; presets on 1–5 (lung, mediastinum, bone, liver, brain; also on AZERTY); exact values; invert with I. |
| 3 | MPR | Findings are confirmed and located in coronal and sagittal planes. | Axial, coronal and sagittal panes with true proportions, a linked colour-coded crosshair and orientation letters from the DICOM tags. |
| 4 | Measurements | Nodule size drives follow-up; density tells cyst, fat, soft tissue or calcium apart. | Live HU probe, distances in mm from the true pixel spacing, ellipse ROI with mean ± SD, min/max and area. |
| 5 | MIP & slabs | MIP makes nodules stand out from vessels; MinIP shows airways and emphysema. | MIP, MinIP and average slabs from 2 to 40 mm in every plane (T, +/−). |
| 6 | Comparison | "New, stable or growing?" is the key question of every follow-up CT. | Two studies side by side, scrolling linked in millimetres, zoom and pan mirrored, one-key alignment (K). |
| 7 | Findings & reports | Every finding needs a name, a value and a location others can find again. | Named findings saved automatically, one-click navigation, Markdown report draft, annotated PNG key images. |
Press ? in the app for every shortcut.
Requires Python 3.10 or newer.
git clone https://github.com/dhnguyends/luminor-dicom.git
cd luminor-dicom
pip install -r requirements.txt
python server.py --data /path/to/series
Then open http://127.0.0.1:8770/ in Chrome, Edge, Safari or Firefox.
| Option | Effect |
|---|---|
--data FOLDER | Folder containing one sub-folder per CT/MRI exam or series. An exam folder may hold several series (selectable in the app); compressed DICOM and multi-frame MRI are supported, ultrasound and reports are skipped. |
--labels FILE.csv | Optional id,cancer CSV, shown as labels and filters in the library. |
--port N | Port to listen on (default 8770). |
On Windows, start.ps1 starts the server and opens the browser
(.\start.ps1 -DataDir "D:\scans" -Port 8770). It uses an Anaconda environment named DICOM
when one exists.
Sample data: Luminor was developed with chest CT scans from the
Kaggle Data Science Bowl 2017. The dataset is
not included: download it from the
competition data page (a Kaggle account
and acceptance of the competition rules
are required), extract stage1, then run:
python server.py --data /path/to/stage1 --labels /path/to/stage1_labels.csv
Luminor can also run as a normal Windows application (Luminor.exe, no Python needed): it
opens in its own window, asks for your images folder on first launch, and keeps settings and
findings in %APPDATA%\Luminor. The windows/ folder holds the launcher, the
build recipe and the installation guide; build it with
windowsuild.ps1 (see Building from source in that guide).
| English | Français | |
|---|---|---|
| Introduction to the seven features | index.html | index-fr.html |
| User guide | guide.html | guide-fr.html |
The guides cover every feature step by step, a suggested chest CT reading routine, an HU
reference table and troubleshooting. They live in docs/, which is published with
GitHub Pages. While Luminor is running, they are also available at
http://127.0.0.1:8770/guide.html and from the shortcuts sheet in the app. Print a guide from
the browser to get a PDF.
This is the beginning of the README. Read the rest at the original. Read the full README ↗