Skip to content

Releases: bbfrederick/rapidtide

Version 3.1.2 - 12/4/25 --delaymapping bug fix

04 Dec 22:17

Choose a tag to compare

  • (rapidtide) Partial fix for #229. You should at least be able to specify filtering properly when the --delaymapping macro is used. Another shoutout to https://github.com/beccaclements99 for finding this!
  • (happy) Refactored cardiacfromimage (well, Claude did, but I helped).
  • (happy) Made several tweaks and improvements the pytorch implementation of CNNModel to try to improve performance around bad or missing data.
  • (happy) Improved the training workflow for the pytorch implementation of CNNModel.
  • (applydlfilter) Improved the interface to make this more useful as an evaluation tool.
  • (package) Fixed a lot of array allocations and copies to hopefully get a little speed boost.
  • (package) Made several more type hint refinements.
  • (package) Save pyfftw wisdom for faster startup after first run.
  • (package) Optimize the length of a lot of FFTs for faster processing.
  • (package) Accepted some dependabot PRs.

Version 3.1.1 - 11/17/25 CVR output bug fix

17 Nov 16:17

Choose a tag to compare

  • (rapidtide, retroregress) Correctly output relevant maps when doing CVR processing. Closes #226. Thank you to https://github.com/beccaclements99 for finding this!
  • (rapiditde) Fixed a crashing bug when using PCA to estimate the initial sLFO regressor.
  • (happy) Made tensorflow an optional install because of more tf weirdness. If tensorflow is not present, default to using the pytorch deep learning filter. If tensorflow is present, enable the --usetensorflow option.
  • (package) Added support for python 3.14 (if you use 3.14, you cannot currently install tensorflow, so happy will use the pytorch deep learning filter).
  • (package) Lots of type hint refinements.
  • (package) Fixed lots of typos and minor bugs.

Version 3.1 - 11/8/25 Type hints, docstrings, and happy enhancements

08 Nov 14:23

Choose a tag to compare

  • (happy) Moved to a pytorch implementation of the deep learning filter, as tensorflow seems to be barely maintained these days. The pytorch filter is now the default, and performance seems indistinguishable. I'll keep the tensorflow version around until it becomes (more) cumbersome to do so. Use --usetensorflow to get the old filter.
  • (happy) Added "pulsatility" map output - the percentage pulsatile cardiac variation around the mean in each voxel.
  • (happy) Made pass labelling consistent for output files.
  • (happy) Switched nifti file output to use maplist (jsons have description fields now).
  • (rapidtide) Output some timecourse statistics before and after sLFO regression.
  • (atlasaverage) Fixed label output when extracting data from 3D files.
  • (package) Added type hints to all core routines (thanks Claude!). Everything works, but I'll probably be finetuning the type hints for a while to make them more specific (and I'll be resolving sloppy type handling that I'm now aware of due to mypy).
  • (package) Added docstrings to all core routines (thanks script I wrote that calls qwen3-coder locally so I don't run out of Claude tokens!).
  • (package) Added support for python 3.13 (now that tensorflow is FINALLY available for 3.13).
  • (package) Dropped support for python 3.9 (it doesn't support modern type hint formats).
  • (package) More dependabot PRs.

Version 3.0.11 - 8/27/25 Urgent container fix

27 Aug 15:18

Choose a tag to compare

  • (Docker) Fixed a critical bug in building the container.
  • (happy) Added the ability to specify an overall processing mask.
  • (docs) Revised the singularity/apptainer installation section.
  • (reference) Added MNI152NLin2009cAsym versions of the JHU atlases.
  • (package) Miscellaneous code cleanups.
  • (package) More dependabot PRs.

Version 3.0.10 - 8/18/25 checkpoint release

18 Aug 21:45

Choose a tag to compare

  • (tidepool) Do better checking on which required files exist so it's more clear why a dataset won't load.
  • (tidepool) Add support for PySide6 (in addition to PyQt5 and PyQt6).
  • (docs) Clarified that the sLFO filtered output of rapidtide has NO other filtering applied to is - the temporal, spatial, and confound filtering is all discarded prior to the final sLFO filtering step.
  • (package) Played with some coding models (qwen3-coder, Claude) to write some docstrings and check a few routines for bugs. It generally worked well, but you definitely have to check their work.
  • (package) Adjusted coverage calculation.
  • (package) Added a test for data simulation.
  • (package) Accepted several dependabot PRs.

Version 3.0.9 - 7/3/25 Add classic RIPTiDe, internal code reorganization

03 Jul 14:23

Choose a tag to compare

  • (rapidtide) Added an alternative method for coarse delay estimation (set --similaritymetric riptide to select). This uses a fit to a set of delayed regressors (actually, this is the original RIPTiDe method from ~2010).
  • (rapidtide) Separated coarse delay estimation and similarity function fitting into two separate workflows (they were together in v3.0.8).
  • (rapidtide) Fixed a stupid bug in the placement of the delay refinement code block for each pass.
  • (rapidtide) Laid most of the groundwork for dynamically switching delay estimation methods and parameters between passes.
  • (package) Accepted several dependabot PRs.

Version 3.0.8 - 6/26/25 A bugfix, and massive, hopefully invisible, internal changes

26 Jun 19:23

Choose a tag to compare

  • (rapidtide) Fix #213 (thanks to https://github.com/tomosumi for reporting the bug).
  • (rapidtide) Split coarse delay estimation and fitting out into a separate workflow.
  • (rapidtide) Split delay refinement out into a separate workflow.
  • (rapidtide) Split regressor refinement out into a separate workflow.
  • (rapidtide) All this is in preparation for a new, modular workflow with more flexible control of the fitting process. It's not done yet, butthis is getting all internal code blocks ready for it. I want to pause here to make sure I haven't broken anything (all the automated tests pass, but I want to be careful).
  • (docs) Some improvement to the tidepool section.
  • (package) Made a more streamlined and rational interface for allocating shared memory.
  • (package) Resolved incompatibility of statsmodels and scipy>1.15.3.
  • (package) Accepted several dependabot PRs.

Version 3.0.7.1 - 6/16/25 Quick patch to v3.0.7

16 Jun 19:36

Choose a tag to compare

  • (rapidtide) Disabled sLFO filtering by default. Use sLFOfiltmask to turn it on.
  • (retroregress) Synced with sLFO filtering changes to rapidtide.

Version 3.0.7 - 6/16/25 happy speedup and other QOL improvements

16 Jun 17:21

Choose a tag to compare

  • (rapidtide) Save the full autocorrelation function of the probe regressor at each pass.
  • (rapidtide) Now save a version of the mean fMRI image prior to filtering
  • (rapidtide) Added the abilty to disable masking of sLFO filter. Use --nosLFOfiltmask to disable.
  • (happy) Implemented multiprocessing for detrending, phase projection, and phase projection smoothing.
  • (happy) Precache convolution gridding kernel outputs to improve repeatability.
  • (happy) Early implementation of Wright's method for finding vessels.
  • (showarbcorr) Fixed some internal issues.
  • (simdata) Many changes to finetune the simulation and make the output more realistic. Still in progress.
  • (Docker) Turned on provenance and sbom in Docker builds.
  • (package) Accepted several dependabot PRs.

Version 3.0.6 - 5/21/25 Updated internal multiprocessing code

21 May 13:48

Choose a tag to compare

  • (rapidtide) Made a generic, reusable multiprocessing module and moved many functions over to it.
  • (ccorrica) Samplerate is now set properly if input is a BIDS tsv file.
  • (package) Added several new tests.