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-a24). 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-a24},
  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.1a24.tar.gz (273.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.0.1a24-py3-none-any.whl (331.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: confusius-0.0.1a24.tar.gz
  • Upload date:
  • Size: 273.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","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.1a24.tar.gz
Algorithm Hash digest
SHA256 6c2f1dacb77e0d89f576661b8b4fd9a78a0e32c2ca3037be3147f0ec652f2970
MD5 bd4bed11bb02e0a9a668856b6d5a3a99
BLAKE2b-256 7961b786086dfbb699eff99dd9280c85399faefd4574c21e4af42102d20fb3ea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: confusius-0.0.1a24-py3-none-any.whl
  • Upload date:
  • Size: 331.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","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.1a24-py3-none-any.whl
Algorithm Hash digest
SHA256 b9a6366aceb5875461fc9027b8c5616207736a49649d2a14ede93df84da74b2a
MD5 94d01141a23641434c82184ee2f1f141
BLAKE2b-256 4afe1f269f669127ef0689182caeb478108e8faa0247da2e6cadddbca2baf69c

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