Installation
Manually Prepared Environment (Python 3.9+)
On a functional Python 3.9 (or above but less than 3.12) environment with pip installed,
fMRIStroke can be installed using the habitual command
$ python -m pip install git+https://github.com/alixlam/fmristroke.git
External Dependencies
fMRIStroke is written using Python 3.9 (or above but less than 3.12), and is based on nipype_.
Containerized execution (Docker and Singularity)
Docker and Singularity are containerization technologies that allow you to run applications in isolated environments, ensuring that all dependencies are met without affecting the host system.
Docker
For every new version that is released, a corresponding Docker image is generated. The Docker image becomes a container when the execution engine loads the image and adds an extra layer that makes it runnable. In order to run the Docker images, the Docker Engine must be installed.
Install Docker
If not already installed, refer to the official Docker installation guide.
Pull the Docker image
$ docker pull alixlam/fmristroke:<latest-version> Replace ``<latest-version>`` with the desired tag (e.g., ``latest``).
Run the Docker container
$ docker run -ti --rm \ -v path/to/data:/data:ro \ # read-only, for data -v path/to/output:/out \ # read-write, for outputs alixlam/fmristroke:<latest-version> \ /data /out/out \ participant
Singularity
Singularity is an alternative to Docker, particularly suited for high-performance computing (HPC) environments where users may not have root access. To run the fMRIStroke container with Singularity, follow these steps:
Install Singularity
If not already installed, refer to the official Singularity installation guide.
Build the Singularity image from Docker
$ singularity build fmristroke.sif docker://alixlam/fmristroke:<latest-version>
Replace
<latest-version>with the desired tag (e.g.,latest).Run the Singularity container
$ singularity run \ -B /path/to/data:/data:ro \ -B /path/to/output:/out \ fmristroke.sif \ /data /out/out \ participant-Bbinds directories from the host system into the container./dataand/outrefer to the internal container paths.
Notes: - Singularity does not require root privileges to execute containers. - It integrates well with shared filesystems and job schedulers. - You may use
singularity execinstead ofrunfor more control over the execution command.