NiTransforms

NiTransforms: A Python tool to read, represent, manipulate, and apply $n$-dimensional spatial transforms - Published in JOSS (2021)

https://github.com/nipy/nitransforms

Science Score: 77.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
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    3 of 15 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary

Keywords from Contributors

bids closember data-storage git-annex usable brain-imaging fmri neuroimaging mesh
Last synced: 6 months ago · JSON representation ·

Repository

a standalone fork of nipy/nibabel#656

Basic Info
Statistics
  • Stars: 33
  • Watchers: 6
  • Forks: 17
  • Open Issues: 29
  • Releases: 19
Created over 6 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

NiTransforms

DOI ISBI2020 Deps & CI CircleCI codecov Binder Docs

A development repo for nipy/nibabel#656

About

Spatial transforms formalize mappings between coordinates of objects in biomedical images. Transforms typically are the outcome of image registration methodologies, which estimate the alignment between two images. Image registration is a prominent task present in nearly all standard image processing and analysis pipelines. The proliferation of software implementations of image registration methodologies has resulted in a spread of data structures and file formats used to preserve and communicate transforms. This segregation of formats precludes the compatibility between tools and endangers the reproducibility of results. We propose a software tool capable of converting between formats and resampling images to apply transforms generated by the most popular neuroimaging packages and libraries (AFNI, FSL, FreeSurfer, ITK, and SPM). The proposed software is subject to continuous integration tests to check the compatibility with each supported tool after every change to the code base. Compatibility between software tools and imaging formats is a necessary bridge to ensure the reproducibility of results and enable the optimization and evaluation of current image processing and analysis workflows.

BIDS' X5 format

As of the 25.0.0 release, NiTransforms experimentally supports writing X5 transform files, as drafted in the BIDS Extension Proposal 14 (BEP014).

Integration with NiBabel

NiTransforms started as a feature-repo spun off of NiBabel. Shortly after starting with nipy/nibabel#656, it became apparent that it was going to build up in a humongous PR nobody would be able to review as thoroughly as it would require. Also, NiTransforms has many connections to BIDS/BIDS-Derivatives and its X5 format specification for transforms, which falls outside of the current scope of NiBabel.

The plan is to make it an isolated tool, and once it is pertinent, proceed with the integration into NiBabel. Once this repository is ready for integration, we will define what can go into NiBabel (presumably everything, except perhaps some final details of the X5 implementation, although NiBabel will support the data structure at least logically). This is to say that the chances that NiTransforms is integrated into NiBabel are high and scheduled to happen in ~2022 Q2.

Owner

  • Name: NIPY developers
  • Login: nipy
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
title: "NiTransforms: A Python tool to read, represent, manipulate, and apply N-dimensional spatial transforms"
license: MIT
type: software
url: https://github.com/nipy/nitransforms/
version: 24.1.1
date-released: 2024-12-18
abstract: |
  Spatial transforms formalize mappings between coordinates of objects in biomedical images.
  Transforms typically are the outcome of image registration methodologies, which estimate
  the alignment between two images.
  Image registration is a prominent task present in nearly all standard image processing
  and analysis pipelines.
  The proliferation of software implementations of image registration methodologies has
  resulted in a spread of data structures and file formats used to preserve and communicate
  transforms.
  This segregation of formats precludes the compatibility between tools and endangers the
  reproducibility of results.
  We propose a software tool capable of converting between formats and resampling images
  to apply transforms generated by the most popular neuroimaging packages and libraries
  (AFNI, FSL, FreeSurfer, ITK, and SPM).
  The proposed software is subject to continuous integration tests to check the
  compatibility with each supported tool after every change to the code base.
  Compatibility between software tools and imaging formats is a necessary bridge
  to ensure the reproducibility of results and enable the optimization and evaluation
  of current image processing and analysis workflows.
keywords:
  - neuroimaging
  - spatial normalization

authors:
  - family-names: Goncalves
    given-names: Mathias
    orcid: https://orcid.org/0000-0002-7252-7771
    affiliation: "Department of Psychology, Stanford University, Stanford, CA, USA"
  - family-names: Markiewicz
    given-names: Christopher J.
    orcid: https://orcid.org/0000-0002-6533-164X
    affiliation: "Department of Psychology, Stanford University, Stanford, CA, USA"
  - family-names: Moia
    given-names: Stefano
    orcid: https://orcid.org/0000-0002-2553-3327
    affiliation: "Basque Center on Cognition Brain and Language, San Sebastian, Spain"
  - family-names: Waller
    given-names: Lea
    orcid: https://orcid.org/0000-0002-3239-6957
    affiliation: Charite Universitatsmedizin Berlin, Germany
  - family-names: Pinsard
    given-names: Basile
    orcid: https://orcid.org/0000-0002-4391-3075
    affiliation: University of Montréal, Montréal, Canada
  - family-names: Banús
    given-names: Jaume
    orcid: https://orcid.org/0000-0001-9318-6323
  - family-names: Visconti di Oleggio Castello
    given-names: Matteo
    orcid: https://orcid.org/0000-0001-7931-5272
    affiliation: University of California Berkeley, Berkeley, CA, USA
  - family-names: Marabotto
    given-names: Julien
    orcid: https://orcid.org/0009-0003-7070-5217
    affiliation: Lausanne University Hospital and University of Lausanne, Lausanne, Switzerland
  - family-names: Ma
    given-names: Feilong
    orcid: https://orcid.org/0000-0002-6838-3971
    affiliation: Dartmouth College, Hanover, NH, United States
  - family-names: Nielson
    given-names: Dylan
    orcid: https://orcid.org/0000-0003-4613-6643
    affiliation: Machine Learning Team, National Institute of Mental Health, USA
  - family-names: Cluce
    given-names: Jon
    orcid: https://orcid.org/0000-0001-7590-5806
    affiliation: Child Mind Institute, New York, NY, USA
  - family-names: Shain
    given-names: Cory
    orcid: https://orcid.org/0000-0002-2704-7197
    affiliation: Stanford University, Stanford, CA, USA
  ## When contributing, please copy and uncomment the following lines
  # - family-names: 
  #   given-names: 
  #   orcid: https://orcid.org/
  #   affiliation: 
  - family-names: Ghosh
    given-names: Satrajit
    orcid: https://orcid.org/0000-0002-5312-6729
    affiliation: "McGovern Institute for Brain Research, Massachusetts Institute of Technology (MIT), Cambridge, MA, USA; and Department of Otolaryngology, Harvard Medical School, Boston, MA, USA"
  - family-names: Poldrack
    given-names: Russell A.
    orcid: https://orcid.org/0000-0001-6755-0259
    affiliation: "Department of Psychology, Stanford University, Stanford, CA, USA"
  - family-names: Esteban
    given-names: Oscar
    orcid: https://orcid.org/0000-0001-8435-6191
    affiliation: "Lausanne University Hospital and University of Lausanne, Lausanne, Switzerland"

identifiers:
  - description: Concept DOI for the software
    type: doi
    value: 10.5281/zenodo.5499693

GitHub Events

Total
  • Create event: 36
  • Release event: 7
  • Issues event: 8
  • Watch event: 5
  • Delete event: 17
  • Issue comment event: 46
  • Push event: 111
  • Pull request review event: 4
  • Pull request review comment event: 3
  • Pull request event: 59
  • Fork event: 1
Last Year
  • Create event: 36
  • Release event: 7
  • Issues event: 8
  • Watch event: 5
  • Delete event: 17
  • Issue comment event: 46
  • Push event: 111
  • Pull request review event: 4
  • Pull request review comment event: 3
  • Pull request event: 59
  • Fork event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 564
  • Total Committers: 15
  • Avg Commits per committer: 37.6
  • Development Distribution Score (DDS): 0.374
Past Year
  • Commits: 114
  • Committers: 8
  • Avg Commits per committer: 14.25
  • Development Distribution Score (DDS): 0.526
Top Committers
Name Email Commits
Oscar Esteban c****e@o****s 353
Mathias Goncalves m****g@s****u 77
Christopher J. Markiewicz m****z@s****u 61
Dylan Nielson a****e@g****m 25
Julien Marabotto 1****o 23
Stefano Moia s****a@b****u 8
dependabot[bot] 4****] 6
Feilong Ma m****g@g****m 3
Lea Waller l****r@c****e 2
sgiavasis s****7@g****m 1
Matteo Visconti di Oleggio Castello m****c@b****u 1
Jon Clucas j****s@c****g 1
Jaume Banús j****5@g****m 1
Cory Shain c****n@g****m 1
Basile Pinsard b****d@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 67
  • Total pull requests: 155
  • Average time to close issues: about 1 year
  • Average time to close pull requests: about 1 month
  • Total issue authors: 17
  • Total pull request authors: 13
  • Average comments per issue: 1.25
  • Average comments per pull request: 1.45
  • Merged pull requests: 123
  • Bot issues: 0
  • Bot pull requests: 9
Past Year
  • Issues: 3
  • Pull requests: 54
  • Average time to close issues: N/A
  • Average time to close pull requests: 4 days
  • Issue authors: 3
  • Pull request authors: 6
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.94
  • Merged pull requests: 34
  • Bot issues: 0
  • Bot pull requests: 9
Top Authors
Issue Authors
  • oesteban (44)
  • effigies (7)
  • PeerHerholz (2)
  • psadil (1)
  • arokem (1)
  • cauzzo-s5 (1)
  • robbisg (1)
  • jmarabotto (1)
  • mgxd (1)
  • smoia (1)
  • m-petersen (1)
  • HippocampusGirl (1)
  • mattcieslak (1)
  • feilong (1)
  • dangom (1)
Pull Request Authors
  • oesteban (92)
  • effigies (21)
  • jmarabotto (11)
  • dependabot[bot] (10)
  • mgxd (9)
  • feilong (2)
  • bpinsard (2)
  • HippocampusGirl (2)
  • jbanusco (2)
  • coryshain (2)
  • mvdoc (2)
  • smoia (1)
  • shnizzedy (1)
Top Labels
Issue Labels
bug (7) enhancement (4) documentation (2) TBD (1) help wanted (1) question (1)
Pull Request Labels
codex (14) dependencies (10) github_actions (3) enhancement (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 24,009 last-month
  • Total docker downloads: 203
  • Total dependent packages: 9
  • Total dependent repositories: 7
  • Total versions: 21
  • Total maintainers: 2
pypi.org: nitransforms

NiTransforms -- Neuroimaging spatial transforms in Python.

  • Versions: 21
  • Dependent Packages: 9
  • Dependent Repositories: 7
  • Downloads: 24,009 Last month
  • Docker Downloads: 203
Rankings
Docker downloads count: 1.2%
Dependent packages count: 1.3%
Downloads: 2.7%
Dependent repos count: 5.5%
Average: 5.7%
Forks count: 10.9%
Stargazers count: 12.5%
Maintainers (2)
Last synced: 6 months ago

Dependencies

docs/requirements.txt pypi
  • ipython *
  • nbsphinx *
  • packaging *
  • pydot >=1.2.3
  • pydotplus *
  • sphinx *
  • sphinx-argparse *
  • sphinx_rtd_theme *
.github/workflows/pythonpackage.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • actions/setup-python v1 composite
.github/workflows/travis.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
Dockerfile docker
  • ubuntu xenial-20200114 build
pyproject.toml pypi
setup.py pypi