Skip to content

Latest commit

 

History

296 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Entropia Generalizada — Generalized Entropy for Medical Image Registration

GPU-accelerated medical image registration using generalized entropy metrics (Shannon, Tsallis, Rényi) as similarity measures for mutual information (MI) optimization.

What this does

This project implements and benchmarks generalized entropy formulations as similarity metrics for multi-modal 3D medical image registration. The core idea: instead of standard Shannon entropy, use parameterized entropy family members (Tsallis with parameter q, Rényi with parameter q) to capture different statistical properties of the joint intensity distribution between a fixed and moving image.

Directory structure

├── QtMI/                # Qt6 GUI application — interactive registration front-end
│                        #   VTK/ITK 3D visualization, CUDA-accelerated MI optimization,
│                        #   step-search optimizer, Monte Carlo analysis
├── MI/                  # Core C++ library — MI metric implementations
│                        #   Shannon, Tsallis, Rényi entropy + joint/conditional/mutual variants
│                        #   2D and 3D registration (Registra*, RIRE2DCM)
├── veximage/            # GPU-accelerated image processing library (VexCL/OpenCL/CUDA)
│                        #   Entropy computation, image transforms, XZ compression
├── benchmark/           # Performance benchmarks
│                        #   Metrics speed, entropy, transforms — CUDA vs CPU
├── t1/                  # Sample T1-weighted brain DICOM images (181 slices)
├── paraview/            # ParaView streaming scripts
├── micudapv/            # CUDA + ParaView integration
├── Notebooks/           # Jupyter notebooks — Monte Carlo stats, Tsallis plotting
├── docs/                # Research documentation (Portuguese thesis/report)
│                        #   Relatorio.pdf / Relatorio.tex
│                        #   Wolfram Mathematica results (Resultados*.nb, Resultados*.png)
└── MI/                  # Standalone MI executables (MI, MI3D, info, etc.)

Key dependencies

Dependency Role
ITK Medical image I/O, resampling, transforms
VTK 3D rendering (VTK OpenGL interactor)
Qt5 GUI framework (Widgets, Charts)
CUDA / VexCL GPU-accelerated entropy computation
Eigen3 Linear algebra
Boost Program options, serialization, containers

Building

# QtMI (main GUI application)
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ../QtMI
make -j$(nproc)

Requires ITK 5, VTK 9, Qt6 (Widgets + Charts), CUDA 12, and Eigen3.

What each component does

  • QtMI — Full interactive GUI: load fixed + moving DICOM volumes, select entropy metric (Shannon/Tsallis/Rényi), adjust parameter q, run step-search optimization, visualize in 2D slices + 3D volume, log Monte Carlo runs. See QtMI/README.md for details.

  • MI/ — Standalone registration executables (Registra, MI, MI3D, RIRE2DCM). The core entropy metric classes (Shannon.h, Tsallis.h, Renyi.h, TsallisMetric.h, RenyiMetric.h) live here.

  • veximage/ — GPU entropy computation engine. Wraps VexCL for OpenCL/CUDA backends. Used as a static library (MICUDA) by QtMI.

  • benchmark/ — Micro-benchmarks for entropy, transform, and compression operations. Outputs to CSV/SQLite.

Data

  • t1/ — 181 T1-weighted brain DICOM slices (sample subject, IDs t10001.dcm through t10181.dcm).
  • MI/brain.dcm — Single brain DICOM reference image.

Research context

This code accompanies my Ph.D. thesis at the University of São Paulo (USP), FFCLRP — Applied Physics to Medicine and Biology — defended on 26 Oct 2021.

Citation

Doctoral thesis

Vianna, Vinicius Pavanelli. Generalized entropy for medical image registration. Ribeirão Preto: USP, 2021. DOI: https://doi.org/10.11604/t.59.2021.tde-17122021-175100

Published paper

Vianna V.P., Murta L.O. "Generalized entropy for medical image registration." Physics in Medicine & Biology 67 (2022). DOI: https://doi.org/10.1088/1361-6560/ac5298

BibTeX (thesis):

@phdthesis{vianna2021generalized,
  title     = {Generalized entropy for medical image registration},
  author    = {Vianna, Vinicius Pavanelli},
  school    = {Universidade de S{ã}o Paulo},
  year      = {2021},
  doi       = {10.11604/t.59.2021.tde-17122021-175100},
  address   = {Ribeir{ão} Preto, FFCLRP},
  month     = {oct},
  date      = {2021-10-26},
  advisor   = {Murta Junior, Luiz Otavio},
  committee = {
    Murta Junior, Luiz Otavio (President),
    Furuie, Sérgio Shiguemi,
    Leoni, Renata Ferranti,
    Tsallis, Constantino
  }
}

BibTeX (paper):

@article{vianna2022generalized,
  title     = {Generalized entropy for medical image registration},
  author    = {Vianna, Vinicius Pavanelli and Murta, Luiz Otavio},
  journal   = {Physics in Medicine & Biology},
  volume    = {67},
  year      = {2022},
  doi       = {10.1088/1361-6560/ac5298},
  url       = {https://doi.org/10.1088/1361-6560/ac5298}
}

Full documentation (in Portuguese): docs/Relatorio.pdf / docs/Relatorio.tex. Mathematica notebooks and result figures: docs/*.nb, docs/*.png.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages