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.4.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.4.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.4.0.tar.gz (339.7 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.4.0-py3-none-any.whl (421.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: confusius-0.4.0.tar.gz
  • Upload date:
  • Size: 339.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.4.0.tar.gz
Algorithm Hash digest
SHA256 c52f8174f7fd90b5e2110dd15f3d4e85ab1f57c00cb1500cf894a9fdd5385f78
MD5 531960633663f62d73766ffe81a79f1b
BLAKE2b-256 9edb6e7297aabea5e81a948fe7ca0c57d4a15f5a6e7b8a2c22f2bd533e709478

See more details on using hashes here.

File details

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

File metadata

  • Download URL: confusius-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 421.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 50828e78ac3cc5f9cbafed94b0cfe1a708e4342f7f68a249ae9563e11c113cfa
MD5 d349f641708e959b758118c1af354224
BLAKE2b-256 e298d7a2e4245b27d6ad44d1442bd5efa3c56c092f4391c529c5f605e633ac14

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