Skip to main content

CVASL-GUI

Cvasl-gui is an open source collaborative Python GUI, built around the CVASL package, for statistical harmonisation of (arterial spin labelling) MRI-derived data and prediction of brain age using shallow machine learning, utilised in 'Multi-cohort, multi-sequence harmonisation for cerebrovascular brain age', https://doi.org/10.1162/IMAG.a.964.

Statistical harmonisation methods include NeuroComBat, CovBat, NeuroHarmonize, OPNested ComBat, AutoComBat, and RELIEF. Shallow machine learning methods include: ...TODO

Brain age machine learning methods, and the difference between the predicted and the chronological age—the brain age gap (BAG)—can be used to assess deviation from normative ageing trajectories. A larger BAG, therefore, represents a proxy parameter of poorer brain ageing, which is associated with cognitive decline (Biondo et al., 2021; Franke & Gaser, 2019).

This GUI supports the ongoing research at University of Amsterdam Medical Center on brain ageing, but is being built for the entire community of radiology researchers across all university and academic medical centers and beyond.

References

NeuroComBat: Fortin, J.-P. et al. Harmonization of multi-site diffusion tensor imaging data. Neuroimage 161, 149–170 (2017).

CovBat: Chen, A. A. et al. Mitigating site effects in covariance for machine learning in neuroimaging data. Hum. Brain Mapp. 43, 1179–1195 (2022).

NeuroHarmonize: Pomponio, R. et al. Harmonization of large MRI datasets for the analysis of brain imaging patterns throughout the lifespan. Neuroimage 208, 116450 (2020).

OPNested ComBat: Horng, H. et al. Generalized ComBat harmonization methods for radiomic features with multi-modal distributions and multiple batch effects. Sci. Rep. 12, 4493 (2022).

AutoComBat: Carré, A. et al. AutoComBat: a generic method for harmonizing MRI-based radiomic features. Sci. Rep. 12, 12762 (2022).

RELIEF: Zhang, R., Oliver, L. D., Voineskos, A. N. & Park, J. Y. RELIEF: A structured multivariate approach for removal of latent inter-scanner effects. Imaging Neurosci (Camb) 1, 1–16 (2023).

Install and run

pip install cvasl-gui
cvasl-gui

Configuration

The application will look for the following environment variables:

CVASL_DEBUG_MODE  # True for development, False for production. Debug mode will show the Dash debug console on the page. In production mode, the browser will be automatically opened.
CVASL_PORT        # The port the server runs on, default is 8767

Development

poetry install
poetry run cvasl-gui

Tests

#TODO

Building Executable with PyInstaller

To create a standalone executable of the application:

  1. Install PyInstaller (already included in dev dependencies):
poetry install
  1. Build the executable using the provided script:
./build.sh

Or manually:

poetry run pyinstaller cvasl-gui.spec
  1. The executable will be created in dist/cvasl-gui/. Run it with:
cd dist/cvasl-gui
./cvasl-gui

Note: The build process will:

  • Include all necessary assets (CSS files, etc.)
  • Bundle Python dependencies
  • Create a self-contained application directory
  • The executable can be distributed to users without requiring Python installation

Environment Variables: The executable supports some of the environment variables as the regular installation (CVASL_DEBUG_MODE is forced to False).

Metadata

Release files for cvasl-gui 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cvasl-gui 0.2.3
File Size Uploaded
cvasl_gui-0.2.3.tar.gz 30.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cvasl-gui 0.2.3
File Interpreter ABI Platform
cvasl_gui-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 71.5 kB

Release files / cvasl_gui-0.2.3.tar.gz

Download URL cvasl_gui-0.2.3.tar.gz
Size 30.6 kB
Tags Source
SHA-256 checksum
How to use checksums
737cbe103465e15a52671196c55953b434a18f8497270987678752698b238d16
BLAKE2b-256 checksum
How to use checksums
7f4e36a5caa7b38de95fba5d2c01e1255a11edeee82e01a79cc4a664d5751b9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 26, 2026.

Transparency log

Release files / cvasl_gui-0.2.3-py3-none-any.whl

Download URL cvasl_gui-0.2.3-py3-none-any.whl
Size 41.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
48df92df4cc35aa1eb783e4f12d9a9e779961dccf7bdc81cdb1e07caf5338e58
BLAKE2b-256 checksum
How to use checksums
bec1b723df16bc73e3b6999c9a54c5e80d34b53e1e14aa82b855ca4af44073bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.1

2 release files

0.1.9

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page