This release contains updates and bug fixes
Updates
- Added test suite. Now run along with the rest of the CI.
- Updated documentation.
- Section on using JSON schema definition file.
- Badges
- Extended JSON schema. The list of properties in `criteria` objects that are suggested to the user has been expanded to include more keys.
- Refactored `IntendedFor` resolution: the `IntendedForResolver` class.
- Removed example data from the `participants.tsv` file produced by `d2b scaffold`
Fixes
- Fix unexpected behavior in the `Description` class. `description.data` now only contains _extra_ fields. The fields that are unpacked into the various attributes are now popped (removed) from (a copy of) the provided dictionary.
Before:
python
d = Description.from_dict(0, {'dataType': 'func', 'modalityLabel': 'bold'})
assert d.data_type == 'func'
assert d.modality_label == 'bold'
assert d.data == {'dataType': 'func', 'modalityLabel': 'bold'}
This release:
python
d = Description.from_dict(0, {'dataType': 'func', 'modalityLabel': 'bold'})
assert d.data_type == 'func'
assert d.modality_label == 'bold'
assert d.data == {} NEW
- Update `d2b.defaults.run_tpl` to be BIDS-compliant. Before, runs were zero-padded: `run-01`; now runs are **_not_** zero-padded: `run-1`.
- Fix bug in `IntendedFor` resolution. If a non-array `IntendedFor` field was specified in a description in the `d2b-config.json`, but there were multiple runs which matched the target acquisition, the resulting `IntendedFor` field would be a string pointing at the first run (as opposed to an array of strings pointing to all the runs).