CoperniFUS: A flexible Python-based GUI for stereotaxic Focused UltraSound (FUS) experiment planning
In the quest for a better control and understanding of the mechanisms of ultrasound neuromodulation and neurostimulation, the planning of experiments, evaluation of acoustic parameters via simulations, and post-processing of results often rely on distinct software programs with their own coordinate systems, which greatly complicates the integration, analysis, and interpretation of key information.
Designed around a unified coordinate system architecture, CoperniFUS
is built to address this challenge by offering a versatile software platform for planning stereotaxic focused ultrasound (FUS) procedures.
Check out the Documentation and step by step tutorial to learn more on its usage.
Important
Like any other numerical modeling technique, the quality of the results produced by CoperniFUS depends entirely on the choice of input parameters. This software, developed in the context of my PhD, is also subject to bugs. It is therefore of the responsibility of the user to design and perform careful assessments of the results validity. If you identify any issues, please report them in GitHub's dedicated section.
Supports a large range of Brain Atlases and associated structures thanks to BrainGlobe Atlas API.
Arbitrary stereotaxic frames can be easily simulated using a flexible dictionary-based editor.
Stereotaxic frame elements (referred as armatures) can be associated in a hierarchical tree structure allowing to perform operations such as mesh boolean operation or acoustic simulations in any spatial reference frame.
Atlases scale and orientation can be simply matched to experimental conditions using anatomical landmarks such as Lambda and Bregma for rodents.
Integration with the Python library trimesh allow for the manipulation of meshes. This feature greatly simplifies the execution of acoustic simulations in the presence of skulls.
Support axisymmetric simulations in homogeneous domains and 3D simulations in complex mediums.
Tested on macOS 15, Ubuntu 24.04.2 LTS, Linux Mint 21.1, Windows 10 & 11 using Python 3.12.
For detailed instructions and troubleshooting steps checkout the documentation here.
-
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 using
conda activate coperniFUS_env
- Using
-
Install
coperniFUS
usingpip
(if you are using windows, you might need to install Git)-
pip install git+https://github.com/Tomaubier/CoperniFUS.git
1a. For Linux users: Install
libxcb-cursor-dev
to satisfyPyQt6
requirementssudo apt-get install -y libxcb-cursor-dev
see for additional details.1b. For macOS users:
k-wave-python
currently requiersfftw hdf5 zlib libomp
to be installed. This requirement con be satisfied by runningbrew install fftw hdf5 zlib libomp
using Homebrew. See this k-wave-python issue for additional details.
-
-
Launch CoperniFUS by running
coperniFUS
in a terminal. Checkout this page for detailed usage instructions.
With the aim of making CoperniFUS suitable for a wide range of applications, your feedback and contributions are always welcome! Please refer to the Contribution Guidelines if you wish to do so.