Installation¶
Minimum requirements¶
Although CoperniFUS can theoretically run on any system supporting Python 3.12 it has currently been tested on - macOS 15 - Ubuntu 24.04.2 LTS, Linux Mint 21.1 - Windows 10 & 11.
Acoutic simulations being by far the most taxing operations, hardware requirements will largely depend on the characteristics of the kwave simulations being considered. Please refer to k-Wave documentation to check if your hardware is supported by the C++ binaries leveraged by k-wave-python.
Installation procedure¶
Optional but highly recommended: setup a dedicated Python 3.12 environment (I recommended using miniconda)
- Using conda:conda create -n coperniFUS_env python=3.12
- Activate the newly created environment usingconda activate coperniFUS_envInstall
coperniFUSusingpip(if you are using windows, you might need to install Git)
-pip install git+https://github.com/Tomaubier/CoperniFUS.git1a. For Linux users: Install
libxcb-cursor-devto satisfyPyQt6requirementssudo apt-get install -y libxcb-cursor-devsee this post for additional details.1b. For macOS users:
k-wave-pythoncurrently requiersfftw hdf5 zlib libompto be installed. This requirement con be satisfied by runningbrew install fftw hdf5 zlib libompusing Homebrew. See this k-wave-python issue for additional details.Launch
coperniFUSby runningcoperniFUSin a terminal. Checkout this section for detailed usage instructions.
Alternative installation procedure for development purposes¶
Same as in the regular installation procedure. Although creating a dedicated environment for development would be recommanded. Feel free to create it using
conda create -n coperniFUS_DEV_env python=3.12.Clone your forked repository locally and proceed with the installation by running
pip install -e .from the base directory.
This way, changes made to the source code will directly take effect when relauching CoperniFUS.
Running automated tests¶
In an environnement where CoperniFUS is installed:
Install testing dependencies
pip install pytest pytest-qtRun
pytest tests/test_viewer.py