Skip to content

Commit

Permalink
Patch regmotoasl (#320)
Browse files Browse the repository at this point in the history
* Directly pass outputs through regmotoasl.

* Update pyproject.toml

* Update changelog.

* Fix license badge.
  • Loading branch information
tsalo authored Sep 6, 2023
1 parent 1f39cc7 commit e2a64a5
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 9 deletions.
33 changes: 33 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,36 @@
## 0.4.0

This release re-implements multi-delay PCASL and single-delay Q2TIPS PASL support.

Additionally, we have replaced certain BOLD-specific steps with ASL-compatible alternatives. One such case is slice timing correction. Rather than interpolate the ASL time series to perform slice timing correction (as in BOLD preprocessing), ASLPrep now shifts PLDs according to the slice timing. The other major change is to motion correction, which is now performed separately for each image type in the ASL time series (e.g., control, label, and M0 volumes).

Thanks to Sudipto Dolui, Jian Hu, Jan Petr, Manuel Taso, and Kay Jann for their help and feedback.

<!-- Release notes generated using configuration in .github/release.yml at main -->

## What's Changed
### 🛠 Breaking Changes
* Use same TPM threshold for GE and non-GE data by @tsalo in https://github.com/PennLINC/aslprep/pull/263
* Remove slice-timing correction by @tsalo in https://github.com/PennLINC/aslprep/pull/269
### 🎉 Exciting New Features
* Shift PostLabelingDelay(s) by slice times by @tsalo in https://github.com/PennLINC/aslprep/pull/280
* Perform motion correction separately for each image type by @tsalo in https://github.com/PennLINC/aslprep/pull/275
* Support single-PLD Q2TIPS PASL and multi-PLD PCASL by @tsalo in https://github.com/PennLINC/aslprep/pull/268
### 🐛 Bug Fixes
* Support runs with SCORE/SCRUB disabled by @tsalo in https://github.com/PennLINC/aslprep/pull/279
* Reorganize atlases and add them to the package data by @tsalo in https://github.com/PennLINC/aslprep/pull/282
### Other Changes
* Refactor workflow connections by @tsalo in https://github.com/PennLINC/aslprep/pull/261
* Refactor more by @tsalo in https://github.com/PennLINC/aslprep/pull/264
* Remove unused workflows by @tsalo in https://github.com/PennLINC/aslprep/pull/271
* Remove test-made nifti files before storing artifacts by @tsalo in https://github.com/PennLINC/aslprep/pull/274
* Improve plots by @tsalo in https://github.com/PennLINC/aslprep/pull/286
* Remove multi-echo elements by @tsalo in https://github.com/PennLINC/aslprep/pull/294
* Document M0 scaling by @tsalo in https://github.com/PennLINC/aslprep/pull/292


**Full Changelog**: https://github.com/PennLINC/aslprep/compare/0.3.0...0.4.0

## 0.3.0

0.3.0 reflects renewed maintenance for ASLPrep.
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
:target: https://zenodo.org/badge/latestdoi/256420694
:alt: Zenodo DOI

.. image:: https://img.shields.io/github/license/pennlinc/aslprep
.. image:: https://img.shields.io/badge/License-BSD--3--Clause-green
:target: https://opensource.org/licenses/BSD-3-Clause
:alt: License

Expand Down
12 changes: 6 additions & 6 deletions aslprep/interfaces/cbf.py
Original file line number Diff line number Diff line change
Expand Up @@ -963,17 +963,17 @@ def regmotoasl(asl, m0file, m02asl):
meanasl = fsl.MeanImage()
meanasl.inputs.in_file = asl
meanasl.inputs.out_file = fname_presuffix(asl, suffix="_meanasl")
meanasl.run()
meanasl_results = meanasl.run()
meanm0 = fsl.MeanImage()
meanm0.inputs.in_file = m0file
meanm0.inputs.out_file = fname_presuffix(asl, suffix="_meanm0")
meanm0.run()
meanm0_results = meanm0.run()
flt = fsl.FLIRT(bins=640, cost_func="mutualinfo")
flt.inputs.in_file = meanm0.inputs.out_file
flt.inputs.reference = meanasl.inputs.out_file
flt.inputs.in_file = meanm0_results.outputs.out_file
flt.inputs.reference = meanasl_results.outputs.out_file
flt.inputs.out_file = m02asl
flt.run()
return m02asl
flt_results = flt.run()
return flt_results.outputs.out_file


def refine_ref_mask(t1w_mask, ref_asl_mask, t12ref_transform, tmp_mask, refined_mask):
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,10 @@ doc = [
"pydot >= 1.2.3",
"pydotplus",
"recommonmark",
"sphinx >= 4.2.0",
"sphinx >= 6.2.1",
"sphinx-argparse",
"sphinx-markdown-tables",
"sphinx_rtd_theme",
"sphinx_rtd_theme >= 1.2.2",
"sphinxcontrib-apidoc",
"sphinxcontrib-bibtex",
]
Expand Down

0 comments on commit e2a64a5

Please sign in to comment.