Skip to content

Commit e6d23b9

Browse files
authored
FIX: Suggested edits to the JOSS submission
Updates the JOSS submission to incorporate the suggestions by @PeerHerholz. References: openjournals/joss-reviews#3459 Resolves: #119.
1 parent 0b36f40 commit e6d23b9

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

joss/paper.md

+12-8
Original file line numberDiff line numberDiff line change
@@ -38,20 +38,24 @@ date: 04 November 2019
3838
bibliography: nt.bib
3939
---
4040

41-
# Summary
41+
# Introduction
4242

4343
Spatial transforms formalize mappings between coordinates of objects in biomedical images.
4444
Transforms typically are the outcome of image registration methodologies, which estimate the alignment between two images.
45-
Image registration is a prominent task present in image processing.
46-
In neuroimaging, the proliferation of image registration software implementations has resulted in a disparate collection of structures and file formats used to preserve and communicate the transformation.
45+
Image registration is a prominent task present in almost any image processing workflow.
46+
47+
**Statement of need**. In neuroimaging, the proliferation of image registration software implementations has resulted in a disparate collection of structures and file formats used to preserve and communicate the transformation.
4748
This assortment of formats presents the challenge of compatibility between tools and endangers the reproducibility of results.
4849

49-
_NiTransforms_ is a Python tool capable of reading and writing tranforms produced by the most popular neuroimaging software (AFNI [@cox_software_1997], FSL [@jenkinson_fsl_2012], FreeSurfer [@fischl_freesurfer_2012], ITK via ANTs [@avants_symmetric_2008], and SPM [@friston_statistical_2006]).
50+
**Summary**. _NiTransforms_ is a Python tool capable of reading and writing tranforms produced by the most popular neuroimaging software (AFNI [@cox_software_1997], FSL [@jenkinson_fsl_2012], FreeSurfer [@fischl_freesurfer_2012], ITK via ANTs [@avants_symmetric_2008], and SPM [@friston_statistical_2006]).
5051
Additionally, the tool provides seamless conversion between these formats, as well as the ability of applying the transforms to other images.
51-
_NiTransforms_ is inspired by `NiBabel` [@brett_nibabel_2006], a Python package with a collection of tools to read, write and handle neuroimaging data, and will be included as a new module.
52+
_NiTransforms_ is inspired by _NiBabel_ [@brett_nibabel_2006], a Python package with a collection of tools to read, write and handle neuroimaging data, and will be included as a new module.
5253

53-
# Spatial transforms
54+
# Implementation
55+
We first mathematically formulate the problem of spatial alignment of images and highlight common pitfalls.
56+
We then justify the architectural design of _NiTransforms_ and describe the major elements of the implementation.
5457

58+
## Methods
5559
Let $\vec{x}$ represent the coordinates of a point in the reference coordinate system $R$, and $\vec{x}'$ its projection on to another coordinate system $M$:
5660

5761
$T\colon R \subset \mathbb{R}^n \to M \subset \mathbb{R}^n$
@@ -67,9 +71,9 @@ An example of image fusion application would be the alignment of functional data
6771
Therefore, "applying a transform" entails two operations: first, transforming the coordinates of the samples in the reference image $R$ to find their mapping $\vec{x}'$ on $M$ via $T\{\cdot\}$, and second an interpolation step as $\vec{x}'$ will likely fall off-the-grid of the moving image $M$.
6872
These two operations are confusing because, while the spatial transformation projects from $R$ to $M$, the data flows in reversed way after the interpolation of the values of $M$ at the mapped coordinates $\vec{x}'$.
6973

70-
![figure1](https://github.com/poldracklab/nitransforms/raw/master/docs/_static/figure1-joss.png "Figure 1")
74+
![figure1](https://github.com/poldracklab/nitransforms/raw/master/docs/_static/figure1-joss.png "Figure 1: Resampling a 3D image via a spatial transform to fuse the information of one into another image.")
7175

72-
# Software Architecture
76+
## Software Architecture
7377

7478
There are four main components within the tool: an `io` submodule to handle the structure of the various file formats, a `base` submodule where abstract classes are defined, a `linear` submodule implementing $n$-dimensional linear transforms, and a `nonlinear` submodule for both parametric and non-parametric nonlinear transforms.
7579
Furthermore, _NiTranforms_ provides a straightforward _Application Programming Interface_ (API) that allows researchers to map point sets via transforms, as well as apply transforms (i.e., mapping the coordinates and interpolating the data) to data structures with ease.

0 commit comments

Comments
 (0)