Skip to content

Releases: HALFpipe/HALFpipe

1.2.2

22 Mar 14:44
efe836e
Compare
Choose a tag to compare

Bug fixes

  • Fix issue with BOLD to T1w registration (#230, #238, #239)
  • Also detect exclude.json files that are placed in the reports/ folder (#228)
  • Improve error message when the FreeSurfer license file is missing (#231)
  • Fix a rare calculation error for fd_mean and related image quality metrics (#237, #241)
  • Fix various warning messages (#247)
  • Fix performance issue when collecting inputs for group statistics ()
  • Fix a user interface issue where the option Start over after models was missing (#259, #260)
  • Fix an issue where sub- prefixes were not recognized correctly when filtering inputs for group statistics (#264)
  • Fix an issue when writing mixed data type columns to the text files in the reports/ folder (#274)
  • Fix warnings for missing quality check information (#276)
  • Fix errors when aggregating subjects with different numbers of scans during group statistics (#280)
  • Fix error when fMRIPrep skips a BOLD file (#285)

Maintenance

  • Bump indexed_gzip (#240)
  • Bump nipype after bug fix (#255)
  • Bump fmriprep after bug fix (#262)
  • Upgrade to Python 3.10, clean up code and add more unit tests (#269)
  • Make continuous integration tests run faster (#282, #284)
  • Add type checking and linting to continuous integration (#285)

1.2.1

05 Oct 07:20
21557b8
Compare
Choose a tag to compare

Bug fixes

  • Fix issues that occurred after re-scaling fd_perc to be percent (#217)
  • Catch error when NaN values occur within the linear algebra code (#215)
  • Reduce memory usage when running large workflows by only loading the
    chunks that will be necessary for the current process (#216)
  • Improve memory usage prediction for cluster submission scripts (#219)
  • Update metadata module with better log messages (#220)

1.2.0

19 Sep 07:45
9e9b734
Compare
Choose a tag to compare

New features and enhancements

  • Improve the assignment of field maps to functional scans, print
    warnings when detecting an incomplete field map or when a complete
    field map is not recognized by fMRIPrep (#115 and #192)
  • Remove conditions that have no events from the task-based model. This
    is important for designs where the conditions depend on subject
    performance (#90)
  • Output additional images during group mode. Voxel-wise descriptive
    statistics (#142), typical subject-level variance (#148)
  • Divide outputs into subfolders to make navigating the files easier
  • Output metadata to sidecar files, including resolution, field-of-view
    and field map type (#154 and #181)
  • Add an option to skip dummy/non-steady-state scans and modify event
    onsets accordingly (#167, #176, #182 and #187)
  • Improve performance during workflow creation (#192)

Bug fixes

  • Update fMRIPrep to fix normalization bug (#51)
  • Improve memory usage prediction. Fixes BrokenProcessPool and
    Killed: 137 errors (#125, #156 and #157)
  • Refactor Dockerfile to correctly re-build matplotlib caches
    (#107)
  • Fix assignment of event files to functional scans. Make sure that the
    assignment is consistent between what is shown in the user interface
    and during workflow creation. Add unit tests (#139)
  • Fix crashes for datasets deviating from the BIDS specification
    and remove misleading warnings for incompatible and hidden files
  • Fix AssertionError crash when no group model is specified
  • Rephrase user interface for loading .mat event files. Do not say
    that the time unit (seconds or scans) is missing, which was
    confusing.
  • Fix various crashes when running on a cluster
  • Fix user interface crash when no categorical variables are defined in
    a spreadsheet
  • Fix loading subject-level results during group model. Get rid of
    LoadResult nodes, instead use a subclass of Node (#137)
  • Use slower but more robust least-squares solve for group statistics
    (#141)
  • Fix performance issue during t2z_convert procedure during group
    statistics (#143, #144 and #145)
  • Remove output from heterogeneity group statistics that was causing
    performance issues (#146)
  • Fix confusing EOFError message on exit by gracefully stopping
    child processes before exit (#130 and #160)
  • Fix running FreeSurfer with run_reconall option (#87)
  • Add error message when running on an unsupported file system such as
    FAT (#102)
  • Fix confusing error message when no features are specified (#147)
  • Re-scale fd_perc output to percent (#186)
  • Reduce user interface memory usage (#191)
  • Fix automated testing hanging on the logging worker (#192)

Maintenance

  • Update Python to version 3.8
  • Update templateflow, pybids, nibabel
  • Pin dipy version due to incompatibility with nipype
  • Pin indexed_gzip version due to incompatibility of newer version
    with some files (#85)
  • Add new Singularity container build workflow (#97 and #138)
  • Improve documentation to suggest running Singularity with
    --containall instead of --no-home --cleanenv
  • Refactor code to use defaultdict to increase readability
  • Add more type hints
  • Rename main branch from master to main
  • Add pre-commit and pip-tools to better manage dependencies
  • Install as many dependencies as possible via conda and the rest
    via pip (#164)
  • Refactor workflow code to allow handling of surface-based functional
    images (#161)
  • In-progress refactor model package into schema package. Use
    dataclasses for better integration with type checkers (#173, #174
    and #178)

1.2.0rc2

05 Sep 16:44
072b12f
Compare
Choose a tag to compare
1.2.0rc2 Pre-release
Pre-release
1.2.0rc2

1.2.0rc1

06 Aug 12:31
Compare
Choose a tag to compare
1.2.0rc1 Pre-release
Pre-release
1.2.0rc1

1.1.1

13 May 12:32
a342fb0
Compare
Choose a tag to compare

Enhancements

  • Add user interface checks for slice timing so that errors in configuration can be detected before running
  • Reduce memory usage

Bug fixes

  • Fix using curly brackets in a tag regex, for example /data/{subject:[0-9]{5}}.nii.gz
  • Fix disabling the high pass filter for task-based feature extraction
  • Fix performance issue with importing large BIDS datasets that contain field maps
  • Fix matplotlib error (#107)
  • Fix performance issue for large datasets (#105)

1.1.0

19 Apr 10:05
b8015dc
Compare
Choose a tag to compare

With many thanks to @jstaph for contributions

New features and enhancements

  • Create high-performance computing cluster submission scripts for Torque/PBS
    and SGE cluster as well (#71)
  • Calculate additional statistics such as heterogeneity
    (https://doi.org/fzx69f) and a test that data is
    missing-completely-at-random via logistic regression (#67)
  • Always enable ICA-AROMA even when its outputs are not required for feature
    extraction so that its report image is always available for quality assessment
    (#75)
  • Support loading presets or plugins that may make it easier to do harmonized
    analyses across many sites (#8)
  • Support adding derivatives of the HRF to task-based GLM design matrices
  • Support detecting the amount of available memory when running as a cluster
    job, or when running as a container with a memory limit such as when using
    Docker on Mac

Maintenance

  • Add type hints to code. This allows a type checker like pyright to suggest
    possible error sources ahead of time, making programming more efficient
  • Add openpyxl and xlsxwriter dependencies to support reading/writing Excel
    XLSX files
  • Update numpy, scipy and nilearn versions
  • Add additional automated tests

Bug fixes

  • Fix importing slice timing information from a file after going back to the
    prompt via undo (#55)
  • Fix a warning when loading task event timings from a MAT-file.
    NiftiheaderLoader tried to load metadata for it like it would for a NIfTI file
    (#56)
  • Fix numpy array broadcasting error when loading data from 3D NIfTI files
    that have been somehow marked as being four-dimensional
  • Fix misunderstanding of the output value resels of FSL's smoothest
    command. The value refers to the size of a resel, not the number of them in
    the image. The helper function _critical_z now taked this into account now.
    (nipy/nipype#3316)
  • Fix naming of output files in derivatives/halfpipe and grouplevel folder
    so that capitalization is consistent with original IDs and names (#57)
  • Fix the summary display after BIDS import to show the number of "subjects"
    and not the number of "subs"
  • Fix getting the required metadata fields for an image type by implementing a
    helper function
  • Fix outputting source files for the quality check web app (#62)
  • Fix assigning field maps to specific functional images, which is done by a
    mapping between field map taks and functional image tags. The mapping is
    automatically inferred for BIDS datasets and manually specified otherwise
    (#66)
  • Force re-calculation of nipype workflows after HALFpipe update so that
    changes from the new version are applied in existing working directories as
    well
  • Do not fail task-based feature extraction if no events are available for a
    particular condition for a particular subject (#58)
  • Force using a recent version of the indexed_gzip dependency to avoid error
    (#85)
  • Improve loading delimited data in loadspreadsheet function
  • Fix slice timing calculation in user interface

1.1.0rc1

13 Apr 15:34
b791cda
Compare
Choose a tag to compare
1.1.0rc1 Pre-release
Pre-release
  • Performance improvements for large datasets

  • Improve running on SGE and Torque/PBS clusters

  • Bug fixes

  • Does not fail even when events are missing for a condition for a participant

  • Check missing-completely-at-random assumption via logistic regression at group level

1.0.1

27 Jan 14:52
b8a9c67
Compare
Choose a tag to compare
Release 1.0.1

1.0.0

19 Jan 14:30
3575fbf
Compare
Choose a tag to compare
Merge pull request #42 from HippocampusGirl/rel/1.0.0

Make release 1.0