Skip to content

Commit

Permalink
some more changes
Browse files Browse the repository at this point in the history
  • Loading branch information
CPernet committed Feb 14, 2024
1 parent 4d22ee6 commit ac4a735
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,12 @@ The BIDS extension for Positron Emission Tomography (PET-BIDS) [@norgaard_pet-bi

Conversion tools from native format to BIDS are essential to help researchers to use BIDS. While tools for MRI and MEEG exist, PET2BIDS is the first tool to convert PET data to BIDS. Because PET2BIDS is a code library, conversion is done using the command line only. PET2BIDS can, however, also be integrated into software (with a graphical user interface) that aims at more general BIDS conversion, and current efforts are underway integrating PET2BIDS with ezBIDS [@ezBIDS2024] and BIDSCoins [@zwiers_bidscoin_2022].

_File conversion_: The conversion for PET data stored in DICOM format to NIfTI is performed using the dcm2niix4pet (.m and .py) functions which are wrappers around dcm2niix [@rorden_dcm2nii; @li_first_2016] that extend the image sidecar JSON file generated by dcm2niix with details that are not included in the source images but are required for BIDS. The conversion of PET data stored in ECAT format is performed using the newly created ecat2nii (.m .py) functions. The Matlab code relies on the readECAT7.m function written by BT Christian (1998) and revised by RF Muzic (2002) to read the data while writing Nifti files relies on nii_tool [@Li_2016]. The Python code was developed to mirror the Matlab code, with further testing of data reading (i.e., which file bits are read according to the PET data frames - see [ecat validation](https://github.com/openneuropet/PET2BIDS/tree/main/ecat_validation)) and writing, relying here on Nibabel [@brett_nipynibabel_2023]. Mirroring the DICOM conversion, the ecat2nii functions generate JSON sidecar files from image data, and users must provide additional metadata to make files BIDS-compliant. Note that the python tools are command line tools, i.e. they can be called directly from a terminal.
_File conversion_: The conversion for PET data stored in DICOM format to NIfTI is performed using the dcm2niix4pet functions which are wrappers around dcm2niix [@rorden_dcm2nii; @li_first_2016]. Those functions extend the image sidecar JSON file generated by dcm2niix with details that must be provided by the user because they are not included in the source images but are required for BIDS. The conversion of PET data stored in ECAT format is performed using the newly created ecat2nii (.m .py) functions. The Matlab code relies on the readECAT7.m function written by BT Christian (1998) and revised by RF Muzic (2002) to read the data while writing Nifti files relies on nii_tool [@Li_2016]. The Python code was developed to mirror the Matlab code, with further testing of data reading (i.e., which file bits are read according to the PET data frames - see [ecat validation](https://github.com/openneuropet/PET2BIDS/tree/main/ecat_validation)) and writing, relying here on Nibabel [@brett_nipynibabel_2023]. Mirroring the DICOM conversion, the ecat2nii functions generate JSON sidecar files from image data, and users must provide additional metadata to make files BIDS-compliant. Note that the python tools are command line tools, i.e. they can be called directly from a terminal.

_PET Metadata_: Some radiotracer and pharmaceutical information are always missing in the JSON sidecar files created from reading PET scanner data. To accommodate this, a dedicated PET JSON updater was
created. The PET JSON updater functions (updatejsonpetfile.m or update_json_pet_file.py) take the existing Nifti sidecar JSON file and new metadata to add as input, checks that the full BIDS specification is respected (correct metadata but also consistency of metadata values for the different metadata keys) and updates the image sidecar JSON file. These functions are called by the dcm2niix4pet and ecat2nii (.m and .py) wrapper functions but can also be called directly, allowing already converted image data to become BIDS compliant.
created. The PET JSON updater functions (updatejsonpetfile.m or update_json_pet_file.py) take the existing Nifti sidecar JSON file and new metadata to add as input, checks that the full BIDS specification is respected (correct metadata but also consistency of metadata values for the different metadata keys) and updates the image sidecar JSON file, allowing already converted image data to become BIDS compliant.

_Spreadsheet conversion_: Tabular data formats are ubiquitous in the PET community, mainly to keep track of radiotracer information injected per participant and record time and radiotracer concentration from the blood sampling. Functions were created to read pre-formatted tabular data to either create or update existing sidecar JSON files. In addttion dedicated functions were created to convcert the tabular PMOD file(s) to a BIDS blood.tsv file with it's sidecar JSON. (PMOD being a popular commercial pharmacokinetic modeling software [@Burger1997]). Supported formats are .xls, .xlsx, .csv, .tsv and .bld.
_Spreadsheet conversion_: Tabular data formats are ubiquitous in the PET community, mainly to keep track of radiotracer information injected per participant and record time and radiotracer concentration from the blood sampling. Functions were created to read pre-formatted tabular data to either create or update existing sidecar JSON files. In addition dedicated functions were created to convcert the tabular PMOD file(s) to a BIDS blood.tsv file with it's sidecar JSON. (PMOD being a popular commercial pharmacokinetic modeling software [@Burger1997]). Supported formats are .xls, .xlsx, .csv, .tsv and .bld.

# Acknowledgements

Expand Down

0 comments on commit ac4a735

Please sign in to comment.