Changelog

All notable changes to this project will be documented in this file. The format is based on Keep a Changelog

4.0.0 - 2023-03-18

Added

  • Support for BIDS 1.8.0

  • Support for handling of non-alphanumeric characters in sub/ses prefixes

  • A new (optional) pet2bids plugin

  • A skullstrip tool (a bids-wrapper around FreeSurfer/synthstrip)

  • A slicereport QC tool (a bids-wrapper around FSL/slicesdir)

  • A unit/integration test & CI framework

  • New Dockerfile and Apptainer/Singularity definition files to run BIDScoin in a container

  • A BIDSCOIN_DEBUG environment variable to run bidscoin in a more verbose debug mode

  • VERBOSE and SUCCESS logging levels

  • Checks using the bids-validator python module

  • Options to perform study/template bidsmap tests with bidscoin -b / -t

  • Option to list and install template bidsmaps

  • Many bugfixes, user interface improvements and tweaks

Changed

  • The default behaviour is now to not unzip data in the sourcefolders anymore. Instead, users can use the --unzip option in the bidsmapper

  • The spec2nii plugin is no longer added by default but is optional

  • The dcm2niix2bids plugin no longer handles PET data (this is now handled by the pet2bids plugin)

  • Removed BIDScoin’s redundant/confusing datatypes option from the bidsmap

  • Removed the obscure participants option from bidscoiner

  • Major code refactoring

3.7.4 - 2022-10-21

Added

  • Added support for the ABCD GE pepolar pulse sequence

  • Use an orange bidsname font in the bidseditor for .bidsignore datatypes

  • A (right-click) context menu in the bidseditor to import meta-data from disk into the meta-table

Changed

  • Remove the DCCN specific dcm2niix module usage in the bidsmap template

  • Add -l n to the dcm2niix arguments to revert old UIN16 -> INT16 behaviour (otherwise fmriprep outputs are twice as large)

  • No longer enforce BIDS compliance on .bidsignore datatypes

Fixed

  • Sorting flat DICOM data (in a temporary working directory)

  • The dcm2niix module (if not removed) raised an error that prevented handling dcm2niix suffixes

3.7.3 - 2022-07-13

Added

  • The usage of json sidecar files as a datasource for attribute values

  • A template bidsmap for the ScanSessionTool

Changed

  • Dicomsort now searches recursively over the sessionfolder

  • The dcm2niix2bids plugin now searches recursively for DICOM Series folders

  • Images that have already been defaced are now skipped

  • Prepend the rawfolder name & subprefix for more robust subject- / session-label filepath extraction

Fixed

  • Pydeface not parsing subject / session labels from the filepath

  • The non-HPC use of pydeface no longer requires DRMAA installation

  • Account for * and ? wildcards in the sub/ses prefixes in the bidsmapper

  • Account for dynamic values with non-matching regular expressions (special thanks to Mateusz Pawlik)

  • Various minor bugs

3.7.2 - 2022-03-13

Fixed

  • The installation of the BIDS schema files

3.7.1 - 2022-03-11

Added

  • IntendedFor can now be appended with a “bounding” term to deal with duplicated field maps from interrupted sessions

  • The possibility to process subject folders without prefix

  • Support for BIDS 1.7 (e.g. for the new B0FieldSource and B0FieldIdentifier field-map meta fields)

  • A nibabel2bids plugin (e.g. to convert NIfTI datasets to BIDS)

  • Plugin meta option setting to enrich json sidecar files or add data that is not supported

Changed

  • Removed / changed redundant subject/session prefix input arguments (now stored in the bidsmap)

  • The IntendedFor search feature now works independent of plugins

Fixed

  • The bidscoin installation test in the bidseditor

  • The IntendedFor list when combining echos

3.7.0 - 2021-12-20

Added

  • A BIDScoin installation test (bidscoin -t)

  • Option to install extra packages, such as phys2bids

  • A bidseditor button to save the Options to a (default) template bidsmap

  • Sub-/ses-prefix settings and BIDS / extra_data / excluded datatypes in bidsmap[‘Options’][‘bidscoin’]

  • Regular expressions for extracting property and attribute substrings from dynamic values via a <<key:regular_expression>> syntax

  • A plugin for spec2nii to convert MR spectroscopy data

  • An experimental plugin for phys2bids to convert physiological data

  • An experimental plugin for pet2bids to convert MR spectroscopy data

  • Added a multi-echo deface function medeface that uses the same defacemask for all echo-images

  • The possibility to extract DICOM values using pydicom-style tag numbers (in addition to the attribute name)

  • The possibility for plugins to set default bidsmappings and Options when installed

  • A Singularity container configuration file

  • Improved (more fine-grained) plugin installation procedures

  • The option to remove decimals from age and discard acquisition dates from the metadata

Changed

  • Plugins should now have a is_sourcefile and a get_attribute function and have a simpler/changed API (-> DataSource class)

  • The intricate filtering of the nrfiles property by the other filesystem properties has been removed and is now a pure/unfiltered file-system property

  • The default <<SourceFilePath>> keyword has been replaced by the more flexible <<filepath:/sub-(.*?)/>> property to extract the subject / session label

  • The dcm2bidsmap and the dcm2niix2bids plugins have been merged

  • The dicomsort utility has new naming-scheme functionality

  • Removed the obsolete bidsmap_template.yaml file

Fixed

  • Avoid storing Python literal structures as strings

3.6.3 - 2021-06-14

Fixed

Remove regular expression metacharacters from the source attribute if needed (could cause a regexp compile error) Fixed for list of dynamic <> fields

3.6.2 - 2021-05-31

Fixed

Removed the redundant importlib dependency from the requirements (could cause an installation error)

3.6.1 - 2021-05-20

Fixed

The bidscoiner no longer sometimes crashes when dcm2niix produces custom suffixes (e.g. for multi-echo data)

3.6.0 - 2021-05-13

Added

  • Support for BIDS v1.6.0 (-> PET)

  • Separate tabs for DICOM and PAR to edit all the mappings of mixed datasets in a single bidseditor session

  • Run-item matching on filesystem properties, i.e. on the pathname, filename and filesize and nr of files in the folder. This can be used in conjunction with the (DICOM/PAR) attributes

  • A meta-data dictionary that can be edited with the bidseditor and that will be added to the json sidecar files by the bidscoiner

  • More user feedback in the GUI for new BIDS-compliancy checks on missing or invalid bids data

  • A right-click menu option to remove a run-item from the bidsmap (advanced usage)

  • The option to load a new bidsmap in the bidseditor

  • Enable the user to edit json, yaml, tsv and other non-DICOM / non-PAR files with double-clicks in the data browser

  • A central ‘bidscoin’ package function with various utilities, such as listing and installing BIDScoin plugins or executables

  • Plugins can have their own ‘test’ routine that can be called from the bidseditor

Changed

  • Using regular expressions instead of fnmatch to match (template bidsmap) attribute values. This makes the templates more powerful and flexible

  • Moved the bidsmapping and bidscoining functionality to stand-alone plugins (changed API), making plugins a first-class BIDScoin citizen

  • The plugins have moved to the bidsmap[‘Options’], where they have their own key-value options dictionary (changed API)

  • Move IntendedFor field over to the new meta-data dictionary

  • Renamed the leave_out datatype to exclude

  • Re-introduced skipping hidden folders (hidden files are also skipped)

  • Moved the ‘pulltutorial’ function over to the new ‘bidscoin’ function

Removed

  • P7 and NIfTI support (it was never implemented anyhow)

  • The option to edit new mappings on-the-fly in the bidsmapper (-i 2)

3.5.3 - 2021-04-13

Fixed

  • Save non-standard field maps in the derivative folder

  • Add ‘AcquisitionTime’ to physio json-files and add the physio-files to the *_scans.tsv file

3.5.2 - 2021-03-21

Fixed:

  • pypi upload

3.5.1 - 2021-03-21

Added

  • BIDScoin version update checks

Fixed

  • Speed optimizations

  • Code clean-up

  • More robust dcm2niix output handling

3.5 - 2021-03-08

A significant rewrite and evolution of BIDScoin!

Added

  • Support for BIDS v1.5

  • Support for Siemens advanced physiological logging data

  • Improved GUI help tooltips and user feedback

  • Improved feedback and control for invalid bidsnames

  • Validation of run-items and bidsmaps against the BIDS schema

Changed

  • Use the DCCN template bidsmap as the default

Fixed

  • Simplified and improved (hopefully) handling of fieldmaps

3.0.8 - 2020-09-28

Fixed

  • Various minor bugs

3.0.6 - 2020-08-05

Fixed

  • Minor but important bugfix in the setup :-)

3.0.5 - 2020-08-05

Added

  • A download tool for tutorial data

  • A tool for regenerating the participants.tsv file

Fixed

  • Various bugs

3.0.4 - 2020-05-14

Added

  • Export function in the bidseditor to allow for adding run items to existing (template) bidsmaps

  • Support for Unix-shell style wildcards for matching run items in the bidsmap

Changed

  • Improved DCCN example template bidsmap

Fixed

  • Various minor bugs

3.0.3 - 2020-04-14

Fixed

  • A small bugfix to properly handle appending dcm2niix suffices to the BIDS acq-label

3.0.2 - 2020-04-06

Fixed

  • Special thanks to Thom Shaw, who was patient enough to keep testing untested bugfixes (#56) and helped making BIDScoin better :-)

3.0.1 - 2020-04-04

Added

  • A ‘provenance store’ in the bidsmapper to fix a bug (#56 ) and allow for moving the bids-folder around

  • Support for zipped/tarred DICOM directories

3.0 - 2020-04-01

A Significant rewrite to make BIDScoin more robust, user-friendly and feature-rich :-)

Added

  • First support for Philips PAR / REC data format

  • A BIDS compliant defacing tool

  • A BIDS compliant multi-echo combination tool

  • Much improved documentation (https://bidscoin.readthedocs.io)

2.3.1 - 2019-09-12

Fixed

  • a small but important bug that caused datasets without field maps to crash (my test datasets all had field maps :-))

2.3 - 2019-08-29

A lot of improvements have landed in 2.3, making it the best release of the 2-series by far!

Added

  • The possibility to edit Participant labels

  • Various tests and checks in Options to ensure creating good working bidsmaps / BIDS output data

  • Upgraded compliance with bids v1.2.1

  • The possibility to leave-out certain data types / runs

Changed

  • A new workflow that is easier and more consistent

  • Greatly improved graphical user interface and error/warning reporting

  • Improved bidsmap_dccn template

Fixed

  • Significant code refactoring to squash a number of important bugs and make the code more robust and maintainable

2.2 - 2019-07-11

Added

  • Options tab to edit and test the bidscoin Options

  • A leave-out option (to ignore runs / prevent them from showing up in the BIDS directory)

  • A graphical interface to the bidsmapper

  • Improved logging

  • Improved the DICOM attribute wildcard feature

Changed

  • New layout of the main and edit windows

Fixed

  • Various bugfixes

2.1 - 2019-06-23

Added

  • Editing of bidsmap Options

Fixed

  • IntendedFor in field map json sidecar files

  • Code redundancy

2.0 - 2019-06-18

A major release and rewrite with important user-facing improvements

Added

  • A shiny GUI :-)

  • A new and much easier workflow

Fixed

  • Various bugfixes

1.5 - 2019-03-06

Added

  • Support for PET scans

  • Support for DICOMDIR data

  • Saving of template sidecar files in the bids output directory

Changed

  • increased flexibility for renaming / reorganising the raw (input) data structure

  • Added provenance data to the bidsmap/yaml files

Fixed

  • various bugfixes

1.4 - 2018-10-22

Added

  • Cross-platform support

  • Installation as a Python module

  • Improved version control

  • Improved BIDS compliance

1.3 - 2018-09-28

Changed

  • Refactored bidsmap naming

Fixed

  • Various bugs

1.2 - 2018-09-14

Added

  • Improved field map support

Changed

  • Yaml-syntax

1.0 - 2018-07-04

A first stable release of BIDScoin :-)

Added

  • Support the conversion of organised sub/ses DICOM folders to BIDS

To do

  • Add support for non-imaging data