https://github.com/cgalaz01/sum
Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: ncbi.nlm.nih.gov -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.4%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
Basic Info
- Host: GitHub
- Owner: cgalaz01
- Default Branch: master
- Size: 82.7 MB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Fork of catactg/SUM
Created over 4 years ago
· Last pushed over 8 years ago
https://github.com/cgalaz01/SUM/blob/master/
# SUM: Standardized unfold map
Author: Catalina Tobon Gomez (catactg@gmail.com)
## About
This code generates a *standardized unfold map* as described in
> Standardized unfold mapping: a technique to permit left atrial regional data display and analysis.
> Williams SE, Tobon-Gomez C, Zuluaga MA, Chubb H, Butakoff C, Karim R, Ahmed E, Camara O, Rhode KS.
> J Interv Card Electrophysiol. 2017 Sep 7. doi: 10.1007/s10840-017-0281-3.
> https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5633640/
Please cite this reference when using this code.
## Pipeline
The pipeline is split in four parts.
* run_standardization: standardizes meshes from a raw mesh. Depends on [VMTK], [VTK] and [MeshLab]
* run_currents: registers mesh to an atlas using currents registration. Depends on [VTK], [MATLAB] and ./currents_build
* run_sum: computes standardized unfold map. Depends on [VMTK] and [VTK]
* run_quantification: computes regional quantification (extent or mean value). Depends on [VMTK] and [VTK]
## Instructions
Clone the repository and cd into it:
```sh
$ git clone https://github.com/catactg/sum
$ cd sum
```
Set paths according to your system in `constants.py`
```
MATLAB_BIN_PATH
CURRENTS_BUILD_PATH
MESHLABSERVER_PATH
```
Default parameters of the algorithm can be modified in `main.py` inside the `get_parameters()` method.
## Usage
```
main.py [-h] --meshfile MESHFILE --datatype DATATYPE
[--pvcliptype PVCLIPTYPE]
[--paired_unfold_disk PAIRED_UNFOLD_DISK]
[--mitral_clip_type MITRAL_CLIP_TYPE] [--use_seed_selector]
[--use_laa_seed] [--use_similarity] [--use_glyphs]
[--visualize] [--skip_standardization] [--skip_currents]
[--skip_sum] [--skip_quantification]
-h, --help show this help message and exit
--meshfile MESHFILE Full path to mesh file in VTK format
--datatype DATATYPE Data type to process: force | lge | lat
--pvcliptype PVCLIPTYPE How to clip the pulmonary veins: short | long
--paired_unfold_disk PAIRED_UNFOLD_DISK
Full path to a paired unfold disk. The edges of the
current unfold will be overlaid on the paired unfold
disk
--mitral_clip_type MITRAL_CLIP_TYPE
The algorithm will compute a mitral plane based on the
body and PVs centroids. If the meshfile already
contains a mitral plane clip, use the 'manual' option
to preserve it
--use_seed_selector Seed selection will always run for a new case. To
select new seeds, activate this flag
--use_laa_seed Activate seed for appendage
--use_similarity The method uses an affine transform to initialize mesh
registration. Activate this flag to use a similarity
transform
--use_glyphs Activate glyph on visualization. Recommended for spare
measurements (e.g. some lat meshes)
--visualize Activate visualization
--skip_standardization Skip run_standardization step
--skip_currents Skip run_currents step
--skip_sum Skip run_sum step
--skip_quantification Skip run_quantification step
```
## Test data
Data was created by using a mesh from the [LASC] challenge and adding mock scalars onto it: force, lge, and lat.
Run the command lines below and the PNG output should be identical to the one in `./data/expected_output`.
```
python ./main.py --meshfile ./data/force/mock_force.vtk --datatype force
python ./main.py --meshfile ./data/lge/mock_lge.vtk --datatype lge --paired_unfold_disk ./data/force/mock_force_FTI_disk_uniform.vtp
python ./main.py --meshfile ./data/lat/mock_lat.vtk --datatype lat
python ./main.py --meshfile ./data/lat/mock_lat.vtk --datatype lat --use_glyph --skip_standardization --skip_currents
```
## Dependencies
The scripts in this repository were successfully run with:
- [Python] 2.7.14
- [NumPy] 1.13.3
- [VMTK] 1.4
- [VTK] 8.0.1
- [MATLAB] R2017b
- [MeshLab] 1.3
### Python packages installation
The easiest way to install everything you need using the VMTK [conda] package. It inclues Python, NumPy, VMTK and VTK.
First, download miniconda and install it from terminal:
```
wget https://repo.continuum.io/miniconda/Miniconda2-latest-MacOSX-x86_64.sh
sh Miniconda2-latest-MacOSX-x86_64.sh
```
Create an environment and activate it:
```
conda create --name vmtk
source activate vmtk
```
Finally, install vmtk:
```
conda install -c vmtk/label/dev itk vtk vmtk
```
Anytime you wish to use vmtk (e.g. to run the code in this repository) you will need to activate the environment:
```
source activate vmtk
```
[LASC]:http://github.com/catactg/lasc
[Python]:http://www.python.org
[NumPy]:http://www.numpy.org
[VMTK]:http://www.vmtk.org
[VTK]:http://www.vtk.org
[MATLAB]:http://www.mathworks.com
[MeshLab]:http://www.meshlab.net
[conda]:https://conda.io/docs/
## License
BSD 2-Clause
Owner
- Name: Christoforos Galazis
- Login: cgalaz01
- Kind: user
- Repositories: 1
- Profile: https://github.com/cgalaz01