Estimate response functions on already segmented neonatal data

Dear MRtrix-experts

I’m quite new to the field of diffusion and I would like to estimate the response function for single shell data (b = 0; b = 1000 s/m2) of a neonatal dataset. Since for the segmentation of neonatal data developmental aspects must be considered, I’ve already segmented the T2 image of the neonatal brain in 9 classes (among others WM, GM, CSF) using an in-house developed segmentation algorithm and coregistered the T2 image with the diffusion space. Now, I would like to use my segmentation information from the T2 image for the dwi2response function. Since I have multi-tissue data, I would like to use the dhollander algorithm (and lower the FA threshold since neonates have lower FA). However, it is not clear to me how I can combine my segmentation information with the dwi2response inputs “tissue_response.txt”.

According to this blog entry (Contents of response_*.txt - #2 by jdtournier) the txt-files’ “rows corresponds to a different shell (in order of increasing b -value), and for each row, the values correspond to the even, m =0 (axially symmetric) SH coefficients of the expected DW signal”.

Has anyone an idea how I can make use of my neonatal specific T2 segmentations for the dwi2response function?

Thank you very much for your help!
Kind regards,
Anna

Welcome Anna!

Your use case is slightly unusual, and might warrant producing an alternative dwi2response algorithm rather than trying to use the existing code as it currently stands.

The functionality of dwi2response dhollander, for instance, can be broken into multiple parts. The early stages, which perform crude tissue separation, may in fact be completely unwanted in your case, since this is the very information that you are aiming to utilise from your higher-resolution T2-weighted image (rather than such being derived entirely from the DWI data). You may however not want to simply utilise all voxels within each tissue class as segmented from the T2-weighted image for response function estimation (as is done in dwi2response msmt_5tt, or indeed dwi2response manual), but instead use the heuristic in dwi2response dhollander (or similar) for selecting representative “extreme” voxels within each tissue mask. Then in specifically the WM there is the confound of wanting to select extreme single-fibre voxels, for which there is a unique heuristic in dwi2response dhollander as of version 3.0.0 that is not currently available as a stand-slone functionality (though we had discussed previously a refactoring that would facilitate such).

So personally I would be re-framing the question as “how do I want my response functions to be derived?” rather than “which command do I use to derive response functions?”. The answer to that question then dictates the extent to which existing algorithms may or may not be of utility, and how best to potentially implement something novel / tailored.

Rob