.SDAT file empty upon raw data export

Hi all,

I am starting to work with MRS data acquired on a Philips scanner for the first time. I have run into an issue where when I go to export the raw data from the scanner, the _raw_act.SDAT file (the water suppressed spectra) is empty. The .XSDAT file is also half the size it should be. The spectra is viewable on the scanner itself. This has happened for 2/7 of my subjects, and there is no clear pattern as to why. Has anyone else run into this issue before? I would really appreciate any guidance!

Can you provide more details on the acquisition (software version, sequence, exam card settings etc.)?

Thank you for your reply! The system is an MR Systems Ingenia Release 5.7

The sequence is a PRESS sequence and here are the exam card settings:
EX_single_scan_id = 46869598;
Patient weight [kg] = 55;
SmartSelect = “yes”;
Coil 1 (exclude) = “None”;
VOI orientation = “transverse”;
VOI size AP (mm) = 20;
RL (mm) = 20;
FH (mm) = 20;
Samples = 1024;
Spectral BW (Hz) = 2000;
Chem. shift Dir AP = “A”;
Chem. shift Dir LR = “L”;
Chem. shift Dir FH = “F”;
Large table movement = “no”;
REST slabs = 0;
Patient position = “head first”;
Patient body position = “head first”;
Patient orientation = “supine”;
Patient body orientation = “supine”;
Scan type = “Spectroscopy”;
Scan mode = “SV”;
technique = “ECHO”;
VOI selection = “volume”;
method = “PRESS”;
Gradient Spoiling = “no”;
Fast Imaging mode = “none”;
Echo acquisition = “half”;
TE = “shortest”;
Flip angle (deg) = 90;
RF pulse set = “normal”;
TR = “user defined”;
(ms) = 2000;
RF Shims = “fixed”;
Shim = “PB-auto”;
PB order = “first”;
Water suppression = “excitation”;
window (Hz) = 140;
second pulse angle = 300;
WS prescan = “auto”;
BASING/MEGA pulse = “no”;
Fat suppression = “no”;
Grad Rev Fat suppr = “no”;
Custom prepulse = “no”;
Pre-saturation = “no”;
Transmit channels = “both”;
SAR mode = “high”;
B1 mode = “default”;
SAR allow first level = “yes”;
Patient pregnancy = “no”;
Patient WB SAR [W/kg] = 0;
Patient Head SAR [W/kg] = 0;
Patient max. dB/dt [T/s] = 0;
Max slewrate [T/m/s] = 0;
Max. B1+rms [uT] = 0;
PNS mode = “low”;
Gradient mode = “default”;
SofTone mode = “no”;
Cardiac synchronization = “no”;
Heart rate > 250 bpm = “no”;
Respiratory compensation = “no”;
Startup acquisitions = 2;
NSA = 128;
Phase cycles = 16;
Frequency stabilization = “slice (per nsa)”;
MRE enable = “no”;
Parameter series = “no”;
Manual start = “no”;
Dynamic study = “no”;
Preparation phases = “auto”;
Interactive F0 = “no”;
Receiver optimization = “ON”;
Quick Survey = “default”;
SmartPlan survey = “no”;
Spectral correction = “yes”;
spectral correction NSA = 4;
fat supp. on correction = “no”;
Reference tissue = “White matter”;
PlanScan metabolite = “NAA”;
Shifted metabolite displayed = “none”;
Preset window contrast = “soft”;
Save raw data = “no”;
Hardcopy protocol = “no”;
Elliptical k-space shutter = “default”;
VOI offc. AP (P=+mm) = 0;
RL (L=+mm) = 0;
FH (H=+mm) = 0;
VOI ang. AP (deg) = 0;
RL (deg) = -0;
FH (deg) = -0;
IF_info_seperator = 1634755923;
Total scan duration = “04:28.0”;
Act. TR/TE (ms) = “2000 / 34”;
Min. TR/TE (ms) = “726 / 34”;
Spectral resolution (Hz/point) = 1.953125;
Readout duration (ms) = 512;
Local torso SAR = “< 8 %”;
Whole body SAR / level = “< 0.3 W/kg / normal”;
SED = “< 0.1 kJ/kg”;
Coil Power = “8 %”;
Max B1+rms = “0.64 uT”;
PNS / level = “33 % / normal”;
dB/dt = “28.4 T/s”;
Sound Pressure Level (dB) = 3.09464002;

The voxel is placed in the motor cortex. Please let me know if you need anything else from me, and thank you again!

When you say “empty”, do you mean the SDAT file is actually 0 KB or do you mean they contain noise? When you say “the XML are half the expected size”… what’s the size you expect?

Can you get a screenshot of the spectrum as viewed on the scanner?

Do the scans run through and are not cancelled? SDAT/SPAR are only generated if the scan is completed. Do you have enough disk space on the scanner hard drive? What exactly is your procedure for the export? Is there any chance that the transfer from the scanner hard drive (to, say, a USB drive) could have been corrupted?

Here’s a bit more feedback on your protocol:

  • By choosing TE = shortest, it’s likely your TE will depend on things like patient weight, voxel orientation etc. Best to choose a constant value like 30 or 35 ms.
  • You always want to choose higher-order shims (Shim → PB-order = second).
  • Do you have any other water suppression available other than ‘excitation’? Ideally you have a VAPOR product key, if not, MOIST is probably OK too (let me know what options you got).
  • Choose the maximum PNS mode
  • Choose ‘Gradient mode’ = maximum
  • For voxel planning, you can activate “Shifted metabolite displayed” to display the localization of another metabolite (say, lipids or H2O) to gauge the effects of chemical shift displacement
  • Did you actually plan the MRS voxel to be in a particular location? I only see that all the VOI coordinates are set to zero.

Thanks for the additional feedback! The .SDAT file is actually 0KB. What I mean by “half the expected size” is for the datasets that are complete, the .XSDAT file is 16KB, but for the ones where the .SDAT file is 0KB, the .XDAT file is 8KB. This has only occurred with some of my MRS acquisitions using this same sequence, the rest have saved and transferred with no issues.

Looking at the data on the scanner itself, I’ve realized that while the screenshot file shows a visible spectra, the actual data file is in fact empty. So it doesn’t seem to be an issue with data transfer and rather that the data is somehow not being collected or saved. The scans have been running to completion as far as I know, and I don’t think it is an issue with space on the scanner hard drive as this scanner is used for 3+ research scans a day and it’s only the MRS data that seems to have this issue.

Thank you for those additional suggestions! I will pass them onto my team. And yes, during the actual acquisition, the MRS voxel is placed in the motor cortex.

Hm - and you’re trying to export the data right after the measurement?

Tagging @sganji - Sandeep, do you have any idea why reconstructed SVS data (in SDAT/SPAR and also on the scanner display) might be empty in some participants, but not others?

Yes, we’ve tried exporting the data immediately after the participant leaves the scanner with no luck.

Couple of questions

  1. When you say you export the data " immediately after the participant leaves", do you do that while the Patient exam is still on the Application Software (I mean before you exit the patient from the Patient tab on the Application Software)?

  1. What is the typical Patient database % you have on your scanner when you perform your Spectroscopy scans (can be see by opening Patient Administration window).

-Sandeep

1 Like

Hi @HannahFB,
the second question of @sganji could be very interesting. We have a similar bug (release 5.9) that exported data are empty when the database is more than 70 % full. This bug only occurs when we open the data in SpectroView before exporting. We therefore ensure that the database is not too full before measurement, otherwise you can export them before you open them in SpectroView.
This is no longer possible retrospectively, hence the question: have you saved RawData during measurement? In this case, you can reconstruct your data at the console and export it after that.

Hi,

We had a similar problem with spectroscopy data in R5.7 and R5.9. The cause is the database space. If there is less than 30% space you may loose the spectroscopy data. In Dynamic series this often resulted in only one out of the five or seven in the series having data.
Before doing any reconstruction or hard disk export of the data do a network backup to a database or DVD and you may be able to restore the data form there. Do this first!
When the spectroscopy data are missing and you want to restore from such a backup you have to remove the whole study first. Otherwise the corrupted spectra are not restored and you might think the backup was corrupted too.

Ronald

This issue stems from data handling procedures on specific software versions of Philips MRI scanners (R57, only certain Service Packs, and R59). This bug is fixed in SW releases R5.8.1.1 or higher (except R59, which came before R58).

First, some context:
Data Storage: On the scanners reconstructed data (even the rawdata) is stored differently. Instead of having DICOM files, header information is stored in the PatientDB (a Microsoft SQL database), while the actual image/spectroscopy/rawdata data is stored as Philips-specific .sdo or .blk files. Note: PatientDB has been redesigned in R10 and higher SW releases.
Export Process: When exporting to DICOM or SPAR/SDAT, the scanner software merges the header information from the database and the data from the .sdo or .blk files to produce the requested files.
Database Maintenance: To maintain database performance, a background process routinely purges unreferenced data, activating when the database reaches 60% capacity.

Now, the bug: In certain service packs of R57 and R59, a bug causes this maintenance process to erroneously delete spectroscopy data files (.sdo or .blk), resulting in corrupted exported data. Specifically, SPAR files may be generated correctly (using the database header), but the corresponding SDAT files will lack spectra (because the underlying .sdo or .blk files have been deleted). This same issue affects DICOM exports too.

Factors that Trigger this deletion: The database cleaning process, and therefore the bug, is an issue only when the database reaches or exceeds 60% capacity. If the database is higher than 60%, this process gets triggered specifically when (1) exiting the Application Software, or (2) logging off the scanner, (3) loading a different patch, or (4) deactivating a patch.

Workaround:

  • Keep the patient database below 60% and confirm that it stays below that during your spectroscopy studies
  • Archive spectroscopy data immediately after the acquisition (either by setting the sequence to auto-push to a network node or by sending it to QDVD or even exporting it locally somewhere)

NOTE: This bug is fixed in SW releases R5.8.1.1 or higher (including R11, except R59, which was released before R58).

Sandeep

2 Likes

Thank you all very much for the information! It seems like this bug is exactly why we have been losing our data. For the future, we plan to make sure that the database stays under 60% full so this doesn’t happen again.

It seems like for at least one of the affected subjects, I have the data in dicom format from an earlier transfer to our Horos database.

Is there any way this data might be usable? Once again, I appreciate everyone’s advice and help!

I believe it should (most modern analysis packages can load the flavor of DICOM that includes MRS raw data storage). How are you analyzing your data?

Sidenote, some PACS don’t support this storage standard - I’ve seen the raw data get lost and only the screenshot of the spectrum (a regular image that doesn’t contain the raw data) being sent through. Can you open this dataset in a DICOM viewer? If you see a screenshot, it won’t work.

The first DICOM file ‘IM-0018-0001.dcm’, I am guessing is Protocol file (given its size).
The second file DICOM file ‘IM-0018-0002.dcm’, seems too small to retrain spectra in it.

Can you use MATLAB or PYDICOM to open the file and see if you see data in TAG (2005,1270) or SpectroscopyData tag in the dicom fields.?

1 Like