CoperniFUS documentation

CoperniFUS: A flexible Python-based GUI for stereotaxic 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.

Warning

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.

_images/CoperniFUS_screenshot.png

Key features

BrainGlobe + Structure highlighting

Supports a large range of Brain Atlases and associated structures thanks to BrainGlobe Atlas API.

_images/1_atlas_demo.gif

Stereotaxic frame module - Armature inheritance

Arbitrary stereotaxic frames can be easily modelled using a flexible dictionary-based editor.

_images/armature_config_editor.png

Stereotaxic frame elements (referred to as Armatures) can be associated in a hierarchical tree structure, allowing operations such as mesh boolean operations or acoustic simulations to be performed in any spatial reference frame.

_images/2_arm_heritance_demo.gif

Anatomical calibration module

3D objects can inherit from a anatomically calibrated coordinate frame whose scale and orientation can be simply matched to experimental conditions using anatomical landmarks such as Lambda and Bregma for rodents.

_images/3_anatomical_calib_demo.gif

Trimesh boolean operations

Integration with the Python library trimesh allows for the manipulation of meshes. This feature greatly simplifies the definition of complex domains in the context of acoustic simulations.

_images/4_boolean_operations_demo.gif

k-Wave acoustic simulation

Supports axisymmetric simulations in homogeneous domains and 3D simulations in complex mediums derived from mesh objects.

_images/5_kwave_demo.gif

General Application Structure

CoperniFUS is architectured around three main components:
  • the Viewer hosting the 3D viewport and all UI elements

  • Modules which allow the manipulation of data displayed in the viewport

  • and Armatures which are submodules lying in the Stereotaxic Frame module and allow the user to conduct operations in the spatial coordinate frames of a stereotaxic aparatus.

_images/CoperniFUS_ui_breakdown.png

Detailed information of the app structure can be found in the API reference page.

Documentation Structure