Skip to content

About

Dash web app + cli to generate textures maps from T1-weighted MRI

Topics

Resources

Stars

3 stars

Watchers

2 watching

Forks

Latest commit

 

History

388 Commits

Folders and files

Repository files navigation

noelTexturesPy

Dash app to generate textures maps from MRI using Advanced Normalization Tools (ANTsPy)


Documentation: https://noel-mni.github.io/noelTexturesPy/


Prerequisites

  • Pixi (for local installation)
  • Docker (for Docker installation)

Installing Pixi

# Linux/macOS (recommended method)
curl -fsSL https://pixi.sh/install.sh | sh

# Alternative methods:
# Homebrew (macOS): brew install pixi

# Add pixi to your PATH (if not automatically added)
export PATH="$HOME/.pixi/bin:$PATH"
echo 'export PATH="$HOME/.pixi/bin:$PATH"' >> ~/.bashrc

OS specific installation instructions: https://github.com/NOEL-MNI/noelTexturesPy/wiki/Installation

Local Installation with Pixi

For local development using pixi:

# Clone the repository
git clone https://github.com/NOEL-MNI/noelTexturesPy.git
cd noelTexturesPy

# Install dependencies and create environment using pixi
pixi install

# Run the application
pixi run textures_app

# Or with custom port
pixi run textures_app --port 9988

# Or in debug mode
pixi run textures_app --debug --port 9988

Access the Web UI at http://localhost:9999 (or your specified port)

CLI (Headless)

textures_cli runs the same pipeline without a browser — suitable for batch processing, HPC clusters, and scripted workflows.

# T1 only
textures_cli --t1 sub-001/t1.nii.gz

# T1 + FLAIR, explicit case ID and output directory
textures_cli --t1 sub-001/t1.nii.gz --t2 sub-001/flair.nii.gz \
             --case-id sub001 --output-dir ./results/sub-001

# Full help
textures_cli --help

See the full CLI reference for all options.

Run the app (using prebuilt images)

docker pull noelmni/textures-py:latest
docker run --rm -p 9999:9999 noelmni/textures-py:latest

Access the Web UI at http://localhost:9999

Usage noelTexturesPy GIF

Build the app

M1 Apple Silicon supported/tested, M2, M3, M4 untested as of 01-July-2025 (but will likely work without issues)

git clone https://github.com/NOEL-MNI/noelTexturesPy.git
cd noelTexturesPy
PLATFORMS=linux/arm64,linux/amd64
TAG=latest
docker buildx build --push --platform ${PLATFORMS} -t noelmni/pynoel-gui-base:${TAG} base-docker-image/
docker buildx build --push --platform ${PLATFORMS} -t noelmni/textures-py:${TAG} . --build-arg BASE_SHORT_SHA_TAG=${TAG}

Troubleshoot buildx errors

docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker buildx create --name multiarch --driver docker-container --use
docker buildx inspect --bootstrap

Required inputs

Please ensure the file(s) are renamed accordingly before uploading it to noelTexturesPy.

- T1-weighted image must include the string "t1" or "T1" in its filename, and/or
- T2-weighted (or FLAIR) image must include either "t2", "T2", "flair", or "FLAIR"

About

Dash web app + cli to generate textures maps from T1-weighted MRI

Topics

Resources

Stars

3 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages