Response function estimation for quality control

#1

Dear MRtrix3 experts,

I am fairly new to using MRtrix3, so please excuse a fairly basic technical question:

I visualized the response function estimation of my dti data (b=1500, 2x64 directions) with the values 303.4892197 -153.3113817 47.84516512 -10.20100441 1.233455441.

It looks flat and broadest in the axial plane (as I guess it is supposed to).

My question is:
Are there “normal values” (depending on gradient strength / directions) to check the quality of my (individual) DTI data?
Would that even be sensible / intended?

Maybe I did not understand the concept of the response function correctly, so any insights would be appreciated.

#2

Hi,

So there are certain expectations regarding how the response function ‘should’ look; for instance:

  • The magnitude of the first term should be approximately the mean DWI image intensity in the white matter.
  • From left to right, the values generally decrease by a factor of ~ 3-5, and switch sign between alternate values.
  • Ideally, the magnitude should decrease monotonically from the X-Y plane toward the Z axis, though it’s not uncommon for there to be a little ‘bulb’ along the Z axis.

Regarding the appearance itself, the example that comes to mind is Donald’s paper, where one of the figures shows estimated responses from b=1000-5000 - but as angular plots rather than surfaces.

We’ve toyed with the idea of providing pre-defined response functions for particular b-values, as we expect the shape to be dependent on the b-value only; though receiver coil gain and SNR may also play a part.

Probably the more appropriate test to do for the sake of quality control is to check the locations of the voxels used to estimate the response function (-voxels option in the dwi2response script). These should make sense anatomically as single-fibre regions, and should appear to contain a single fibre following application of CSD.

Rob

#3

Hi @TCsquared,

I’ve cross checked the SH coefficients of your response function with those from Donald’s paper (one eye closed, and engineering-wise interpolating a bit between the b=1000 and b=2000 responses in there), and the values definitely sit in the right ballpark!

The shape that you describe is indeed the correct one: the response should look like a softly blown up disk. I’d say, give it a shot and throw your data and response function at dwi2fod: if the FODs look sensible and not too corrupted by false spurious peaks, you should be good.

Cheers,
Thijs

#4

Dear Rob and Thijs,

Thank you both for your helpful advice! Donald’s paper indeed helped clarifying my questions too!

I a designing a pipeline for data processing and will include a step just to visually check the response function.

Again, thank you for your advice!
Bastian

#5

Hi Rob and Thijs,

Using the currently available dhollander algorithm on a single shell data (b0 + b=700) I get the following response_wm.txt:

1459.49618465773 0 0 0 0 0
774.990944178362 -204.206544862093 27.5709543467232 -3.01704665781447 -0.0572831028918161 0.303581684085567

Which the second row looks like this:
plot

The drop from first to the second term is about 3 times but afterward is more than 5 times and the last element has a bigger magnitude compared to the one before it.

Is this completely wrong?

#6

Nope, it’s perfectly fine. Take a look at it using shview to confirm: I’ve checked, and it looks good.