Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Rubick65/dcemapper/llms.txt

Use this file to discover all available pages before exploring further.

DCEMapper’s functionality spans desktop GUI rendering, neuroimaging file I/O, signal denoising, statistical modelling, and scientific visualisation. Each layer of this stack is covered by a dedicated set of Python packages, all pinned to exact versions in environment.yml to guarantee a reproducible environment. The sections below catalogue every core dependency, explain what it does inside DCEMapper, and map packages to the features they enable.

Core Dependencies

PackageVersionRole
PyQt66.10.2Desktop GUI framework
PyQt6-Qt66.10.2Qt6 runtime bindings
nibabel5.4.0NIfTI file loading and writing
numpy2.4.3N-dimensional array operations
scipy1.17.1Gaussian filtering for ROI smoothing
matplotlib3.10.8Image canvas and intensity graphs
dipy1.11.0Denoising filters and Gibbs removal
scikit-image0.26.0Non-local means, polygon drawing
brkraw0.3.8Bruker raw data reading and conversion
pandas2.3.3Data table operations
pillow12.1.1Image processing
tifffile2026.3.3TIFF file support

Dependency Roles by Feature

NIfTI I/O

nibabel loads and saves .nii.gz files throughout the application — from opening a study to exporting processed parametric maps. numpy provides the underlying N-dimensional array representation that all image data is stored and manipulated as in memory.

Denoising

dipy supplies four of the five available denoising filters: ASCM (Adaptive Soft Coefficient Matching), NLM-dipy (Non-Local Means via dipy), MP-PCA (Marchenko-Pastur PCA), and Local PCA. scikit-image supplies the fifth: NLM-skimage (Non-Local Means via scikit-image). See Preprocessing for usage details.

Gibbs Removal

dipy’s gibbs_removal function is used to suppress Gibbs ringing artefacts that appear at sharp intensity boundaries in MRI data. This preprocessing step is applied before denoising or quantitative analysis to improve signal fidelity.

GUI

PyQt6 powers every element of the user interface — main windows, dialogs, menus, sliders, toolbars, and the main application event loop. PyQt6-Qt6 provides the underlying Qt6 C++ runtime bindings that PyQt6 wraps, and must be installed at the matching version.

Visualization

matplotlib FigureCanvas widgets are embedded directly inside the PyQt6 layout to render the main image viewport and the temporal intensity graphs. This approach lets DCEMapper display interactive, publication-quality plots without leaving the desktop application.

Bruker Conversion

brkraw reads Bruker PvDataset raw data directories — the native output format of Bruker preclinical MRI scanners — and converts them into NIfTI arrays. nibabel then writes those arrays to .nii.gz files on disk for downstream processing.
The versions pinned in environment.yml are strongly recommended for reproducibility. DCEMapper has been tested against the exact combinations listed in the Core Dependencies table. Upgrading to newer releases of any package — particularly dipy, scikit-image, or PyQt6 — may introduce API changes or numerical differences that break existing functionality.
DCEMapper is not published on PyPI and cannot be installed with pip install dcemapper. Install it from source by following the Environment Setup guide, which uses the bundled environment.yml to configure the full dependency stack in a single command.

Build docs developers (and LLMs) love