Skip to main content

Python package for analysis and visualization of functional ultrasound imaging data.

Project description

PyPI version Python versions License DOI codecov Discord

ConfUSIus ConfUSIus

[!NOTE] Beta Status — ConfUSIus is now in beta and under active development. Core functionality is in place, but APIs may still evolve between releases as we improve stability and user experience. We are happy to help you get started: join our weekly drop-in hours on Discord or open an issue on GitHub for questions and feature requests.

ConfUSIus is a Python package and napari plugin for handling, visualization, preprocessing, and statistical analysis of functional ultrasound imaging (fUSI) data.

Features

[!NOTE] ConfUSIus is not designed as an out-of-the-box, end-to-end fUSI analysis pipeline. Because the fUSI field has not yet converged on standard processing workflows, ConfUSIus instead aims to provide the fundamental building blocks needed to implement any processing workflow described in the fUSI literature, or to design entirely new ones. Researchers can combine these blocks to build analysis pipelines suited to their experimental needs.

  • I/O Operations: Load and save fUSI data in various formats (AUTC, EchoFrame, Iconeus, NIfTI, Zarr), with automatic fUSI-BIDS sidecars for NIfTI.
  • Beamformed IQ Processing: Process raw beamformed IQ signals into power Doppler, velocity, and other derived metrics.
  • Quality Control: Compute quality metrics (DVARS, tSNR, CV) to assess data quality
  • Registration: Motion correction and spatial alignment tools.
  • Brain Atlas Integration: Map fUSI data to standard brain atlases for region-based analysis.
  • Signal Extraction: Extract signals from regions of interest using spatial masks.
  • Signal Processing: Denoising, filtering, detrending, and confound regression.
  • Visualization: Rich plotting utilities for fUSI data exploration.
  • Napari Plugin: Interactive data loading, live signals inspection, and quality control directly in the napari viewer—no scripting required.
  • Xarray Integration: Seamless integration with Xarray for labeled multi-dimensional arrays.

Installation

1. Setup a virtual environment

We recommend that you install ConfUSIus in a virtual environment to avoid dependency conflicts with other Python packages. Using uv, you may create a new project folder with a virtual environment as follows:

uv init new_project

If you already have a project folder, you may create a virtual environment as follows:

uv venv

2. Install ConfUSIus

ConfUSIus is available on PyPI. Install it using:

uv add confusius

Or with pip:

pip install confusius

To install the latest development version from GitHub:

uv add git+https://github.com/confusius-tools/confusius.git

3. Check installation

Check that ConfUSIus is correctly installed by opening a Python interpreter and importing the package:

import confusius

If no error is raised, you have installed ConfUSIus correctly.

Quick Start

import confusius as cf

# Load fUSI data
data = cf.load("path/to/data.nii.gz")

# Perform motion correction
corrected_data = data.fusi.register.volumewise()

# Visualize with napari
corrected_data.fusi.plot()

See the documentation for more detailed usage examples and tutorials.

Citing ConfUSIus

If you use ConfUSIus in your research, please cite it using the following reference:

Le Meur-Diebolt, S., & Cybis Pereira, F. (2026). ConfUSIus (v0.3.0). Zenodo. https://doi.org/10.5281/zenodo.18611124

Or in BibTeX format:

@software{confusius,
  author    = {Le Meur-Diebolt, Samuel and Cybis Pereira, Felipe},
  title     = {ConfUSIus},
  year      = {2026},
  publisher = {Zenodo},
  version   = {v0.3.0},
  doi       = {10.5281/zenodo.18611124},
  url       = {https://doi.org/10.5281/zenodo.18611124}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

confusius-0.3.0.tar.gz (334.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

confusius-0.3.0-py3-none-any.whl (416.3 kB view details)

Uploaded Python 3

File details

Details for the file confusius-0.3.0.tar.gz.

File metadata

  • Download URL: confusius-0.3.0.tar.gz
  • Upload date:
  • Size: 334.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for confusius-0.3.0.tar.gz
Algorithm Hash digest
SHA256 0cb6f47dafcb271e6d42702a4bd19349adc11d226441bc86c6deda9c631ba869
MD5 e00b55b07b05e6dde73bb72d05007e0b
BLAKE2b-256 3565e60c2ccad3d29ae570ffc4e803a3383c42e677667e9baa3fa82cfea4060b

See more details on using hashes here.

File details

Details for the file confusius-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: confusius-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 416.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for confusius-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bb190d096bc7b060bbd5aa31b9dccccefeee55f018c6fd64d5d8207912ed0b9a
MD5 cc97a051676a5009a6ac653ec9a63fa6
BLAKE2b-256 0b11e0044cd09e5115ec35980f1cbfe61d77d56a059d48038fae8bfe26ad2a65

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page