https://github.com/computationalphysiology/mad-ssa
Tool for analysis of Mitral annulus disjunction and statistical shape analysis
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.4%) to scientific vocabulary
Repository
Tool for analysis of Mitral annulus disjunction and statistical shape analysis
Basic Info
- Host: GitHub
- Owner: ComputationalPhysiology
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://computationalphysiology.github.io/MAD-SSA/
- Size: 39.3 MB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md

saxomode
saxomode is an open-source toolkit for 3D ventricular shape analysis from cardiac magnetic resonance short axis view medical images.
It provides an end-to-end pipeline for generating, aligning, and analyzing ventricular point clouds, including principal component analysis (PCA) and mesh generation.
- Source code: https://github.com/ComputationalPhysiology/MAD-SSA.git
- Documentation: https://computationalphysiology.github.io/MAD-SSA/
Install
Install with pip
python3 -m pip install git+https://github.com/ComputationalPhysiology/MAD-SSA.git
Citing
If you use saxomode in your research project we would appreciate if you could use the following citation
@inproceedings{monopoli2025arrhythmic,
title={Arrhythmic Mitral Valve Syndrome: Insights from Left Ventricular End-Systolic Shape Analysis},
author={Monopoli, Giulia and Sadeghinia, Mohammad Javad and Westrum Aabel, Eivind and Ribe, Margareth and Castrini, Anna Isotta and Hasselberg, Nina and Bugge, Cecilie and Five, Christian and Haugaa, Kristina and Balaban, Gabriel and others},
booktitle={International Conference on Functional Imaging and Modeling of the Heart},
pages={26--36},
year={2025},
organization={Springer}
}
License
MIT <!--
📜 Table of Contents
🔭 Project Overview
The main goal of this project is to automate the process of analyzing cardiac shapes from a cohort of subjects. The pipeline consists of the following major steps:
- Point Cloud Generation: Creates 3D point clouds of the endocardium and epicardium from
.h5segmentation files. - Alignment: Aligns the generated point clouds for all subjects to a common coordinate system. This step is crucial for meaningful comparison.
- Principal Component Analysis (PCA): Performs PCA on the aligned point clouds to identify the main patterns of shape variation across the subjects.
- 3D Mesh Creation: (Optional) Generates a 3D mesh from a point cloud and computes error metrics by comparing it to the ground truth segmentation.
The entire process is contained in main.py, which runs the necessary scripts in sequence.
🚀 Getting Started
Follow these instructions to set up and run the project on your local machine.
Installation
Clone the repository:
bash git clone https://github.com/ComputationalPhysiology/MAD-SSA.gitInstall the required libraries:
bash pip install numpy pandas scikit-learn matplotlib plotly meshio open3d h5py structlog opencv-python
⚙️ Usage
This section explains how to use the scripts to process your data. --> <!--
Directory Structure
The scripts expect a specific directory structure, which is configured in config.py. You should have the following directories:
controls/ES_files_controls: This is where your subject data (in.h5format) is stored.
Next, the script will generate:
* controls/00_data/: This is the input directory where your subject data point cloud result will be stored. Each subject should have its own subfolder.
* Aligned_Models/: This is the output directory for aligned point clouds.
* controls/PCA_Results/: This is the output directory for PCA results, including modes of variation and visualizations.
* controls/settings/: This contains the fitting parameters for the point cloud generation step.
Running the Full Pipeline
The easiest way to run the entire pipeline is to execute the main.py script. This script will run the point cloud generation, alignment, and PCA in the correct order.
bash
python main.py
Individual Scripts
You can execute scripts individually:
| Script | Description | Usage |
| :-------------------- | :--------------------------------------------------------- | :------------------------------------------ |
| main_pc.py | Generates 3D point clouds from .h5 segmentations. | python main_pc.py [--name <subject>] |
| alignment.py | Aligns all generated point clouds to a common origin. | python alignment.py |
| pca.py | Runs PCA on aligned point clouds to find shape variations. | python pca.py |
| create_3d_mesh.py | Creates a 3D mesh and computes error metrics. | python create_3d_mesh.py --name <subject> |
For more advanced control, especially over the point cloud generation process, you can modify the patient-specific settings files.
Adjusting LAX Curve Smoothing
You can control the smoothing level of the LAX curves for both the epicardium and endocardium. This is useful for fine-tuning the point cloud to better fit the source data, while correcting for breath-hold misalignment.
- How to adjust: Modify the
lax_smooth_level_epiandlax_smooth_level_endovalues in the patient's corresponding JSON settings file. - Location: These files are located in the directory specified by
SETTINGS_DIRECTORYinconfig.py(e.g.,controls/settings/).
Example settings/<patient_name>.json:
```json { "mesh": { "fine": { "laxsmoothlevelepi": 80, "laxsmoothlevelendo": 50, "...": "..." } } } -->
Owner
- Name: Computational Physiology at Simula Research Laboratory
- Login: ComputationalPhysiology
- Kind: organization
- Location: Fornebu, Norway
- Website: https://computationalphysiology.github.io
- Repositories: 51
- Profile: https://github.com/ComputationalPhysiology
GitHub organization for the computational physiology department at Simula Research Laboratory
GitHub Events
Total
- Push event: 8
- Public event: 1
Last Year
- Push event: 8
- Public event: 1
Committers
Last synced: 11 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| giuliamonopoli | 1****i | 111 |
| mjsadeghinia | m****a@o****m | 78 |
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 0
- Total pull requests: 8
- Average time to close issues: N/A
- Average time to close pull requests: 25 days
- Total issue authors: 0
- Total pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 8
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 8
- Average time to close issues: N/A
- Average time to close pull requests: 25 days
- Issue authors: 0
- Pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 8
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- mjsadeghinia (6)
- giuliamonopoli (2)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/upload-pages-artifact v3 composite
- actions/checkout v4 composite
- actions/configure-pages v5 composite
- actions/deploy-pages v4 composite
- meshio *
- numpy ==1.23
- opencv-python *
- pandas ==2.2.3
- scikit-learn *
- ventric-mesh @ git+https://github.com/mjsadeghinia/VentricMesh.git