Cardiotensor: A Python Library for Orientation Analysis and Tractography in 3D Cardiac Imaging
Cardiotensor: A Python Library for Orientation Analysis and Tractography in 3D Cardiac Imaging - Published in JOSS (2026)
Science Score: 94.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 4 DOI reference(s) in README and JOSS metadata -
○Academic publication links
-
✓Committers with academic emails
1 of 6 committers (16.7%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Repository
A Python package to quantify and visualize 3D cardiomyocyte orientation in heart imaging datasets
Basic Info
- Host: GitHub
- Owner: JosephBrunet
- License: mit
- Language: Python
- Default Branch: main
- Homepage: http://www.josephbrunet.fr/cardiotensor/
- Size: 254 MB
Statistics
- Stars: 6
- Watchers: 3
- Forks: 4
- Open Issues: 4
- Releases: 7
Topics
Metadata Files
README.md
CardioTensor
A Python package to quantify and visualize 3D cardiomyocyte orientation in heart imaging datasets
Introduction
Cardiotensor is a user-friendly and memory-efficient toolkit designed for analyzing the orientation of cardiomyocyte fibers in large heart imaging datasets. It uses advanced image processing techniques to help researchers to accurately quantify 3D cardiomyocyte orientations with high efficiency.
Installation
Cardiotensor is published as a Python package and can be installed with
pip, ideally by using a virtual environment. Open up a terminal and install
cardiotensor with:
bash
pip install cardiotensor
⚠️ Require python 3.10 or newer
Documentation
Cardiotensor's documentation is available at josephbrunet.fr/cardiotensor/
Getting Started
Have a look at our simple example that runs you through all the commands of the package
Overview of the cardiotensor pipeline for 3D cardiac orientation analysis and tractography.
(a) Input data consist of a whole‑ or partial‑heart volume and, optionally, a binary mask to restrict analysis to myocardial tissue.
(b) Local cardiomyocyte orientation is derived by 3D structure tensor computation and eigenvector decomposition.
The third eigenvector (smallest eigenvalue) is visualized as arrows, color‑coded by helix angle (HA); inset shows a zoom of the ventricular septum highlighting transmural fiber rotation.
(c) After transforming to a cylindrical coordinate system aligned with the left ventricle, voxel‑wise HA, transverse angle (TA), and fractional anisotropy (FA) maps are computed for quantitative analysis.
(d) Streamline tractography generated from the eigenvector field reveals continuous cardiomyocyte bundles throughout the heart, color‑coded by HA.
More Information
This package uses the structure-tensor package to calculate the structure tensor, extending its capabilities for cardiac imaging.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
Contributions are welcome! If you encounter a bug or have suggestions for new features:
- Report an Issue: Open an issue in the repository.
- Submit a Pull Request: Fork the repository, make changes, and submit a pull request.
For major changes, please discuss them in an issue first.
Contact
For questions, feedback, or support, please contact the maintainers at [j.brunet@ucl.ac.uk].
Reference
Brunet, J., Cook, A. C., Walsh, C. L., Cranley, J., Tafforeau, P., Engel, K., Arthurs, O., Berruyer, C., Burke O’Leary, E., Bellier, A., et al. (2024). Multidimensional analysis of the adult human heart in health and disease using hierarchical phase-contrast tomography. Radiology, 312(1), e232731. https://doi.org/10.1148/radiol.232731. [PDF]
bibtex
@article{brunet2024multidimensional,
title={Multidimensional analysis of the adult human heart in health and disease using hierarchical phase-contrast tomography},
author={Brunet, Joseph and Cook, Andrew C and Walsh, Claire L and Cranley, James and Tafforeau, Paul and Engel, Klaus and Arthurs, Owen and Berruyer, Camille and Burke O’Leary, Emer and Bellier, Alexandre and others},
journal={Radiology},
volume={312},
number={1},
pages={e232731},
year={2024},
publisher={Radiological Society of North America}
}
Owner
- Name: Joseph Brunet
- Login: JosephBrunet
- Kind: user
- Location: Grenoble, France
- Company: UCL
- Website: https://www.josephbrunet.fr/
- Repositories: 2
- Profile: https://github.com/JosephBrunet
JOSS Publication
Cardiotensor: A Python Library for Orientation Analysis and Tractography in 3D Cardiac Imaging
Authors
Department of Mechanical Engineering, University College London, London, UK, European Synchrotron Radiation Facility, Grenoble, France
UCL Institute of Cardiovascular Science, London, UK, UCL Division of Medicine, University College London, London, UK
Tags
cardiac imaging structure tensor orientation analysis tractography fiber architecture synchrotron tomographyCitation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it using the metadata below."
title: "Cardiotensor: A Python Library for Orientation Analysis and Tractography in 3D Cardiac Imaging"
type: software
authors:
- family-names: "Brunet"
given-names: "Joseph"
orcid: "https://orcid.org/0000-0002-8424-9510"
affiliation: "Department of Mechanical Engineering, University College London, London, UK; European Synchrotron Radiation Facility, Grenoble, France"
- family-names: "Chestnutt"
given-names: "Lisa"
orcid: "https://orcid.org/0009-0008-0783-7299"
affiliation: "UCL Institute of Cardiovascular Science, London, UK"
- family-names: "Chourrout"
given-names: "Matthieu"
orcid: "https://orcid.org/0000-0002-2282-6976"
affiliation: "Department of Mechanical Engineering, University College London, London, UK"
- family-names: "Dejea"
given-names: "Hector"
orcid: "https://orcid.org/0000-0003-2584-9812"
affiliation: "European Synchrotron Radiation Facility, Grenoble, France"
- family-names: "Sabarigirivasan"
given-names: "Vaishnavi"
orcid: "https://orcid.org/0000-0003-2550-6262"
affiliation: "UCL Institute of Cardiovascular Science, London, UK; UCL Division of Medicine, University College London, London, UK"
- family-names: "Lee"
given-names: "Peter D."
orcid: "https://orcid.org/0000-0002-3898-8881"
affiliation: "Department of Mechanical Engineering, University College London, London, UK; Research Complex at Harwell, Didcot, UK"
- family-names: "Cook"
given-names: "Andrew C."
orcid: "https://orcid.org/0000-0001-5079-7546"
affiliation: "UCL Institute of Cardiovascular Science, London, UK"
keywords:
- Python
- cardiac imaging
- structure tensor
- orientation analysis
- tractography
- fiber architecture
- synchrotron tomography
license: "MIT"
repository-code: "https://github.com/JosephBrunet/cardiotensor"
url: "https://github.com/JosephBrunet/cardiotensor"
abstract: >
Cardiotensor is an open-source Python package designed to quantify 3D cardiomyocyte
orientation in whole- or partial-heart imaging datasets. It provides scalable
implementations of structure tensor analysis and tractography for teravoxel-scale
datasets, enabling extraction of directional metrics such as helical angle (HA),
intrusion angle (IA), and fractional anisotropy (FA).
version: "1.1.8"
date-released: 2026-04-06
GitHub Events
Total
- Release event: 4
- Delete event: 6
- Pull request event: 5
- Fork event: 2
- Issues event: 6
- Watch event: 2
- Issue comment event: 2
- Push event: 156
- Public event: 1
- Create event: 9
Last Year
- Release event: 3
- Delete event: 6
- Pull request event: 5
- Issues event: 6
- Issue comment event: 2
- Push event: 111
- Create event: 7
Committers
Last synced: about 1 month ago
Top Committers
| Name | Commits | |
|---|---|---|
| josephbrunet | j****3@g****m | 440 |
| Matthieu Chourrout | 8****m | 10 |
| lchestnutt | l****1@g****m | 3 |
| by22Jy | 1****y | 2 |
| Joseph Brunet | J****4@e****r | 1 |
| Chestnutt | u****c@u****k | 1 |
Issues and Pull Requests
Last synced: about 1 month ago
All Time
- Total issues: 4
- Total pull requests: 11
- Average time to close issues: about 5 hours
- Average time to close pull requests: 12 days
- Total issue authors: 3
- Total pull request authors: 3
- Average comments per issue: 0.25
- Average comments per pull request: 0.18
- Merged pull requests: 9
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 4
- Pull requests: 10
- Average time to close issues: about 5 hours
- Average time to close pull requests: 13 days
- Issue authors: 3
- Pull request authors: 3
- Average comments per issue: 0.25
- Average comments per pull request: 0.2
- Merged pull requests: 8
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- chourroutm (2)
- ClementCaporal (1)
- JosephBrunet (1)
Pull Request Authors
- JosephBrunet (6)
- lchestnutt (3)
- chourroutm (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 177 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 11
- Total maintainers: 1
pypi.org: cardiotensor
Toolkit designed for quantifying and visualising 3D cardiomyocytes orientations in heart images
- Documentation: https://www.josephbrunet.fr/cardiotensor/
- License: MIT License Copyright (c) 2023 Joseph Brunet Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
Latest release: 1.1.8
published about 1 month ago