Releases: CyclotronResearchCentre/bidsme
Releases · CyclotronResearchCentre/bidsme
1.8.1 - 2024-09-19
Changes since 1.8.0
Changed:
bidsmap_template
: Updated to BIDS 1.10.0 and added several new protocols- BIDSschema validation: BIDS-defined fields that are not defined for current data-type now raises an error
- BIDSschema validation: Extra non BIDS fields now show a warning
Fixed:
- mapper: Error when testing an empty
IntendedFor
field - mapper: When retrieving run from template, attributes wasn't adapted to the tested file
- MRI:
perf
data type wasn't in valid data types
1.8.0 2024-09-12
Changes since 1.7.1
Added
- MRS: support for Magnetic Resonance Spectroscopy
Fixed
- bidsmap: Empty modules no longer saved to bidsmap
- bidsmap: In case of BIDS version change, warning shows incorrect version
- hmriNIFTI: Fixed error of corrupted file on Siemens derivated MRI images lacking
CSASeriesHeaderInfo
sections
Changed
- bidsmap/run: If modality or suffix not defined, default model will be
__unknown__
, otherwise<modality>:suffix
- bidsmap/bidsmap: For
__unknown__
and__ignore__
modalities, the model will be fixed to__unknown__
- mapper: If suffix is not defined, an error will be shown, and no further vqalidations will be performed on that file
- BidsTable: Updated
lineterminator
parameter, making it compatible with modern (>1.4) Pandas, and Pythons up to 3.12 - Modules: Base module class selector has been moved into tools, new modalities are no longer decalred in `selector.py
1.7.0 - 2024-06-12
Changes since 1.6.6
Added:
- The sidecar and entities are retrieved from official BIDS schema via
bidsschematools
- During mapping, the same schema is used to validate the entities and sidecars
- unittests for schema retrieval and validation
- plugin.tools.General: Functions for helping prepared data curation, namely LoadCurationList, CleanupPrepared and CheckPrepared
- unittests for data curation
Changed
- mapping,bidsification: the list of entities and sidecar fields are extracted from current BIDS schema
(based onbidsschematools
package) - Python>=3.8, Python<3.11: Restricted python to >=3.8 to satisfy dependence to
bidsschematools
- bidsmap: model parameter is now explicitly saved in bidsmap
- bidsmap: model now takes form of
<data type>:<suffix>
and used to retrieve entities and sidecat fields - mapping: template == true will now also expand json and entities sections
- Modules: the metadata fields in modality class definitions are now replaced by shotrcuts, which
links sidecar JSON field with corresponding dynamic field in metadata - bidsmap: required sidecar json fields that BIDSME can retrieve automatically (in custom variables,
via shortcuts, or directly in metadata) are now explicetly saved in bidsmap - unknown map is now created in same folder as bidsmap
- DWI: warning about missing bval/vec files now triggers only for suffix dwi
1.6.6 - 2024-04-25
Changes since 1.5.0
Added
- Modules/base: The series Id and No can now be changed in plugins via attributes
recording.series_id
andrecording.series_no
- MRI/jsonNIFTY: All bids metafields are by default completed from the provided json
- Modules/base: If BIDS metadata has the same name as a custom metadata, then the content of custom metadata is used
- plugins/tools: A tool that uses dcm2niix to convert and merge dicoms after preparation
- Plugin/Nibabel: Convert3Dto4D will also remove json files, not only nifti
- Plugin/Nibabel: Convert3Dto4D will conserve the written data scale, if all merged files have the same slope and intercept
- Log entry while loading tables
- NIFTI: added support for compressed files
Changed:
- Limited support for Python <3.11
- Modules/MRI/Nifti, Modules/PET/Nifti: the header dump is now created by default
- MRI/DICOM: Using nibabel and mri_parser to parse Siemens-specific headers CSAHeaderInfo and CSASeriesInfo
- Plugin/Nibabel: Convert3Dto4D will produce an error when trying merging of 2-file nifti (hdr/img)
Fixed
- bidsify: Error when trying bidsify non-BIDS modalities (issue #29)
- logging output redirected to stdout, and forcing colors (fixing red background in jupyther-lab)
- Import issue for MRI/DICOM when installed
pydicom
will raise error with not installeddicom-parcer
- Modules/MRI/Nifti, Modules/PET/Nifti: diminfo from header are now retrieved as integer instead of bytes
- Modules/MRI/Nifti, Modules/PET/Nifti: header dump exported as dict, instead of string
- Modules/MRI/bidsmeNifty: Removed error if file was created not from DICOM
- Modules/PET/bidsmeNifty: Removed error if file was created not from DICOM
- Plugins import is explicetely reset in the beginning of preparation/mapping/processing/bidsification
- Plugin/Nibabel: crash in Convert3Dto4D when removing merged files
- jsonNIFTI: fixed retrieval of ParticipantID, based on
dcm2niix
entryPatientID
- BaseModule:
series_no
/series_id
becomes prperties with type check (int/str resp.)
1.6.5
Changes since 1.5.1
Added
- Modules/base: The series Id and No can now be changed in plugins via attributes
recording.series_id
andrecording.series_no
- MRI/jsonNIFTY: All bids metafields are by default completed from the provided json
- Modules/base: If BIDS metadata has the same name as a custom metadata, then the content of custom metadata is used
- plugins/tools: A tool that uses dcm2niix to convert and merge dicoms after preparation
- Plugin/Nibabel: Convert3Dto4D will also remove json files, not only nifti
- Plugin/Nibabel: Convert3Dto4D will conserve the written data scale, if all merged files have the same slope and intercept
- Log entry while loading tables
- NIFTI: added support for compressed files
Changed:
- Limited support for Python <3.11
- Modules/MRI/Nifti, Modules/PET/Nifti: the header dump is now created by default
- MRI/DICOM: Using nibabel and mri_parser to parse Siemens-specific headers CSAHeaderInfo and CSASeriesInfo
- Plugin/Nibabel: Convert3Dto4D will produce an error when trying merging of 2-file nifti (hdr/img)
Fixed
- logging output redirected to stdout, and forcing colors (fixing red background in jupyther-lab)
- Import issue for MRI/DICOM when installed
pydicom
will raise error with not installeddicom-parcer
- Modules/MRI/Nifti, Modules/PET/Nifti: diminfo from header are now retrieved as integer instead of bytes
- Modules/MRI/Nifti, Modules/PET/Nifti: header dump exported as dict, instead of string
- Modules/MRI/bidsmeNifty: Removed error if file was created not from DICOM
- Modules/PET/bidsmeNifty: Removed error if file was created not from DICOM
- Plugins import is explicetely reset in the beginning of preparation/mapping/processing/bidsification
- Plugin/Nibabel: crash in Convert3Dto4D when removing merged files
- jsonNIFTI: fixed retrieval of ParticipantID, based on
dcm2niix
entryPatientID
- BaseModule:
series_no
/series_id
becomes prperties with type check (int/str resp.)
Full Changelog: 1.5.1...1.6.5
1.6.4 - 2024-04-11
Changes since 1.5.0
Added
- Modules/base: The series Id and No can now be changed in plugins via attributes
recording.series_id
andrecording.series_no
- MRI/jsonNIFTY: All bids metafields are by default completed from the provided json
- Modules/base: If BIDS metadata has the same name as a custom metadata, then the content of custom metadata is used
- plugins/tools: A tool that uses dcm2niix to convert and merge dicoms after preparation
- Plugin/Nibabel: Convert3Dto4D will also remove json files, not only nifti
- Plugin/Nibabel: Convert3Dto4D will conserve the written data scale, if all merged files have the same slope and intercept
Changed:
- Limited support for Python <3.11
- Modules/MRI/Nifti, Modules/PET/Nifti: the header dump is now created by default
- MRI/DICOM: Using nibabel and mri_parser to parse Siemens-specific headers CSAHeaderInfo and CSASeriesInfo
- Plugin/Nibabel: Convert3Dto4D will produce an error when trying merging of 2-file nifti (hdr/img)
Fixed
- logging output redirected to stdout, and forcing colors (fixing red background in jupyther-lab)
- Import issue for MRI/DICOM when installed
pydicom
will raise error with not installeddicom-parcer
- Modules/MRI/Nifti, Modules/PET/Nifti: diminfo from header are now retrieved as integer instead of bytes
- Modules/MRI/Nifti, Modules/PET/Nifti: header dump exported as dict, instead of string
- Modules/MRI/bidsmeNifty: Removed error if file was created not from DICOM
- Modules/PET/bidsmeNifty: Removed error if file was created not from DICOM
- Plugins import is explicetely reset in the beginning of preparation/mapping/processing/bidsification
- Plugin/Nibabel: crash in Convert3Dto4D when removing merged files
1.6.3 - 2024-03-06
Added
- Modules/base: The series Id and No can now be changed in plugins via attributes
recording.series_id
andrecording.series_no
- MRI/jsonNIFTY: All bids metafields are by default completed from the provided json
- Modules/base: If BIDS metadata has the same name as a custom metadata, then the content of custom metadata is used
- plugins/tools: A tool that uses dcm2niix to convert and merge dicoms after preparation
- Plugin/Nibabel: Convert3Dto4D will also remove json files, not only nifti
- Plugin/Nibabel: Convert3Dto4D will conserve the written data scale, if all merged files have the same slope and intercept
Changed:
- Modules/MRI/Nifti, Modules/PET/Nifti: the header dump is now created by default
- MRI/DICOM: Using nibabel and mri_parser to parse Siemens-specific headers CSAHeaderInfo and CSASeriesInfo
- Plugin/Nibabel: Convert3Dto4D will produce an error when trying merging of 2-file nifti (hdr/img)
Fixed
- Modules/MRI/Nifti, Modules/PET/Nifti: diminfo from header are now retrieved as integer instead of bytes
- Modules/MRI/Nifti, Modules/PET/Nifti: header dump exported as dict, instead of string
- Modules/MRI/bidsmeNifty: Removed error if file was created not from DICOM
- Modules/PET/bidsmeNifty: Removed error if file was created not from DICOM
- Plugins import is explicetely reset in the beginning of preparation/mapping/processing/bidsification
- Plugin/Nibabel: crash in Convert3Dto4D when removing merged files
1.5.0
1.4.3
Fixed:
- Bug in bidsification when working with bare nifty file
- PET: Updated entities list, remobved some nore more required json metadata
- PET/ECAT: Degraded warning of non-decodable bytes string to debug
- plugins/template: Fixed (finally) the import of classes in template
- MRI/jsonNIFTY, PET/jsonNIFTY: fixed crash when trying to load generic json NIFTY file
- MRI/hmriNIFTY: removed requirement of presence of
MrPhoenixProtocol
plugins
: added__init__.py
to tools so plugin tools will be properly installedbidsMeta
: Fixed not reseted bidsSession list ofsubjects.tsv
columnsplugins.tools
: Fixed faulty import ofbaseModule
Added:
- Integrartion test for GitHub
Changed:
- Table sidecars (including participants.json) now supports extra phields, not related to columns names
- bidsmap: Accepting non-bids modality with a warning
- bidsmap: Runs loaded from template are now unchecked
- README.md: liknks points to GitHub repo
- Splitted bloated README
- Version naming schema for post-release fixes
Removed
baseModule
: removed spanning messages about testing files in scan folders
1.4.2
[1.4.2] - 2023-08-08
Added:
- Integrartion test for GitHub
Fixed:
- PET: Updated entities list, remobved some nore more required json metadata
- PET/ECAT: Degraded warning of non-decodable bytes string to debug
- plugins/template: Fixed (finally) the import of classes in template
- MRI/jsonNIFTY, PET/jsonNIFTY: fixed crash when trying to load generic json NIFTY file
- MRI/hmriNIFTY: removed requirement of presence of
MrPhoenixProtocol
plugins
: added__init__.py
to tools so plugin tools will be properly installedbidsMeta
: Fixed not reseted bidsSession list ofsubjects.tsv
columnsplugins.tools
: Fixed faulty import ofbaseModule
Changed:
- Table sidecars (including participants.json) now supports extra phields, not related to columns names
- bidsmap: Accepting non-bids modality with a warning
- bidsmap: Runs loaded from template are now unchecked
- README.md: liknks points to GitHub repo
- Splitted bloated README
- Version naming schema for post-release fixes
Removed
baseModule
: removed spanning messages about testing files in scan folders