QSM

Julia toolbox for Quantitative Susceptibility Mapping

https://github.com/kamesy/qsm.jl

Science Score: 44.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
    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 (8.0%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

Julia toolbox for Quantitative Susceptibility Mapping

Basic Info
Statistics
  • Stars: 16
  • Watchers: 5
  • Forks: 10
  • Open Issues: 3
  • Releases: 10
Created about 4 years ago · Last pushed about 2 years ago
Metadata Files
Readme License Citation

README.md

QSM.jl

Stable Dev Build Status

Julia toolbox for quantitative susceptibility mapping (QSM).

Installation

QSM.jl requires Julia v1.6 or later.

julia julia> ]add QSM

Example

```julia using QSM

constants

γ = 267.52 # gyromagnetic ratio B0 = 3 # main magnetic field strength

load 3D single-, or multi-echo data using your favourite

package, e.g. MAT.jl, NIfTI.jl, ParXRec.jl, ...

mag, phas = ...

bdir = (...,) # direction of B-field vsz = (...,) # voxel size TEs = [...] # echo times

extract brain mask from last echo using FSL's bet

mask0 = bet(@view(mag[:,:,:,end]), vsz, "-m -n -f 0.5")

erode mask

mask1 = erode_mask(mask0, 5)

unwrap phase + harmonic background field correction

uphas = unwrap_laplacian(phas, mask1, vsz)

convert units

@views for t in axes(uphas, 4) uphas[:,:,:,t] .*= inv(B0 * γ * TEs[t]) end

remove non-harmonic background fields

fl, mask2 = vsharp(uphas, mask1, vsz)

dipole inversion

x = rts(fl, mask2, vsz, bdir=bdir) ```

See the documentation for more details.

Multi-Threading

Multi-threading is provided by Polyester.jl. To enable threading, start Julia with multiple threads:

bash julia --threads N or bash export JULIA_NUM_THREADS=N

After an interrupt of a multi-threaded loop, reset threading via: julia julia> QSM.reset_threading()

Owner

  • Login: kamesy
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
title: Quantitative Susceptibility Mapping Toolbox
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Christian
    name-suffix: Kames
    email: ckames@physics.ubc.ca
identifiers:
  - type: url
    value: 'https://github.com/kamesy/QSM.jl'
    description: >-
      Julia toolbox for quantitative susceptibility mapping
      (QSM).
repository-code: 'https://github.com/kamesy/QSM.jl'
url: 'https://kamesy.github.io/QSM.jl'
keywords:
  - QSM
  - MRI
license: MIT

GitHub Events

Total
  • Issues event: 2
  • Watch event: 2
  • Pull request event: 1
  • Fork event: 2
Last Year
  • Issues event: 2
  • Watch event: 2
  • Pull request event: 1
  • Fork event: 2

Committers

Last synced: about 3 years ago

All Time
  • Total Commits: 29
  • Total Committers: 4
  • Avg Commits per committer: 7.25
  • Development Distribution Score (DDS): 0.241
Top Committers
Name Email Commits
kamesy c****s@p****m 22
kamesy 5****y@u****m 4
jondeuce 2****e@u****m 2
Patrick Fuchs p****s@u****m 1

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 5
  • Total pull requests: 10
  • Average time to close issues: about 14 hours
  • Average time to close pull requests: 3 months
  • Total issue authors: 3
  • Total pull request authors: 5
  • Average comments per issue: 2.4
  • Average comments per pull request: 0.4
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 2
  • Pull requests: 2
  • Average time to close issues: about 22 hours
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • astewartau (2)
  • weberam2 (2)
  • JuliaTagBot (1)
Pull Request Authors
  • jondeuce (5)
  • astewartau (2)
  • pfuchs (1)
  • github-actions[bot] (1)
  • korbinian90 (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • julia 17 total
  • Total dependent packages: 2
  • Total dependent repositories: 0
  • Total versions: 10
juliahub.com: QSM

Julia toolbox for Quantitative Susceptibility Mapping

  • Versions: 10
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 17 Total
Rankings
Dependent repos count: 9.9%
Dependent packages count: 23.0%
Average: 23.3%
Forks count: 24.5%
Stargazers count: 35.6%
Last synced: 7 months ago

Dependencies

.github/workflows/CI.yml actions
  • actions/checkout v2 composite
  • julia-actions/cache v1 composite
  • julia-actions/julia-buildpkg latest composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-docdeploy latest composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite