Recent Releases of Bidsme

Bidsme - 1.9.5 -- 2025-08-11

Changes since 1.9.0

Fixed:

  • hmriNIFTI: Inverted PE direction for j, based on dcm2niix
  • bidsmeNIFTI: Fixed custom fields overwrite when loading the file
  • PET/bidsmeNIFTY: Fixed extensions so compressed files should be taken into account
  • plugins/General: Extracted bvec vectors are now reoriented to the image space
  • Metadata field parcing: bug where a composite fields (like PhaseEncodingDirection) couldn't retrieved the raw values
  • Temporary fix for an <<increment>> tag resetting with every new recording
  • bidsmap: example field not filled when two different map blocks process same acquisition
  • participants_table.tsv: Now the N/A are filled in case of duplicates
  • plugins/tools/General.py: SaveBval kept .nii extensions if base name was a compressed image (issue #37)

Added:

  • hmriNIFTI: Added more shortcuts for retrieving metadata from header, in particular DwellTime

  • ISSUES.md: keep track of currently known issues with bidsme

  • plugins/nibabel: Added TR parameter in Convert_3D_to_4D to set the time dimention of 4D images

Changed:

  • plugins/dcm2niix: Reimplemented conversion code for dcm2niix, filenames are recovered from parcing stdout, also accepts local instalations of dcm2niix
  • plugins/tools/General/CheckPrepared: will accept also subject and session names directly to perform checks; also will mirror the same checks configurations as CheckSeries
  • bidsme-gui: the tkinter dependency is now optional, bidsme can be used without it, but attempting to launch bidsme-gui will end up with ModuleNotFoundError
  • bidsme-gui: now launched from CLI with bidsme-gui command

Scientific Software - Peer-reviewed - Python
Published by nbeliy 6 months ago

Bidsme -

Changes since 1.9.0

Fixed:

  • plugins/General: Extracted bvec vectors are now reoriented to the image space
  • Metadata field parcing: bug where a composite fields (like PhaseEncodingDirection) couldn't retrieved the raw values
  • Temporary fix for an <<increment>> tag resetting with every new recording
  • bidsmap: example field not filled when two different map blocks process same acquisition

Changed:

  • plugins/tools/General/CheckPrepared: will accept also subject and session names directly to perform checks; also will mirror the same checks configurations as CheckSeries
  • bidsme-gui: the tkinter dependency is now optional, bidsme can be used without it, but attempting to launch bidsme-gui will end up with ModuleNotFoundError
  • bidsme-gui: now launched from CLI with bidsme-gui command

Added:

  • ISSUES.md: keep track of currently known issues with bidsme
  • plugins/nibabel: Added TR parameter in Convert_3D_to_4D to set the time dimention of 4D images

Scientific Software - Peer-reviewed - Python
Published by nbeliy 9 months ago

Bidsme -

Changes since 1.9.0

Fixed:

  • Metadata field parcing: bug where a composite fields (like PhaseEncodingDirection) couldn't retrieved the raw values
  • Temporary fix for an <<increment>> tag resetting with every new recording
  • bidsmap: example field not filled when two different map blocks process same acquisition

Changed:

  • plugins/tools/General/CheckPrepared: will accept also subject and session names directly to perform checks; also will mirror the same checks configurations as CheckSeries
  • bidsme-gui: the tkinter dependency is now optional, bidsme can be used without it, but attempting to launch bidsme-gui will end up with ModuleNotFoundError
  • bidsme-gui: now launched from CLI with bidsme-gui command

Added:

  • ISSUES.md: keep track of currently known issues with bidsme
  • plugins/nibabel: Added TR parameter in Convert_3D_to_4D to set the time dimention of 4D images

Scientific Software - Peer-reviewed - Python
Published by nbeliy 10 months ago

Bidsme - 1.9.0 - 2025-02-27

Changes since 1.8.0

Added

  • <<increment[1-9]:tag>> field that will count how much this field is accessed. Useful for run- and chunk- entities. The tagless version <<increment[1-9]>> will count number of times the bidsified name is generated.
  • mapper.py: Added cals to SessionEndEP and SubjectEndEP plugin functions for consistency with bidsify.py
  • GUI: Metadata explorer
  • Module/base: Added possibility to lock seriesNo and seriesId to avoid the retrieval of No and Id for each loaded file
  • bidsify, map: Series No and Id is retrieved from folder name and not automatically

Changed:

  • Reimplemented getDynamicField, now it parces tags using regexp, added unittest for metadata retrieval
  • baseModule: During preparation, bidsme will copy not only the image file, but all files sharing the same basename
  • tools/change_ext: will return the basename without extention if argument new_ext is None
  • Added minimal pyproject.toml to silence warning
  • tools.change_ext will return basename if new_ext is None
  • Module/base: If unable to recover series number or series id, the default values of 0 and 'unknown' will be used
  • Module/base: In series id, the space and tabs will be replaced by underscores
  • Module/base: Retriving an incorrect characteristic (<<>>) will pring an error to log
  • 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

Scientific Software - Peer-reviewed - Python
Published by nbeliy 12 months ago

Bidsme -

Changes since 1.8.0

Added:

  • Module/base: Added possibility to lock seriesNo and seriesId to avoid the retrieval of No and Id for each loaded file
  • bidsify, map: Series No and Id is retrieved from folder name and not automatically
  • MRS: support for Magnetic Resonance Spectroscopy

Changed:

  • tools.change_ext will return basename if new_ext is None
  • Module/base: If unable to recover series number or series id, the default values of 0 and 'unknown' will be used
  • Module/base: In series id, the space and tabs will be replaced by underscores
  • Module/base: Retriving an incorrect characteristic (<<>>) will pring an error to log
  • 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

Fixed:

  • Module/jsonNIFTY: no longer spams warnings if unable to determine series id
  • 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

Scientific Software - Peer-reviewed - Python
Published by nbeliy about 1 year ago

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

Scientific Software - Peer-reviewed - Python
Published by nbeliy over 1 year ago

Bidsme - 1.8.0 2024-09-12

Changes since 1.7.1

Added

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

Scientific Software - Peer-reviewed - Python
Published by nbeliy over 1 year ago

Bidsme - 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 on bidsschematools 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

Scientific Software - Peer-reviewed - Python
Published by nbeliy over 1 year ago

Bidsme - 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 and recording.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 installed dicom-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 entry PatientID
  • BaseModule: series_no/series_id becomes prperties with type check (int/str resp.)

Scientific Software - Peer-reviewed - Python
Published by nbeliy almost 2 years ago

Bidsme - 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 and recording.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 installed dicom-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 entry PatientID
  • BaseModule: series_no/series_id becomes prperties with type check (int/str resp.)

Full Changelog: https://github.com/CyclotronResearchCentre/bidsme/compare/1.5.1...1.6.5

Scientific Software - Peer-reviewed - Python
Published by nbeliy almost 2 years ago

Bidsme - 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 and recording.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 installed dicom-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

Scientific Software - Peer-reviewed - Python
Published by nbeliy almost 2 years ago

Bidsme - 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 and recording.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

Scientific Software - Peer-reviewed - Python
Published by nbeliy almost 2 years ago

Bidsme - 1.6.2 - 2024-03-04

Added

  • Modules/base: The series Id and No can now be changed in plugins via attributes recording.series_id and recording.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

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

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

Scientific Software - Peer-reviewed - Python
Published by nbeliy almost 2 years ago

Bidsme - 1.6.0

Added

  • Modules/base: The series Id and No can now be changed in plugins via attributes recording.series_id and recording.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

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

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

Full Changelog: https://github.com/CyclotronResearchCentre/bidsme/compare/1.5.1...1.60

Scientific Software - Peer-reviewed - Python
Published by nbeliy about 2 years ago

Bidsme - 1.5.0

Release for the publication in JOSS

Fixed

  • Module/base: Bug when recIdentity() wasn't called as function

Changed

  • Several improvements in documentation and README
  • Updated links to the examples and tutorial to point to GitHub

Scientific Software - Peer-reviewed - Python
Published by nbeliy about 2 years ago

Bidsme - 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 installed
  • bidsMeta: Fixed not reseted bidsSession list of subjects.tsv columns
  • plugins.tools: Fixed faulty import of baseModule

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

Scientific Software - Peer-reviewed - Python
Published by nbeliy over 2 years ago

Bidsme - 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 installed
  • bidsMeta: Fixed not reseted bidsSession list of subjects.tsv columns
  • plugins.tools: Fixed faulty import of baseModule

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

Scientific Software - Peer-reviewed - Python
Published by nbeliy over 2 years ago

Bidsme - 1.4.0.post4

Full Changelog: https://github.com/CyclotronResearchCentre/bidsme/commits/1.4.0.post4

Scientific Software - Peer-reviewed - Python
Published by ChristophePhillips about 3 years ago