Does LCModel support Siemens data from the XA series?

Hi all,

Does anyone know how to run .rda from Siemens XA20 (or above) on LCModel?
Everything works fine on my VE data but it crashes when I started to work on data from XA20 and 30.

Best,

Steve

1 Like

Came across the post below and it suggested to convert XA data into nifti and call LCModel in Osprey (worth a try…?,).

Yeah, that would be a workable workaround but might be overkill; I’m curious to see what has changed in the RDA file - it’s just a simple text header followed by the FID, and you might be able to hack together a quick converter script that transforms that unreadable RDA into a readable one. If you can post the two text headers (old and new RDA) side by side we might be able to figure something out.

1 Like

Thanks Georg. It works. I converted the headers from XA format to VE format and LCmodel is able to run the data.

2 Likes

Hi Steve,

I am a postdoc at Brown University and it looks like we are going to run into the same issue with our scanner’s upgrade in January.

Do you have any suggestions or any sample code that could help us convert the XA to VE format?

Any help is so greatly appreciated!

@meggon, please see link below
https://github.com/shui5/io_Siemens_XA2VE/blob/main/io_Siemens_XA2VE.m.

This script reads and re-writes the header using io_loadspec_rda and io_writerda from FID-A and Osprey, respectively.

You may find them in GitHub - CIC-methods/FID-A: Toolbox for simulation and processing of in-vivo magnetic resonance spectroscopy (MRS) data and GitHub - schorschinho/osprey: All-in-one toolbox for processing of magnetic resonance spectroscopy data.

2 Likes

Amazing, thank you so much Steve, I’m so grateful!! (so is the Brown University community!) :slight_smile:

The usage is very simple. Change directory to where you store your data in Matlab and run the script. Only .rda files will be converted. The file names for the converted files all start with io_ followed by the original file name.

1 Like

Amazing!!! Thank you, Steve!! Once we have our test data I’ll let you know how it works, but I don’t foresee any issues. Again, we are very appreciative of your help :slight_smile: have a wonderful holiday!

I knew I should have checked this forum when I ran this issue with our data. I’ve essentially come to the same conclusion - although even a bit simpler - re-writing the header line by line into the new file and re-writing the data was all that was needed. Oddly enough, simply copy/pasting the header alone from a VE .rda to XA .rda file (in a text editor) didn’t work. It bugs me a bit that I can’t figure out what the actual difference is - and it’s annoying that Siemens seemingly introduced a bug in their file format, but then again, they have introduced many unwanted and needless bugs/changes in XA platform…

1 Like

Hi @stevehui! Thank you again for all of your help! I was able to successfully run your script on our rda files and get the updated versions. Interestingly enough, LCModel was able to run on our rda files without the conversion.

However, I’m now hitting a snag when I try to use the new rda files in Gannet for co-registration and segmentation.

I seem to be getting this error:
Unrecognized field name “VOINormalTra”.

Error in GannetMask_SiemensRDA (line 61)
MRS_struct.p.NormTra(ii) = rda.VOINormalTra;

Error in CoReg (line 64)
MRS_struct = GannetMask_SiemensRDA(fname, nii_name{ii}, MRS_struct, ii, vox, kk);

Error in CoRegStandAlone (line 104)
MRS_struct = CoReg(MRS_struct, niifile);

Have you had any issues like this arise?
Your help is greatly appreciated!!
Best,
Meg

Sorry I don’t use Gannet often.
@mmikkel , can you help?

Hi @meggon,

Are you using the latest version of Gannet?

I should also note that Siemens .rda files are under-supported by Gannet as the TWIX format is the preferred and recommended format to use. So there might be some bugs that need to be addressed for co-registration in the latest version.

Mark

Thank you very much, I just ran into your post. We are also the group the Siemens XA30A SV MRS scan is a real pain for LCmodel. I shall test your script out.

Pom

1 Like