Exporting raw QA values with newer software versions

54 views
Skip to first unread message

Pierce Boyne

unread,
Jun 5, 2025, 11:21:35 AMJun 5
to DSI Studio
Hi Frank,

Is there a way to export raw QA values with software versions after the 2022 update (where QA values started being normalized by default)?

We have a research question where the results might be confounded by normalizing by the peak voxel value.

Thanks!
Pierce

Frank Yeh

unread,
Jun 5, 2025, 11:35:44 AMJun 5
to boy...@ucmail.uc.edu, DSI Studio
You can get the scaling factor (z0) by using python to open the .fib.gz or .fz files
normalized qa= raw qa * z0
Frank

--
You received this message because you are subscribed to the Google Groups "DSI Studio" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dsi-studio+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/dsi-studio/df06a19b-cdbe-419b-a2d3-b346f3d7c6c1n%40googlegroups.com.
Message has been deleted

Pierce Boyne

unread,
Jun 10, 2025, 9:51:53 PMJun 10
to DSI Studio
Thanks Frank!

I was able to get the z0 values and reversed the normalization using raw qa = normalized qa / z0

But, the values in the resulting raw qa map are much higher than expected. For the first scan, the z0 value was 0.0000023265757 and the mean voxel raw qa value is >12,000 (min=0, max > 429000). I thought both the raw qa and nqa values were bounded between 0 and 1. Am I doing something wrong or interpreting raw qa incorrectly?

Thanks!
Pierce

Frank Yeh

unread,
Jun 10, 2025, 9:57:18 PMJun 10
to boy...@ucmail.uc.edu, DSI Studio
The raw QA values can be any range depending on whether it is directly from the DICOM or normalized before saving as nifti. 

Boyne, Pierce (boynepe)

unread,
Jun 11, 2025, 1:06:40 PMJun 11
to fran...@gmail.com, DSI Studio

Thanks Frank,

 

I got very different results for (raw) QA for this same dataset when I ran it in ~2022. At that time, the (raw) QA values output by the software seemed to all be between 0 and 1. This raises a few questions:

  1. Did the raw QA calculation change with a software update between then and now?  
  2. How is raw QA currently calculated? I previously understood it to be like FA for the primary diffusion direction in a voxel, but that doesn’t seem consistent with values >1.
  3. Is there any option in the software to normalize to something other than brain values (e.g. CSF values)? I thought I remembered this as an option in previous documentation, but I don’t see it now, so maybe that means it didn’t work well for some reason?

 

Thanks for all your help!

 

Pierce

 

From: dsi-s...@googlegroups.com <dsi-s...@googlegroups.com> on behalf of Frank Yeh <fran...@gmail.com>
Date: Tuesday, June 10, 2025 at 9:57
PM
To: Boyne, Pierce (boynepe) <boy...@UCMAIL.UC.EDU>
Cc: DSI Studio <dsi-s...@googlegroups.com>
Subject: Re: [dsi-studio] Exporting raw QA values with newer software versions

External Email: Use Caution



--
You received this message because you are subscribed to a topic in the Google Groups "DSI Studio" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dsi-studio/pwcWoSXlsCE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dsi-studio+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/dsi-studio/CAG_QrtLmr40cj5z9etAT6qo4irQh6H8x1Ffd0Ty0AxTtWd%3D2Ww%40mail.gmail.com.

Frank Yeh

unread,
Jun 11, 2025, 1:15:02 PMJun 11
to Boyne, Pierce (boynepe), DSI Studio


I got very different results for (raw) QA for this same dataset when I ran it in ~2022. At that time, the (raw) QA values output by the software seemed to all be between 0 and 1. This raises a few questions:

  1. Did the raw QA calculation change with a software update between then and now?  

No, the only changes are how it is normalized. It is likely that the 'raw' QA at 2022 is normalized by scaling max(ISO)=1  

  1. How is raw QA currently calculated? I previously understood it to be like FA for the primary diffusion direction in a voxel, but that doesn’t seem consistent with values >1.

It is documented on IEEE TMI 2010 GQI paper.
 
  1. Is there any option in the software to normalize to something other than brain values (e.g. CSF values)? I thought I remembered this as an option in previous documentation, but I don’t see it now, so maybe that means it didn’t work well for some reason?

Currently the best approach is to normalize against iso. That is for each voxel, divide qa by iso values.
Currently, this approach provides the most stable results.

Best regards,
Frank

Boyne, Pierce (boynepe)

unread,
Jun 26, 2025, 12:30:35 PMJun 26
to Frank Yeh, DSI Studio, Foster, Jolene (fostej5)
Thanks Frank!

Can you please clarify the specific steps I would need to take to calculate the 'raw' QA circa 2022?

Also, can you please clarify the specific steps used to calculate the current (normalized) QA calculation? 

From your email below, I'm guessing that the 2022 'raw' QA map was divided by a single value related to ISO and that the current (normalized) QA map is obtained by dividing QA by ISO, but I'm not sure. I'm also unclear about how and where z0 factors into the normalizations.

Thank you!

Pierce


Frank Yeh

unread,
Jun 26, 2025, 1:19:54 PMJun 26
to Boyne, Pierce (boynepe), DSI Studio, Foster, Jolene (fostej5)
I will review the code at 2022 and get back to you.
Frank

Boyne, Pierce (boynepe)

unread,
Jul 1, 2025, 8:05:16 AMJul 1
to Frank Yeh, DSI Studio, Foster, Jolene (fostej5)

Thanks Frank!

 

Please let us know what you find out

Frank Yeh

unread,
Jul 14, 2025, 3:54:58 PMJul 14
to Boyne, Pierce (boynepe), DSI Studio, Foster, Jolene (fostej5)
On Tue, Jul 1, 2025 at 8:05 AM Boyne, Pierce (boynepe) <boy...@ucmail.uc.edu> wrote:

>

> Can you please clarify the specific steps I would need to take to calculate the 'raw' QA circa 2022?


In 2022, the raw QA values are directly computed from the signals using the sinc transformed outline in the Yeh et al. 2010 IEEE TMI paper.

 

>
> Also, can you please clarify the specific steps used to calculate the current (normalized) QA calculation?
>


In 2022, the QA is scaled by z0, which is computed by 1/max(raw QA)
 
ISO is not used in the normalization.

Best regards,
Frank

Boyne, Pierce (boynepe)

unread,
Jul 21, 2025, 5:54:58 PMJul 21
to Frank Yeh, DSI Studio, Foster, Jolene (fostej5)

Thanks Frank,

 

But I’m still not sure how to reproduce the previous normalization. When I try ‘old qa = new qa / z0’ I get really high values that aren’t close to those I got with the old software, which seemed to output raw QA values that were bounded between 0 and 1.

In your 2010 paper, you wrote: “the SDF can be scaled by a constant value such that the SDF of pure water diffusion is 1. To estimate the , in practice, the SDF of cerebrospinal fluid (CSF) could be used as a reference because CSF resembles free diffusion of pure water”. Is or was this implemented in DSI Studio and could it be a missing piece of the puzzle?

 

That paper also says: “The QA in a resolved fiber orientation is defined by the SDF value at the resolved fiber orientation minus the background isotropic diffusion component I(vQ)

where Z0 is the SDF scaling constant. To estimate the isotropic component, in this study, we used the minimum value of vQ as an approximation.”

Does this mean that the old software also used a scaling constant (Z0) that I need to apply after dividing out the new scaling constant, in order to reproduce the values from the old software?

 

If it would be easier to talk it though, I would be more than happy to meet if you are willing.

 

Thanks!

 

Pierce

 

From: Frank Yeh <fran...@gmail.com>
Date: Monday, July 14, 2025 at 3:54

PM


To: Boyne, Pierce (boynepe) <boy...@UCMAIL.UC.EDU>

Cc: DSI Studio <dsi-s...@googlegroups.com>, Foster, Jolene (fostej5) <fos...@mail.uc.edu>

Boyne, Pierce (boynepe)

unread,
Jul 31, 2025, 10:22:04 AMJul 31
to Frank Yeh, DSI Studio, Foster, Jolene (fostej5)
Hi Frank,

Just following up to make sure you got this. 

Thanks!

Pierce


Frank Yeh

unread,
Jul 31, 2025, 10:34:30 AMJul 31
to Boyne, Pierce (boynepe), DSI Studio, Foster, Jolene (fostej5)
Hi Pierce,

     Thanks for following up and sorry for missing this post.

     You may try dividing the value by the number of DWI to see if it matches. 

      There are also several possible causes of the different. Example, the DWI signals may be scaled when converting from floating point to 16bit integer and the maximum of all DWI signals will be 65535.

     It could be challenging to match value at the preprocessing steps because there could be different value scaling happening in the preprocessing before all QA values have a final scaling by z0.

Best regards
Frank
Reply all
Reply to author
Forward
0 new messages