Releases: PennLINC/xcp_d
0.3.2
This release adopts a workbench show-scene-based brainsprite for the executive summary. It also removes the brainsprite figure from the nipreps report.
What's Changed
🎉 Exciting New Features
Other Changes
- Remove example data and fix workflow graphs by @tsalo in #738
- Replace CiftiDespike with connected nodes by @tsalo in #737
Full Changelog: 0.3.1...0.3.2
0.3.1
What's Changed
🛠 Breaking Changes
🎉 Exciting New Features
- Add
--dummy-scans
parameter and deprecate--dummytime
by @tsalo in #616 - Add
--bids-filter-file
parameter by @tsalo in #686 - Enable non-aggressive denoising with signal regressors by @tsalo in #697
- Improve identification of FreeSurfer derivatives by @tsalo in #719
- Collect preprocessed surfaces in new function by @tsalo in #731
🐛 Bug Fixes
- Remove dummy volumes from custom confounds files by @tsalo in #660
- Remove dummy volumes from beginning of each run in concatenation workflow by @tsalo in #661
- Retain noise components instead of dropping them in load_aroma by @tsalo in #670
- Use input_type to determine order of preferred spaces by @tsalo in #688
- Infer volumetric space from transform in executive summary with cifti data by @tsalo in #689
- Change input type from HPC to HCP by @kahinimehta in #691
- Replace failing non-aggressive AROMA denoising with working aggressive denoising by @tsalo in #693
- Select best volumetric space for transforms even when using
--cifti
flag by @tsalo in #695 - Downcast >32-bit files to 32-bit by @tsalo in #666
- Use appropriate intent codes for cifti outputs by @tsalo in #690
- Only concatenate processed runs by @tsalo in #713
- Do not use downcasted files as name sources by @tsalo in #712
- Warp segmentation file to appropriate space for carpet plots by @tsalo in #727
- Use brain mask in NIFTI connectivity workflow by @tsalo in #733
Other Changes
- Consolidate confounds at beginning of denoising workflows by @tsalo in #664
- Remove unused outputnodes from nifti and cifti workflows by @tsalo in #667
- Move QC/censoring plots into new workflow by @tsalo in #668
- Testing affines don't change across XCP runs by @kahinimehta in #649
- Load confounds via Nilearn functionality by @kahinimehta in #675
- Update docs by @kahinimehta in #682
- Add masks to package data by @kahinimehta in #715
- Use ds001491 fMRIPrep derivatives for tests by @tsalo in #698
- Add tests for confound loading function by @tsalo in #730
- Refactor executive summary workflow by @tsalo in #721
- Track start of workflow with sentry by @tsalo in #732
Full Changelog: 0.3.0...0.3.1
0.3.0
We are happy to announce a new minor release, with several backwards-incompatible changes.
Two big breaking changes are (1) there is a new --dcan-qc
flag that determines if the executive summary and DCAN-format QC files will be generated, and (2) custom confounds should now have headers, should be tab-delimited, and should have the same names as the fMRIPrep confounds, for easier indexing.
What's Changed
🛠 Breaking Changes
- Output ReHo as a CIFTI by @tsalo in #601
- Add
--dcan-qc
flag by @tsalo in #650 - Support custom confounds with headers by @tsalo in #642
🎉 Exciting New Features
- Use BIDSLayout in concatenation code by @tsalo in #600
- [ENH] Support Nibabies ingression into XCP by @kahinimehta in #602
- Add static ALFF and ReHo plots to report by @kahinimehta in #604
- Write confounds out to derivatives by @kahinimehta in #634
- Add column names to confounds df by @kahinimehta in #641
🐛 Bug Fixes
- Select BOLD files in a single space by @tsalo in #603
- Censor data in executive summary plots correctly by @kahinimehta in #614
- Only generate ALFF derivatives if bandpass filtering is enabled by @tsalo in #628
- Do not merge in concatenated files when re-running concatenation workflow by @tsalo in #633
- Map abbreviated entities to full names for templateflow get call by @tsalo in #654
- Ensure
dummyscans
is an integer in PlotSVGData by @tsalo in #655
Other Changes
- Use Nilearn for brainsprite generation by @tsalo in #607
- Cache the downloaded test data by @tsalo in #629
- Use BIDSLayout instead of globbing functions to collect necessary files by @tsalo in #621
- Start to standardize interface parameter calls by @tsalo in #638
- Simplify transform-getting functions by @tsalo in #623
- Lint with black without linting workflow connections by @tsalo in #640
Full Changelog: 0.2.0...0.3.0
0.2.2
This is a patch release for the 0.2 series. The main bug being fixed is that using --dummytime
was causing crashes in the executive summary workflow.
What's Changed
🎉 Exciting New Features
- Write confounds out to derivatives by @kahinimehta in #634
- Add column names to confounds df by @kahinimehta in #641
🐛 Bug Fixes
- Do not merge in concatenated files when re-running concatenation workflow by @tsalo in #633
- Map abbreviated entities to full names for templateflow get call by @tsalo in #654
- Ensure
dummyscans
is an integer in PlotSVGData by @tsalo in #655
Other Changes
- Cache the downloaded test data by @tsalo in #629
- Use BIDSLayout instead of globbing functions to collect necessary files by @tsalo in #621
- Start to standardize interface parameter calls by @tsalo in #638
- Simplify transform-getting functions by @tsalo in #623
- Lint with black without linting workflow connections by @tsalo in #640
Full Changelog: 0.2.1...0.2.2
0.2.1
This is a patch release for 0.2.0.
There is a known bug with the concatenation workflow, so we advise users not to use the -m
/--combineruns
option with this release.
What's Changed
🛠 Breaking Changes
🎉 Exciting New Features
- Use BIDSLayout in concatenation code by @tsalo in #600
- [ENH] Support Nibabies ingression into XCP by @kahinimehta in #602
- Add static ALFF and ReHo plots to report by @kahinimehta in #604
🐛 Bug Fixes
- Select BOLD files in a single space by @tsalo in #603
- Censor data in executive summary plots correctly by @kahinimehta in #614
- Only generate ALFF derivatives if bandpass filtering is enabled by @tsalo in #628
Other Changes
Full Changelog: 0.2.0...0.2.1
0.2.0
This is a big release. There are a lot of backwards-incompatible changes, as well as a number of bug-fixes and enhancements.
There is a full list of the changes made between 0.1.3 and 0.2.0 below. However, here are some highlights:
- We have renamed and reorganized a number of the outputs created by
xcp_d
to better follow BIDS convention. There is a lot inxcp_d
that falls outside the current BIDS specification, so we took inspiration from a number of BIDS Extension Proposals (BEPs) that folks have written over the years. - There is a new
--warp-surfaces-native2std
flag, which produces a number of subject-specific surfaces in fsLR space. This was previously run by default in version 0.1.3. The workflow that this flag triggers is also much improved, thanks to @madisoth. - We have fixed a major bug, in which the parameter set users selected was ignored, and "36P" was used no matter what.
- The HTML reports have been improved. The interactive segmentation image from the executive summary has been added to the main report, along with the BOLD-T1w coregistration figure. We have also added a new plot to show the impact of filtering motion parameters on censoring.
What's Changed
🛠 Breaking Changes
- Ensure TSV files are tab-delimited by @tsalo in #541
- Rename derivatives to be more BIDS-compliant by @tsalo in #553
- Replace
--func-only
with--warp-surfaces-native2std
by @tsalo in #562 - Add headers to motion.tsv and outliers.tsv files by @tsalo in #587
🎉 Exciting New Features
- Create dataset description file by @tsalo in #561
- Distinguish preprocessed dataset formats by @tsalo in #567
- Output temporal mask by @tsalo in #586
- Add censoring plot to summary reports by @tsalo in #579
- Add existing SVG figures and brainplot HTML figure to HTML report by @tsalo in #590
- Output all filtered motion parameters by @tsalo in #592
- Deprecate
--bandpass_filter
in favor of--disable-bandpass-filter
by @tsalo in #588
👎 Deprecations
🐛 Bug Fixes
- Fix fsLR32k reg and ApplyWarpfield issues by @madisoth in #442
- Replace MIT license with BSD-3 by @tsalo in #457
- Update utils.py to fix MNILin6 imports by @smeisler in #458
- Potential fix for "no tasks found" problem by @kahinimehta in #464
- Fix "manadatory" typo in interfaces by @tsalo in #540
- Change "hpc" in CLI to "hcp" by @tsalo in #560
- Pin pybids to version 0.15.1 by @madisoth in #537
- Fix resampling of fsnative structural surfaces to fsLR by @madisoth in #496
- Fix documentation and validation of motion filtering parameters by @tsalo in #575
- Show framewise displacement before filtering in QCPlot by @tsalo in #581
- Fix concatenation code w.r.t. recent output changes by @tsalo in #593
- Use user-requested parameters in regression by @tsalo in #596
- Update load_aroma so the correct file is being read in by @kahinimehta in #599
Other Changes
- Rf/smoothing by @kahinimehta in #415
- Rf/misc. by @kahinimehta in #421
- Rf/fconts by @kahinimehta in #424
- [RF] Miscellaneous by @kahinimehta in #439
- [RF] Reho Computation by @kahinimehta in #437
- [DOC] Update docs by @kahinimehta in #433
- [RF] ALFF Computation by @kahinimehta in #435
- [RF] fixes by @kahinimehta in #443
- [RF] Executive summary by @kahinimehta in #445
- [RF] Compute qcplot.py by @kahinimehta in #447
- [RF] Make TR tests shorter by @kahinimehta in #462
- [DOC] Add badges to README by @tsalo in #466
- [DOC] Add issue templates and route to NeuroStars by @tsalo in #465
- [REF] Use nilearn for loading and masking nifti data by @tsalo in #459
- [TST] Add linting GH workflow by @tsalo in #467
- [DOC] Address formatting issues in documentation by @tsalo in #469
- [REF] Replace all relative imports with absolute ones by @tsalo in #472
- [FIX] Address failing RTD build by @tsalo in #477
- [REF] Use f-strings consistently throughout codebase by @tsalo in #473
- [DOC] Use welcome bot to comment on new contributors' PRs by @tsalo in #475
- [RF] Linting by @kahinimehta in #479
- [DOC] Add or format docstrings throughout package by @tsalo in #474
- [REF] Lint interfaces by @tsalo in #480
- [REF] Lint workflows by @tsalo in #481
- [REF] Lint utils by @tsalo in #485
- [REF] Rename functions to snake_case by @tsalo in #487
- [REF] Rename classes to CamelCase by @tsalo in #486
- [RF] Get rid of unused variables by @kahinimehta in #493
- [DOC] Add docstrings to CLI module by @tsalo in #490
- [REF] Address remaining linter warnings by @tsalo in #494
- [REF] Move functions and classes into appropriate modules by @tsalo in #489
- [DOC] Add API to documentation by @tsalo in #498
- [DOC] Clean up workflow docstrings by @tsalo in #503
- [REF] Remove duplicate functions by @tsalo in #502
- [REF] Empty init.py files by @tsalo in #499
- [REF] Centralize DerivativesDataSink definition by @tsalo in #510
- [MAINT] Add CITATION.cff file by @tsalo in #482
- [TST] Store CircleCI artifacts by @tsalo in #521
- [REF] Start replacing common parameters with fill_doc by @tsalo in #509
- [REF] Remove the notebooks module by @tsalo in #531
- [DOC] Add TemplateFlow citation to boilerplate by @tsalo in #520
- [DOC] Use sphinxcontrib-bibtex to embed BibTeX references in documentation by @tsalo in #516
- [TST] Make local tests stricter by @tsalo in #545
- [TST] Check for existence of outputs in tests by @tsalo in #542
- [REF] Remove FSL from dependencies by @tsalo in #528
- [TST] Restructure local patch handling in testing setup by @tsalo in #550
- [REF] Simplify BOLD/CIFTI post-processing workflow call by @tsalo in #534
- [REF] Remove unused init_post_process_wf by @tsalo in #535
- [REF] Use MapNodes to simplify functional connectivity workflows by @tsalo in #546
- Add release notes template by @tsalo in #552
- Add warning to documentation about M1 chip by @tsalo in #572
- Improve confound plot readability and fix moving registration plot by @kahinimehta in #530
- Fix the local pytest script and documentation by @tsalo in #564
- [TEST] Add tests for outstanding modules by @kahinimehta in #529
- [FIX] Fcon workflow tests are incompatible with changes from main by @kahinimehta in #584
New Contributors
Full Changelog: 0.1.3...0.2.0
v0.1.3
What's Changed
- Add analysis-level option
- Quick fix for bugs in bold and cifti workflow
Full Changelog: 0.1.2...0.1.3
v0.1.2
What's Changed
- Fix malloc failure by @kahinimehta in #395
- [RF] Filtering by @kahinimehta in #390
- Rf/rename by @kahinimehta in #398
- Rf/rename by @kahinimehta in #400
- Rf/rename by @kahinimehta in #401
- [RF] Smoothing by @kahinimehta in #404
Full Changelog: 0.1.1...0.1.2
v0.1.1
What's Changed
- Replace NiPype's filemanip.py by @madisoth in #383
- [RF] Fix typos by @kahinimehta in #386
- ENH: Update filemanip.py "special_extensions" with the rest of the CIFTI-2 multi-part extensions by @madisoth in #388
- [RF] Interpolation by @kahinimehta in #387
- FIX: reho / write_gii by @madisoth in #385
Full Changelog: 0.1.0...0.1.1
0.1.0
Additional features for surface processing and expanded CI testing