Skip to content

Add PDT2 handling #834

@yarikoptic

Description

@yarikoptic

added _PDT2 suffix into multi-echo sequences. Then e21a9ba generalized it further (no explicit handling for PDT2). So we would add _echo-1 and _echo-2 for any dual echo image.

Since then, or just now, BIDS recommends in https://bids-specification.readthedocs.io/en/stable/modality-specific-files/magnetic-resonance-imaging-data.html#non-parametric-structural-mr-images

If separated into 3D volumes, the PDw and T2w suffixes SHOULD be used instead, and an acquisition entity MAY be used to distinguish the images from others with the same suffix, for example, acq-PDT2_PDw.nii and acq-PDT2_T2w.nii.

So, I think that if we encounter dual echo ( _echo-1 and _echo-2) with echo1 < 30 ms, and 70 < echo2 < 120 on _PDT2 we might want to rename accordingly to _PDw and _T2w (am I correct in the order/assignment @tsalo @bpinsard @kodiweera that short echo is PDw here and longer one T2w? are better ranges to use?)

edit: ATM we store a single TE for a sequence. I am reviewing the case (do not have direct access to data) for PDT2 where sorting does not separate into two sequences and we have a single TE value but then dcm2niix to separate... we might need to adjust/fix code to allow for multiple TEs and pass those into heuristics.

FWIW - -confirmed on a sample PDT2 data laying around (`dicoms/dcm_qas/dcm_qa_pdt2`) that we get multiple echos in the same sequence
❯ heudiconv -f ~/proj/heudiconv/trash/DK-atlases/convertE3_v4.py -b --minmeta -s E1600121J -ss 03 --files dcm_qa_pdt2/ -c dcm2niix -o dcm_qa_pdt2-bids --overwrite
...
❯ tree dcm_qa_pdt2-bids
dcm_qa_pdt2-bids
├── CHANGES
├── dataset_description.json
├── participants.json
├── participants.tsv
├── README
├── scans.json
└── sub-E1600121J
    └── ses-03
        ├── anat
        │   ├── sub-E1600121J_ses-03_echo-1_PDT2.json
        │   ├── sub-E1600121J_ses-03_echo-1_PDT2.nii.gz
        │   ├── sub-E1600121J_ses-03_echo-2_PDT2.json
        │   └── sub-E1600121J_ses-03_echo-2_PDT2.nii.gz
        └── sub-E1600121J_ses-03_scans.tsv

4 directories, 11 files
❯ grep EchoTime dcm_qa_pdt2-bids/**/*json
dcm_qa_pdt2-bids/sub-E1600121J/ses-03/anat/sub-E1600121J_ses-03_echo-1_PDT2.json:  "EchoTime": 0.011,
dcm_qa_pdt2-bids/sub-E1600121J/ses-03/anat/sub-E1600121J_ses-03_echo-2_PDT2.json:  "EchoTime": 0.092,

so there is some mystery remaining since in another case (again - no access to data) where we had them sorted into two sequences, and thus might need immediately to name appropriately as _acq-PDT2_{T1,PD}w at heuristic level... inquiring... may be there is some option on console to send separated?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions