Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GE UHP/7T Diffusion SliceTiming #796

Closed
mr-jaemin opened this issue Feb 22, 2024 · 5 comments
Closed

GE UHP/7T Diffusion SliceTiming #796

mr-jaemin opened this issue Feb 22, 2024 · 5 comments

Comments

@mr-jaemin
Copy link
Collaborator

mr-jaemin commented Feb 22, 2024

As described #635, if GE Premier/UHP/7T use diffusion gradient cycling, theSliceTiming can't be described/generated.

Diffusion gradient cycling mode (d.diffCyclingModeGE) can be determined based on UserData12 (0019,10B3) and/or UserData15 (0019,10B6).

While curent dcm2niix reliably detects the cycling mode, ABCD patch on UHP/7T uses a different value 0.53 for UserData15 (0019,10B6), compared to Premier 0.72, reporting the following warning despite of data collected with cycling off:

Warning: Unable to compute slice times for GE Diffusion:Cycling

User may use the (undocumented) program option(--diffCyclingModeGE 0) to override the cycling mode from DICOM if data is collected with cycling OFF for sure.

@mr-jaemin
Copy link
Collaborator Author

Thanks @psadil for reporting this issue.

mr-jaemin pushed a commit to mr-jaemin/dcm2niix that referenced this issue Feb 22, 2024
@mr-jaemin
Copy link
Collaborator Author

mr-jaemin commented Feb 22, 2024

On GE Premier XT, diffusion data with HCP lifespan, ABCD, ADNI3-Adv, UK BioBank protocol is collected with cycling off. With this dataset, DICOM UserData15 (0019,10B6) will be set to 0.72

On GE UHP, ABCD data(with ABCD patch) is collected with cycling off & DICOM UserData15 (0019,10B6) = 0.53

In addition, on UHP and 7T, if 0.5 < UserData15 (0019,10B6) < 1, diffusion cycling is OFF.

In short, here is the pseudo-code to generate SliceTiming on Premier/UHP/7T:

Updated code on March 14, 2024 (#804)

If (Premier) && (UserData15 = 0.72)
    diffCyclingModeGE = 0 (off)
- If (UHP or 7T) && (0.5 < UserData15 <1)
+ If (UHP or 7T) && (0.5 <= UserData15 <=1.0)
    diffCyclingModeGE = 0 (off)

mr-jaemin added a commit that referenced this issue Feb 22, 2024
GE UHP/7T Diffusion SliceTiming (#796)
@mr-jaemin
Copy link
Collaborator Author

The development branch (v1.0.20240222) addressed the issue.

@psadil please test your dataset.

@mr-jaemin mr-jaemin changed the title GE UHP/7T ABCD Diffusion SliceTiming GE UHP/7T Diffusion SliceTiming Feb 22, 2024
@psadil
Copy link

psadil commented Feb 25, 2024

This seems to work for my dataset. I don't have another DWI that was collected on this scanner with an older SoftwareVersion and the same TR, so I can't check for differences in the generated SliceTiming. But the development version of dcm2niix (v1.0.20240222) produces SliceTiming without use of the hidden option on the DWI scan collected with "SoftwareVersions": "30\LX\SIGNA_LX1.MR30.1_R01_2322.c". Thanks!

mr-jaemin added a commit to mr-jaemin/dcm2niix that referenced this issue Mar 13, 2024
@mr-jaemin
Copy link
Collaborator Author

mr-jaemin commented Mar 13, 2024

After reviewing the GE PSD epi2.e (diffusion) code, updated dcm2niix

from

If (UHP or 7T) && (0.5 < UserData15 <1)
    diffCyclingModeGE = 0 (off)

To

If (UHP or 7T) && (0.5 <= UserData15 <= 1.0)
    diffCyclingModeGE = 0 (off)

neurolabusc added a commit that referenced this issue Mar 14, 2024
GE UHP/7T Diffusion SliceTiming Update (#796)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants