Open-Source Hypothalamic-ForniX (OSHy-X) Atlases and Segmentation Tool for 3T and 7T

Open-Source Hypothalamic-ForniX (OSHy-X) Atlases and Segmentation Tool for 3T and 7T - Published in JOSS (2022)

https://github.com/cadaei-yuvxvs/oshy-x

Science Score: 93.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
    Found 6 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software
Last synced: 6 months ago · JSON representation

Repository

Open Source Hypothalamic Atlas and Segmentation for 3T and 7T

Basic Info
  • Host: GitHub
  • Owner: Cadaei-Yuvxvs
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 36.1 MB
Statistics
  • Stars: 3
  • Watchers: 2
  • Forks: 4
  • Open Issues: 0
  • Releases: 1
Created over 4 years ago · Last pushed over 3 years ago
Metadata Files
Readme Contributing License

README.md

Open Source Hypothalamic-ForniX (OSHy-X) Atlases and Segmentation Tool for 3T and 7T

DOI

Version 0.4

OSHy-X is an atlas repository (https://osf.io/zge9t) and containerised Python script that automatically segments the hypothalamus and fornix at 3T and 7T in both T1w and T2w scans. It is designed to only run inside a container. See below for installation instructions.

OSHy-X is published in the Journal of Open Source Software. Read the paper here.

The user inputs a T1w or T2w image. They are given the options for denoising, B1 bias field correction and image cropping. After Joint Label Fusion, the given output are the label, volume and mosaic files.


Installation

You have the option of running OSHy-X via NeuroDesk, a Docker container by itself, or an Apptainer. OSHy-X (and OSHy.py) is not designed to run outside of a container.

Neurodesk

Follow instructions here to install Neurodesk.

Docker

  1. Install Docker here.
  2. Open a terminal and run:

docker pull jerync/oshyx_0.4:20220614 To pull the container. Or run:

docker run --rm -v /path/to/data/folder/:/data/ jerync/oshyx_0.4:20220614 --target /data/input_file.nii.gz --outdir /data/output_directory

Apptainer (formerly Singularity)

  1. Install Apptainer here.
  2. Open a terminal and run apptainer build oshyx_0.4.sif docker://jerync/oshyx_0.4:20220614 to build the container.

Usage

Docker and Apptainer

``` Usage: docker run --rm -v /path/to/data:/data jerync/oshyx_0.4:20220614 [-h] -t TARGET [TARGET ...] -o OUTDIR [-c CROP] [-w WEIGHTING] [-d DENOISE] [-f FIELDCORRECTION] [-m MOSAIC] [-x TESLA] [-b BIMODAL] [-n NTHREADS]

   apptainer run --bind /path/to/data:/data oshyx_0.4.sif 
           [-h] -t TARGET [TARGET ...] -o OUTDIR [-c CROP] [-w WEIGHTING]
           [-d DENOISE] [-f FIELDCORRECTION] [-m MOSAIC] [-x TESLA]
           [-b BIMODAL] [-n NTHREADS]

Options: -h, --help Show this help message and exit -t TARGET [TARGET ...], --target TARGET [TARGET ...] A string or list of strings pointing to the target image(s). Must be a NIfTI file. For a test run, specify /OSHy/sub-test.nii.gz -o OUTDIR, --outdir OUTDIR A string pointing to the output directory. Please ensure this is within the mounted volume (Specified with the -v flag for the docker run command. -c CROP, --crop CROP Optional. A boolean indicating if the target image and priors are to be cropped. If False, whole-image priors will be used, which will improve the segmentation but significantly increase the runtime. (default: True) -w WEIGHTING, --weighting WEIGHTING A string indicating the weighting of the input image(s). This can be either T1w or T2w. (default: T1w -d DENOISE, --denoise DENOISE Optional. A boolean indicating if denoising is to be run on the target image. (default: True) -f FIELDCORRECTION, --fieldCorrection FIELDCORRECTION Optional. A boolean indicating if B1 bias field correction is to be run on the target image. (default: True) -m MOSAIC, --mosaic MOSAIC Optional. A boolean indicating if a mosaic image is to be plotted after running Joint Label Fusion. (default: True) -x TESLA, --tesla TESLA Optional. An integer (either 3 or 7) indicating the field strength. (default: 3) -b BIMODAL, --bimodal BIMODAL Optional. A boolean indicating if bimodal priors are to be used. If FALSE, then only unimodal priors (specified in --weighting) will be used.(default: False) -n NTHREADS, --nthreads NTHREADS Optional. An integer indicating the number of threads. This is passed to the global variable ITKGLOBALDEFAULTNUMBEROF_THREADS and the -j flag in Joint Label Fusion. (default: 6) ```

Output

All output is written to the output directory (specified using the -o/--outdir flag.)

Contents of the output include:

  • sub-XX_Labels.nii.gz: Output from Joint Label Fusion. The label file for the left and right hemispheres of the Hypothalamus and Fornix. If --crop is True then this label file will also be cropped. The labels are as follows:
    • 1 Left Hypothalamus
    • 2 Right Hypothalamus
    • 3 Right Fornix
    • 4 Left Fornix
  • sub-XX_Intensity.nii.gz: The input intensity image for Joint Label Fusion segmentation.
  • sub-XX_resampled_Labels.nii.gz: sub-XX_Labels.nii.gz but resampled to the input target image.
  • sub-XX_hypothalamus.nii.gz: sub-XXresampledLabels.nii.gz but with only hypothalamus labels.
  • sub-XX_fornix.nii.gz: sub-XXresampledLabels.nii.gz but with only fornix labels.
  • sub-XX_mosaic.png: A 16 slice coronal visualisation of the segmentation.
  • *_log.txt: The log of the piecewise registration between the atlases and the target image.
  • sub-XX_TargetMaskImageMajorityVoting.nii.gz: Labelled voxels where Joint Label Fusion was not performed. This is the case when 80% or more of the atlases agree on the same voxel.
  • sub-XX_TargetMaskImageMajorityVoting_Mask: A mask of voxels where Joint Label Fusion segmentation is performed.
  • sub-XX_volumes.csv: Volumes of the four labels (as described above). Units for volume are in mm3.

Community

We welcome any contributions to OSHy-X, whether they are reports for bugs, feature enhancements, or pull requests.

To contribute to OSHy-X please visit our contribute page and read our contributing guidelines.

Owner

  • Name: Jeryn
  • Login: Cadaei-Yuvxvs
  • Kind: user
  • Location: Brisbane, Aus

Discovering patterns in biological big data, one line of code at a time. she/her

JOSS Publication

Open-Source Hypothalamic-ForniX (OSHy-X) Atlases and Segmentation Tool for 3T and 7T
Published
August 05, 2022
Volume 7, Issue 76, Page 4368
Authors
Jeryn Chang ORCID
School of Biomedical Sciences, The University of Queensland
Frederik Steyn ORCID
School of Biomedical Sciences, The University of Queensland, Department of Neurology, Royal Brisbane and Women's Hospital, Australia, Wesley Medical Research, The Wesley Hospital, UQ Centre for Clinical Research, The University of Queensland
Shyuan Ngo ORCID
Department of Neurology, Royal Brisbane and Women's Hospital, Australia, Wesley Medical Research, The Wesley Hospital, UQ Centre for Clinical Research, The University of Queensland, Australian Institute of Bioengineering and Nanotechnology, The University of Queensland
Robert Henderson ORCID
Department of Neurology, Royal Brisbane and Women's Hospital, Australia, Wesley Medical Research, The Wesley Hospital, UQ Centre for Clinical Research, The University of Queensland
Christine Guo
ActiGraph, LLC, Pensacola, FL, USA
Steffen Bollmann ORCID
Centre for Advanced Imaging, The University of Queensland, School of Information Technology and Electrical Engineering, The University of Queensland
Jurgen Fripp ORCID
CSIRO Health and Biosecurity, The Australian eHealth Research Centre, Brisbane, Australia
Markus Barth ORCID
Centre for Advanced Imaging, The University of Queensland, School of Information Technology and Electrical Engineering, The University of Queensland
Thomas Shaw ORCID
Department of Neurology, Royal Brisbane and Women's Hospital, Australia, Centre for Advanced Imaging, The University of Queensland, School of Information Technology and Electrical Engineering, The University of Queensland
Editor
Elizabeth DuPre ORCID
Tags
Docker Apptainer ANTs MRI Segmentation Multi-atlas label fusion

GitHub Events

Total
Last Year

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 122
  • Total Committers: 4
  • Avg Commits per committer: 30.5
  • Development Distribution Score (DDS): 0.041
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Cadaei-Yuvxvs c****s@g****m 117
Thom Shaw 3****2 3
Steffen Bollmann s****5 1
Jakub Kaczmarzyk j****k@g****m 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 7
  • Total pull requests: 10
  • Average time to close issues: 11 days
  • Average time to close pull requests: about 11 hours
  • Total issue authors: 2
  • Total pull request authors: 4
  • Average comments per issue: 2.14
  • Average comments per pull request: 0.2
  • Merged pull requests: 10
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • kaczmarj (6)
  • a3sha2 (1)
Pull Request Authors
  • Cadaei-Yuvxvs (6)
  • thomshaw92 (2)
  • kaczmarj (1)
  • stebo85 (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

test/requirements.txt pypi
  • antspyx *
  • argparse ==1.4.0
  • psutil *
  • pytest ==6.2
  • pytest-mock ==3.6.1
.github/workflows/draft-pdf.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/test_oshyx.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • easimon/maximize-build-space master composite