Suspect.io.load_twix() for MRSI: Interpretation of Complex Array Indices

Hi All,

I’m retooling the interface to a neat piece of 31P DNN analysis software recently published by Songeon et al. (Julien Songeon / 31P SPAWNN · GitLab).

It’s currently tailored to ingest experimental data formatted as matlab .mat files as generated from corresponding TWIX files through the mapVBVD toolbox. I’d much rather use @bennyrowland 's Suspect library to directly parse the TWIX files into something recognizable to NumPy.

I see documentation for suspect.io.load_twix() in the single voxel case which suggests it returns an array of the form (repetition index, channel index, FID points) . I can’t seem to find good documentation regarding how this nomenclature is further generalized to (kx, ky, kz)-space in the case of MRSI data.

It’s just my luck that my repetitions (If I understand correctly) are the same number as my voxels: (8, 8, 8, 8, 4096) . Can someone clarify the labels/meaning of these respective indices with respect to spatially 3D spectroscopy? I want to make sure I’m not misinterpreting these dimensions.

My goal is to pass forward a reshaped array in Julien’s preferred form for 31P-SPAWNN: (time data, kx, ky, averages, kz) .

Thanks!
Tom

Hi @tjgross,

Glad to hear that you are interested in using Suspect, sorry for the slight delay in responding but I have had some other things to focus on recently. I would recommend that you have a look here, which is part of the supplementary material from my paper Whole brain 31P MRSI at 7T with a dual-tuned receive array. Basically it is a Jupyter notebook showing how to read in multi-voxel TWIX data and process it, including things like optimised channel combination (and also a simple fitting approach in case you need to check the SPAWNN results).

If you get stuck or need some more advice, please let me know.

Ben