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:
- Install PyInstaller (already included in dev dependencies):
poetry install
- Build the executable using the provided script:
./build.sh
Or manually:
poetry run pyinstaller cvasl-gui.spec
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| cvasl_gui-0.2.3.tar.gz | 30.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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