Skip to main content

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

Project description

PyPI version Python versions DOI codecov

ConfUSIus ConfUSIus

[!NOTE] Pre-Alpha Status — ConfUSIus is in pre-alpha and under active development—the API may change between releases and some features may be incomplete. 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.0.1-a23). 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.0.1-a23},
  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.0.1a23.tar.gz (267.1 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.0.1a23-py3-none-any.whl (323.5 kB view details)

Uploaded Python 3

File details

Details for the file confusius-0.0.1a23.tar.gz.

File metadata

  • Download URL: confusius-0.0.1a23.tar.gz
  • Upload date:
  • Size: 267.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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.0.1a23.tar.gz
Algorithm Hash digest
SHA256 20814d85d4409d8a0919043943de7165e4be502fffe7ac23b309f00d751c03ce
MD5 aaa1c3f7671397e53586f7c9f1c122af
BLAKE2b-256 15cbb005d80620b9b35adc74b2b7b5ec011a16ce9a7111a47769d067da76f7b9

See more details on using hashes here.

File details

Details for the file confusius-0.0.1a23-py3-none-any.whl.

File metadata

  • Download URL: confusius-0.0.1a23-py3-none-any.whl
  • Upload date:
  • Size: 323.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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.0.1a23-py3-none-any.whl
Algorithm Hash digest
SHA256 ddb0676a9af66f61c78e26d53b958b3021773b5f8d209409db44573bd3670d20
MD5 4c6e75860926b4faddcb58660377ef34
BLAKE2b-256 59741dfe070efe450eb738bbe344ea7b5a949bffbc91ea064486314c4d70cd7c

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