Git Product home page Git Product logo

siemens_to_ismrmrd's Introduction

Build Status

ISMRM Raw Data Format (ISMRMRD)

A prerequisite for sharing magnetic resonance (imaging) reconstruction algorithms and code is a common raw data format. This repository describes such a common raw data format, which attempts to capture the data fields that are required to describe the magnetic resonance experiment with enough detail to reconstruct images. The repository also contains a C/C++ library for working with the format. This standard was developed by a subcommittee of the ISMRM Sedona 2013 workshop and is described in detail in:

Inati SJ, Naegele JD, Zwart NR, Roopchansingh V, Lizak MJ, Hansen DC, Liu CY, Atkinson D, Kellman P, Kozerke S, Xue H, Campbell-Washburn AE, Sørensen TS, Hansen MS. ISMRM Raw data format: A proposed standard for MRI raw datasets. Magn Reson Med. 2017 Jan;77(1):411-421.

Please cite this paper if you use the format.

Please the ISMRMRD documentation for details.

siemens_to_ismrmrd's People

Contributors

ahsanjav avatar atrotier avatar dchansen avatar dimitripapadopoulos avatar ericsonggg avatar hansenms avatar inati avatar kristhielemans avatar kspacekelvin avatar marcsous avatar naegelejd avatar paskino avatar pehses avatar puletic avatar rajramasawmy avatar tsangild avatar wtclarke avatar xueh2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

siemens_to_ismrmrd's Issues

Problems with extracting data

I am trying to convert a dataset, but I am unable to, with an error that I have not seen before (Abort due to malformed file). I've attached the log as a png to this post. As the scanner software version was apparently recently updated, I was wondering if this might be the reason? Or perhaps corruption from copying from the scanner?

Thanks in advance.
error

Segments possible bug in xml file

I was looking in the IsmrmrdParameterMap_Siemens.xml and noticed these lines.

    <p><s>MEAS.sFastImaging.lShots</s>                          <d>siemens.MEAS.sFastImaging.lSegments</d></p>
    <p><s>MEAS.sFastImaging.lSegments</s>                       <d>siemens.MEAS.sFastImaging.lSegmentSize</d></p>

Is that correct? Shots gets mapped to segments? Changing them to

    <p><s>MEAS.sFastImaging.lShots</s>                          <d>siemens.MEAS.sFastImaging.lShots</d></p>
    <p><s>MEAS.sFastImaging.lSegments</s>                       <d>siemens.MEAS.sFastImaging.lSegments</d></p>

seemed to fix a problem I was having with reading no. segments in gadgetron from Siemens raw data.

For reference, the original thread is here: https://groups.google.com/forum/#!topic/gadgetron/6tKY2a0oyYU

Unsaved profiles flags multi-echo GRE 7T

I'm converting multi-echo data acquired at 7T using the official Siemens GRE sequence. I would need to use the flag values, which should be saved in the head of each data profile. The issue is that the first 25 flag bits are correctly saved, but the others are lost. However, when I print the flags before calling the function appendAcquisition (line 954 in main.cpp), all the flag bits are there. Apparently part of them is lost when writing to the .h5 file.
I get these two warning at the end of the conversion:
WARNING: Unexpected number of mystery bytes detected: 192
Please check the result.
WARNING: End of file was not reached during conversion. There are 384 additional bytes at the end of file.
All the values other than the flags seem to be correctly converted.

Parameter map for raw data from Cima.X (syngo MR XA61)

Hello,
My name is Qingping Chen. I am a researcher from University Medical Center Freiburg. Recently We use Gadgetron for online reconstruction on our new scanner Cima.X (syngo MR XA61). However, the Siemens_to_ismrmrd converter doesn't work on the data from Cima.X. The error messages are as below:
-------error message------
Failed to find MEAS.sProtConsistencyInfo.tBaselineString/tMeasuredBaselineString
Search path: MEAS.ucMotionCorr not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.10.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.10.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.10.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.10.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.10.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.10.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.11.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.11.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.11.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.11.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.11.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.11.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.12.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.12.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.12.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.12.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.12.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.12.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.13.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.13.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.13.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.13.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.13.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.13.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.13.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.14.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.14.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.14.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.14.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.14.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.14.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.15.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.15.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.15.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.15.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.15.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.15.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.16.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.16.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.16.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.16.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.16.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.16.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.17.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.17.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.17.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.17.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.17.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.17.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.18.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.18.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.18.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.18.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.18.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.18.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.19.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.19.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.19.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.19.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.19.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.19.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.20.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.20.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.20.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.20.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.20.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.20.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.21.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.21.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.21.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.21.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.21.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.21.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.22.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.22.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.22.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.22.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.22.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.22.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.23.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.23.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.23.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.23.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.23.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.23.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.24.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.24.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.24.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.24.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.24.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.24.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.25.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.25.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.25.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.25.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.25.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.25.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.26.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.26.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.26.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.26.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.26.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.26.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.27.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.27.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.27.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.27.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.27.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.27.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.28.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.28.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.28.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.28.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.28.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.28.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.29.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.29.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.29.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.29.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.29.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.29.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.30.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.30.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.30.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.30.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.30.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.30.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.31.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.31.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.31.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.31.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.31.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.31.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.32.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.32.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.32.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.32.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.32.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.32.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.33.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.33.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.33.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.33.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.33.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.33.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.34.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.34.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.34.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.34.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.34.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.34.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.35.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.35.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.35.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.35.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.35.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.35.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.36.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.36.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.36.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.36.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.36.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.36.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.37.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.37.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.37.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.37.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.37.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.37.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.38.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.38.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.38.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.38.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.38.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.38.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.39.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.39.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.39.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.39.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.39.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.39.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.40.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.40.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.40.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.40.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.40.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.40.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.41.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.41.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.41.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.41.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.41.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.41.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.42.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.42.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.42.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.42.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.42.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.42.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.43.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.43.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.43.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.43.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.43.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.43.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.44.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.44.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.44.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.44.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.44.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.44.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.45.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.45.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.45.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.45.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.45.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.45.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.46.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.46.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.46.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.46.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.46.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.46.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.47.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.47.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.47.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.47.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.47.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.47.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.48.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.48.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.48.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.48.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.48.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.48.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.49.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.49.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.49.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.49.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.49.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.49.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.50.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.50.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.50.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.50.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.50.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.50.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.51.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.51.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.51.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.51.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.51.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.51.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.52.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.52.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.52.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.52.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.52.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.52.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.53.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.53.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.53.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.53.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.53.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.53.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.54.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.54.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.54.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.54.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.54.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.54.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.55.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.55.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.55.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.55.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.55.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.55.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.56.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.56.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.56.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.56.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.56.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.56.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.57.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.57.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.57.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.57.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.57.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.57.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.58.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.58.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.58.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.58.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.58.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.58.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.59.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.59.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.59.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.59.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.59.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.59.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.60.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.60.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.60.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.60.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.60.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.60.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.61.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.61.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.61.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.61.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.61.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.61.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.62.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.62.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.62.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.62.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.62.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.62.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.63.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.63.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.63.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.63.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.63.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.63.lADCChannelConnected not found.
-------error message------
It seems the parameter maps (IsmrmrdParameterMap_Siemens.xml and IsmrmrdParameterMap_Siemens.xsl) are not applied to the Cima.X raw data? It would be greatly appreciated if you could shed some light on it:)
Best regards,
Qingping Chen

MR XA50 "terminate called after throwing an instance of 'std::runtime_error' what(): Malformed file"

Hello,

We have successfully used the convertor on other various versions/sequences, but we are breaking on XA50 software. Tried multiple fixes including forcing the parameter maps, nothing worked. I loaded the same .dat file in MATLAB to make sure there wasn't any issue with it, and seems not. I ensured to compile the convertor as recently as it stands today.

I believe @FlorianKnoll had the same issue in 2019 with XA10 (mar19,2019) - closed issue. Could you help or let me know if more changes need to be made for the convertor to work with XA50?

Thanks,
Radhika

userParameterLong "element is not expected"

Hi,

I'm attempting to run siemens_to_ismrmrd using a modified stylesheet (and map) with the aim of passing spectroscopy relevant parameters through to the xml header in the h5 file.

If I append

<xsl:if test="siemens/MEAS/sSpecPara/lVectorSize">  
  <userParameterLong>  
    <name>VectorSize</name>  
      <value>  
        <xsl:value-of select="siemens/MEAS/sSpecPara/lVectorSize"/>  
      </value>  
  </userParameterLong>  
</xsl:if>

to the end of the userParameters block in IsmrmrdParameterMap_Siemens.xsl (and make the appropriate modifications in the map) I receive the following error.

element userParameterLong: Schemas validity error : Element '{http://www.ismrm.org/ISMRMRD}userParameterLong': This element is not expected. Expected is one of ( {http://www.ismrm.org/ISMRMRD}userParameterDouble, {http://www.ismrm.org/ISMRMRD}userParameterString, {http://www.ismrm.org/ISMRMRD}userParameterBase64 ).
libc++abi.dylib: terminating with uncaught exception of type std::runtime_error: Generated XML is not valid according to the ISMRMRD schema
Abort trap: 6

However, if I modify userParameterLong to userParameterDouble or userParameterString I see the parameter in the resulting .h5 file (though as a floating point or string variable).

This would appear to be a bug as the schema here and the embedded version in siemens_to_ismrmrd both list userParameterLong as an acceptable element of the userParameters type (line 237).

I also noticed that the debug xml (processed.xml) isn't generated in this case even with the appropriate -X argument. See line 1478 of main.cpp.

Relevant files can be downloaded here. The command I am running is:

siemens_to_ismrmrd -f meas_MID306_sLASER_metab_FID115669.dat -o test.h5 --user-map IsmrmrdParameterMap_Siemens_VB17_svs.xml --user-stylesheet IsmrmrdParameterMap_Siemens_svs.xsl --X

Sorry if I've missed anything obvious. Any help much appreciated.

Will

Required Boost version is missing

The readme does not state the version of Boost that is required for the package. The CMakeLists.txt does not check for any particular version.

find_package(Boost COMPONENTS system thread program_options filesystem timer REQUIRED)

I built siemens_to_ismrmrd with Boost 1.78 and got the following error, SyneRBI/SIRF-SuperBuild#663 (comment).

/home/runner/work/SIRF-SuperBuild/SIRF-SuperBuild/build/sources/siemens_to_ismrmrd/XNode.cpp:39:22: error: expected primary-expression before ‘const’
  BOOST_FOREACH(XNode const& cnode, node.children_) {
                      ^~~~~
/home/runner/work/SIRF-SuperBuild/SIRF-SuperBuild/build/sources/siemens_to_ismrmrd/XNode.cpp:39:2: error: ‘BOOST_FOREACH’ was not declared in this scope
  BOOST_FOREACH(XNode const& cnode, node.children_) {
  ^~~~~~~~~~~~~
/home/runner/work/SIRF-SuperBuild/SIRF-SuperBuild/build/sources/siemens_to_ismrmrd/XNode.cpp:39:2: note: suggested alternative: ‘BOOST_FINAL’
  BOOST_FOREACH(XNode const& cnode, node.children_) {
  ^~~~~~~~~~~~~
  BOOST_FINAL
/home/runner/work/SIRF-SuperBuild/SIRF-SuperBuild/build/sources/siemens_to_ismrmrd/XNode.cpp: In member function ‘std::__cxx11::string XProtocol::getXMLString::operator()(const XProtocol::XNodeParamMap&) const’:
/home/runner/work/SIRF-SuperBuild/SIRF-SuperBuild/build/sources/siemens_to_ismrmrd/XNode.cpp:98:22: error: expected primary-expression before ‘const’
  BOOST_FOREACH(XNode const& cnode, node.children_) {
                      ^~~~~
/home/runner/work/SIRF-SuperBuild/SIRF-SuperBuild/build/sources/siemens_to_ismrmrd/XNode.cpp:98:2: error: ‘BOOST_FOREACH’ was not declared in this scope
  BOOST_FOREACH(XNode const& cnode, node.children_) {
  ^~~~~~~~~~~~~
/home/runner/work/SIRF-SuperBuild/SIRF-SuperBuild/build/sources/siemens_to_ismrmrd/XNode.cpp:98:2: note: suggested alternative: ‘BOOST_FINAL’
  BOOST_FOREACH(XNode const& cnode, node.children_) {
  ^~~~~~~~~~~~~
  BOOST_FINAL
/home/runner/work/SIRF-SuperBuild/SIRF-SuperBuild/build/sources/siemens_to_ismrmrd/XNode.cpp: In member function ‘std::__cxx11::string XProtocol::getXMLString::operator()(const XProtocol::XNodeParamArray&) const’:
/home/runner/work/SIRF-SuperBuild/SIRF-SuperBuild/build/sources/siemens_to_ismrmrd/XNode.cpp:115:22: error: expected primary-expression before ‘const’
  BOOST_FOREACH(XNode const& cnode, node.children_) {
                      ^~~~~
/home/runner/work/SIRF-SuperBuild/SIRF-SuperBuild/build/sources/siemens_to_ismrmrd/XNode.cpp:115:2: error: ‘BOOST_FOREACH’ was not declared in this scope
  BOOST_FOREACH(XNode const& cnode, node.children_) {
  ^~~~~~~~~~~~~
/home/runner/work/SIRF-SuperBuild/SIRF-SuperBuild/build/sources/siemens_to_ismrmrd/XNode.cpp:115:2: note: suggested alternative: ‘BOOST_FINAL’
  BOOST_FOREACH(XNode const& cnode, node.children_) {
  ^~~~~~~~~~~~~
  BOOST_FINAL

Downgrading Boost to 1.72 makes it work. I chose 1.72 because I suppose you are using Ubuntu 20.04 (ubuntu-latest) in your pipelines. In this case Boost is 1.71 but for whatever reason they haven't released the files, and then I chose the closer version.

Converter trajectoryDescription: Schemas validity error for XA30, but not VE11C

Dear ISMRMRD developers,

We recently switched from a Prisma 3T with software version VE11C to one with XA30. Previously, we were able to use siemens_to_ismrmrd with our own custom spirals, but now we receive the following error for some spirals:

$ siemens_to_ismrmrd -f meas_MID00070_FID06168_diffSpiral_511_b2k_4Avg.dat -z 2

Software version: syngo MR XA30
Protocol name: diffSpiral_511_b2k_4Avg
Dwell time: 5200
Using parameter XSL: IsmrmrdParameterMap_Siemens.xsl   

element trajectoryDescription: Schemas validity error : 
Element '{http://www.ismrm.org/ISMRMRD}trajectoryDescription': This element is not expected. 
Expected is one of ( {http://www.ismrm.org/ISMRMRD}encodedSpace, 
{http://www.ismrm.org/ISMRMRD}reconSpace, 
{http://www.ismrm.org/ISMRMRD}encodingLimits, 
{http://www.ismrm.org/ISMRMRD}parallelImaging, 
{http://www.ismrm.org/ISMRMRD}echoTrainLength ).                                                                 
terminate called after throwing an instance of 'std::runtime_error'                    
what():  Generated XML is not valid according to the ISMRMRD schema

This is our low-resolution spiral; interestingly, the high-resolution spiral (4 interleaves, but only one is used per scan) runs through:

siemens_to_ismrmrd -f meas_MID00076_FID06174_diffSpiral_508_Intl2_b2k_4Avg.dat -Z                                        

Software version: syngo MR XA30 
Protocol name: diffSpiral_508_Intl2_b2k_4Avg
Dwell time: 3300
Using parameter XSL: IsmrmrdParameterMap_Siemens.xsl
Study time: 13:06:24
Last scan reached... 
WARNING: Unexpected number of mystery bytes detected: 32                                 
ParcFileEntries[1].off_ = 40983040                               
ParcFileEntries[1].len_ = 1085101056  
siemens_dat.tellg() = 1126084064                    
Please check the result.                          
WARNING: End of file was not reached during conversion. There are 32 additional bytes at the end of file.

I have attached the diff-file for both xml_raw.xml files, is there anything that could explain the different behavior?
diff_xml_raw_76vs70.txt

  • The only obvious differences I noted were the number of segments (4 vs 1 for high vs low res) and the regridMode (2 vs 1).

I have never looked deeply in the XML header and stylesheets before, so my apologies for any naive questions. Here is what I tried:

  1. I installed the latest release of siemens_to_ismrmrd and ismrmrd in a Windows Subsystem Linux, but this does not change the behavior
  2. I changed the .xsl file (interestingly, the default is IsmrmrdParameterMap_Siemens, see above, though the documentation says it should use IsmrmrdParameterMap_Siemens_NX), no luck:
$ siemens_to_ismrmrd -f meas_MID00070_FID06168_diffSpiral_511_b2k_4Avg.dat -m IsmrmrdParameterMap_Siemens.xml 
-x IsmrmrdParameterMap_Siemens_NX.xsl -z 2  
  1. I looked for obvious differences in the outputs of the xml_raw.xml files, but apart from system/sequence specifics (other diffusion gradient b-value, directions, TR), I didn't not see anything suspicious between the VE11 and XA variants. The two spirals on the same system only differ in the used gradient waveform (read from a text file), and the diff is attached. I could provide the full files, if this is helpful.
$ siemens_to_ismrmrd -f meas_MID00070_FID06168_diffSpiral_511_b2k_4Avg.dat -z 2 -X
  1. Could <ucTrajectory>4</ucTrajectory> be an issue? I believe this is SPIRAL, but we are not using Brian Hargreaves's parameterization for the gradient waveform, so also didn't populate such parameters. In general, is it better to use "other" in such cases?

Thank you for your help and

All the best,
Lars

Installation instructions missing dependency [+ possible step]

The installation instructions in the readme of siemens_to_ismrmrd is missing a dependency required for ismrmrd.

https://github.com/ismrmrd/siemens_to_ismrmrd/blob/master/README.mkd?plain=1#L29 currently doesn't include libpugixml-dev which is included in the documentation for the ismrmrd package. cmake .. for the package then fails.

Will submit a PR to include.

I also had to run ldconfig for the ismrmrd dynamic library to be found, but I'm not sure if that is step specific to my setup.

Default build fails if no static libraries present

By default siemens_to_ismrmrd uses static libraries for Boost, but Ubuntu (debian?) doesn't include those in its boost package apparently. It would be better to check that if the static libraries are present, and if not try to find boost again without this requirement.

nxva11b, IRIS protocol is not complete

Hi,

I am trying to convert a Siemens nxva11b raw-data to ismrmrd format and I found that many information in the IRIS protocol is not complete.

The attached snippet is from "xml_raw.xml"
using the -X option. Infomation like "IRIS/DERIVED/phaseOversampling", "IRIS/DERIVED/imageColumns" are missing

Thank you,
Fei

Capture

Partial fourier representation

Hi,

When I convert a siements .dat file to ismrmrd format, I get the following values in xml_pre.xml

<sKSpace>
            <lBaseResolution>320</lBaseResolution>
            <lPhaseEncodingLines>270</lPhaseEncodingLines>
            <lPartitions>24</lPartitions>
            <dPhaseResolution>0.83</dPhaseResolution>
            <dSliceResolution>1</dSliceResolution>
            <ucTrajectory>1</ucTrajectory>
            <lImagesPerSlab>16</lImagesPerSlab>
            <dSliceOversamplingForDialog>0.5</dSliceOversamplingForDialog>
            <ucPhasePartialFourier>16</ucPhasePartialFourier>
            <ucSlicePartialFourier>16</ucSlicePartialFourier>
            <lRadialViews>64</lRadialViews>
</sKSpace>

I could not find a mapping value for ucPhasePartialFourier=16 in IsmrmrdParameterMap_Siemens.xsl.

<xsl:variable name="partialFourierPhase">
        <xsl:choose>
            <xsl:when test="siemens/MEAS/sKSpace/ucPhasePartialFourier = 1">0.5</xsl:when>
            <xsl:when test="siemens/MEAS/sKSpace/ucPhasePartialFourier = 2">0.625</xsl:when>
            <xsl:when test="siemens/MEAS/sKSpace/ucPhasePartialFourier = 4">0.75</xsl:when>
            <xsl:when test="siemens/MEAS/sKSpace/ucPhasePartialFourier = 8">0.875</xsl:when>
            <xsl:otherwise>1.0</xsl:otherwise>
        </xsl:choose>
</xsl:variable>

I would like to know whether this data treated as partial fourier or fully sampled ?
In the generated ISMRMRD .h5 file, I could see only 270 acquistions and encodedSpace.matrixSize.y is 320.

Thanks all!

tell CMake what version of ISMRMRD is required

Currently any version of ISMMRDR is accepted, leading to compilation (or worse run-time) problems.

It would also be nice to have a version tag to refer to that is safe to use with ISMRMRD 1.5.0.

Partial Fourier Error

The partial fourier detection discussed in issue 18 is not correct. The current code

<xsl:choose>
	<xsl:when test="siemens/MEAS/sKSpace/ucPhasePartialFourier = 1">0.5</xsl:when>
	<xsl:when test="siemens/MEAS/sKSpace/ucPhasePartialFourier = 2">0.75</xsl:when>
	<xsl:when test="siemens/MEAS/sKSpace/ucPhasePartialFourier = 4">0.875</xsl:when>
	<xsl:otherwise>1.0</xsl:otherwise>
</xsl:choose>

is incorrect. The correct values are described in GDCM:

> the partial fourier information can take only 5 different values which are encoded as follows:
>
> 4/8 partial fourier = 0x1
> 5/8 = 0x2
> 6/8 = 0x4
> 7/8 = 0x8
> 8/8 = 0x10

Therefore, the code should be

<xsl:choose>
	<xsl:when test="siemens/MEAS/sKSpace/ucPhasePartialFourier = 1">0.5</xsl:when>
	<xsl:when test="siemens/MEAS/sKSpace/ucPhasePartialFourier = 2">0.625</xsl:when>
	<xsl:when test="siemens/MEAS/sKSpace/ucPhasePartialFourier = 4">0.75</xsl:when>
	<xsl:when test="siemens/MEAS/sKSpace/ucPhasePartialFourier = 8">0.875</xsl:when>
	<xsl:otherwise>1.0</xsl:otherwise>
</xsl:choose>

You can test this with a sample dataset that includes 6/8 partial Fourier images.

error while loading shared libraries: libismrmrd.so.1.13

Hi,

I installed ismrmrd and siemens_to_ismrmrd successfully on Ubuntu 20.4, However, I got this error when running the command siemens_to_ismrmrrd related to libismrmrd.so.1.13: cannot open shared object file: no such file or directory. I checked that the file libismrmrd.so.1.13 is in /usr/local/lib/. I wonder how to fix this.
Thanks!

Hu

linking errors with hdf5

On some systems (including our Ubuntu18.04 docker image), we encounter linking problems

libhdf5.so.103, needed by /opt/SIRF-SuperBuild/INSTALL/lib/libismrmrd.so, not found

when using ISMRMRD v1.4.2, with everything fine with v1.4.1. See See SyneRBI/SIRF-SuperBuild#568
for more details.

The reason is that this project still uses ISMRMRD_LIBRARIES as opposed to the ISMRMRD::ISMRMRD target:

target_link_libraries(siemens_to_ismrmrd
${ISMRMRD_LIBRARIES}
${Boost_LIBRARIES} )

ISMRMRD_LIBRARIES in ISMRMRD v1.4.2 is set to ismrmrd while in v1.4.1 it included the HDF5 libraries.

I don't really understand why in many cases this linking error does not appear, but it looks like a clear bug to me.

Make errors ignorable

Hi,

Thanks for making this utility. I have a sequence that produces a .dat file that always fails to convert around line 1150:

if (xml_file_is_valid(xml_config, schema_file_name_content) <= 0)
{
std::cerr << "Generated XML is not valid according to the ISMRMRD schema" << std::endl;
return -1;
}

If I comment out the return statement (as above) then the generated file works fine for my purposes. I wonder if you could make a command-line option to ignore errors? It's not ideal but sometimes you have no way to fix the .dat files and the errors may be unimportant. Thanks!

patient_table_position

We are trying to wrap our head around the geometry in the ISMRMRD header file. For one of our acquisitions has patient_table_position = (0,0,11750), and we've been baffled trying to figure out what the last value represents.

However, looking through the source code, it gets generated here:

scanhead.lPTABPosZ = mdh.ushPTABPosNeg;//TODO: Modify calculation

Does the TODO mean that the value cannot be trusted?

Issue in importing ISMRMRD as a project in eclipse

Hi all,

I used CMake-gui 3.8 for making project ISMRMRD and generating code for Eclipse Neon. I set generator as Eclipse CDT4-MinGW Makefiles. The cmake generated code for eclipse and I could import project in Eclipse neon.
But when I build the project in eclipse, shows errors.

G__~1.EXE: error: /EHsc: No such file or directory
G__~1.EXE: error: /W3: No such file or directory
CMakeFiles\ismrmrd.dir\build.make:87: recipe for target 'CMakeFiles/ismrmrd.dir/libsrc/ismrmrd.cpp.obj' failed

The build command used in eclipse IDE is
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/mingw32-make.exe
Is it a 32 bit verison of mingw that is being used? Is it the cause for error?

The complete log follows:

Build of project ISMRMRD-Release@ismrmrd-mingw-build ****
"C:\\PROGRA~1\\MINGW-~1\\X86_64~1.0-P\\mingw64\\bin\\mingw32-make.exe" all 
"C:\Program Files\CMake\bin\cmake.exe" -HE:\IMRI\gadgetron_eclipse\ismrmrd-master -BE:\IMRI\gadgetron_eclipse\ismrmrd-mingw-build --check-build-system CMakeFiles\Makefile.cmake 0
"C:\Program Files\CMake\bin\cmake.exe" -E cmake_progress_start E:\IMRI\gadgetron_eclipse\ismrmrd-mingw-build\CMakeFiles E:\IMRI\gadgetron_eclipse\ismrmrd-mingw-build\CMakeFiles\progress.marks
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/mingw32-make -f CMakeFiles\Makefile2 all
mingw32-make[1]: Entering directory 'E:/IMRI/gadgetron_eclipse/ismrmrd-mingw-build'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/mingw32-make -f CMakeFiles\ismrmrd.dir\build.make CMakeFiles/ismrmrd.dir/depend
mingw32-make[2]: Entering directory 'E:/IMRI/gadgetron_eclipse/ismrmrd-mingw-build'
"C:\Program Files\CMake\bin\cmake.exe" -E cmake_depends "MinGW Makefiles" E:\IMRI\gadgetron_eclipse\ismrmrd-master E:\IMRI\gadgetron_eclipse\ismrmrd-master E:\IMRI\gadgetron_eclipse\ismrmrd-mingw-build E:\IMRI\gadgetron_eclipse\ismrmrd-mingw-build E:\IMRI\gadgetron_eclipse\ismrmrd-mingw-build\CMakeFiles\ismrmrd.dir\DependInfo.cmake --color=
mingw32-make[2]: Leaving directory 'E:/IMRI/gadgetron_eclipse/ismrmrd-mingw-build'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/bin/mingw32-make -f CMakeFiles\ismrmrd.dir\build.make CMakeFiles/ismrmrd.dir/build
mingw32-make[2]: Entering directory 'E:/IMRI/gadgetron_eclipse/ismrmrd-mingw-build'
[  5%] Building C object CMakeFiles/ismrmrd.dir/libsrc/ismrmrd.c.obj
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\gcc.exe -DUNICODE -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_UNICODE -D_WIN32 -D_WINDOWS -D__func__=__FUNCTION__ -Dismrmrd_EXPORTS @CMakeFiles/ismrmrd.dir/includes_C.rsp -O3 -DNDEBUG   -o CMakeFiles\ismrmrd.dir\libsrc\ismrmrd.c.obj   -c E:\IMRI\gadgetron_eclipse\ismrmrd-master\libsrc\ismrmrd.c
[ 10%] Building CXX object CMakeFiles/ismrmrd.dir/libsrc/ismrmrd.cpp.obj
C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\G__~1.EXE  -DUNICODE -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_UNICODE -D_WIN32 -D_WINDOWS -D__func__=__FUNCTION__ -Dismrmrd_EXPORTS @CMakeFiles/ismrmrd.dir/includes_CXX.rsp /EHsc /W3 -O3 -DNDEBUG   -o CMakeFiles\ismrmrd.dir\libsrc\ismrmrd.cpp.obj -c E:\IMRI\gadgetron_eclipse\ismrmrd-master\libsrc\ismrmrd.cpp
G__~1.EXE: error: /EHsc: No such file or directory
G__~1.EXE: error: /W3: No such file or directory
CMakeFiles\ismrmrd.dir\build.make:87: recipe for target 'CMakeFiles/ismrmrd.dir/libsrc/ismrmrd.cpp.obj' failed
mingw32-make[2]: Leaving directory 'E:/IMRI/gadgetron_eclipse/ismrmrd-mingw-build'
CMakeFiles\Makefile2:66: recipe for target 'CMakeFiles/ismrmrd.dir/all' failed
mingw32-make[1]: Leaving directory 'E:/IMRI/gadgetron_eclipse/ismrmrd-mingw-build'
Makefile:150: recipe for target 'all' failed
mingw32-make[2]: *** [CMakeFiles/ismrmrd.dir/libsrc/ismrmrd.cpp.obj] Error 1
mingw32-make[1]: *** [CMakeFiles/ismrmrd.dir/all] Error 2
mingw32-make: *** [all] Error 2

Output processed.xml in debug even when XML is not valid

Would it be possible to output processed.xml (see this line) even when xml_file_is_valid returns < 0? This would assist in figuring out what has gone wrong. Perhaps if xml_file_is_valid returns <0 then the file could be saved as invalid_processed.xml or similar?

Happy to make a PR if this is a desirable addition.

Error converting Spiral from mMR to ismrmrd

When converting a spiral acquired with WIP 992, I get the following error.
I am using the mMR.

WARNING: Unexpected number of mystery bytes detected: 32 
ParcFileEntries[1].off_ = 17950720 
ParcFileEntries[1].len_ = 1045908128 
siemens_dat.tellg() = 1063858816 
Please check the result. 
WARNING: End of file was not reached during conversion. There are 384 additional bytes at the end of file. 

Have encountered any similar problems?

Mis-use of userindices

The Siemens converter currently (ab)uses the user indices 5 and 6 for storing the kspace center line and partition number.

ismrmrd_acq.idx().user[6] = scanhead.ushKSpaceCentrePartitionNo;

This causes issues with any code trying to group acquisitions together based on their idx, as neither of these parameters are indices.

Has the need for this been solved, so we could simply remove the lines?
Alternatively, if it is required for compatibility with legacy software, could we add a command line flag to disable this behavior?

Help needed in understanding acquisitions from siemens

Hello all,

I have a .dat file TSE sequence, cartesian trajectory data from a 1.5T Siemens machine. I use siemens_to_ismrmrd for converting this data to ISMRMRD format. The getNumberOfAcquisitions() method called on this ISMRMRD dataset returns value 34841 for an encoded space of 640x272x1 (ROXPE1XPE2) with an encoding limit of 0-112-224 (min-centre-max) and 21 slices. The average and repetition values are zeroes. I expected the number of acquisitions as 225 (PE1 lines) x 21 (slices) = 4725.

A random examination of acquired data shows the following pattern:

  1. PE lines 0-96 acquired for slices 0-19 repeatedly 5 times. Data for PE line 97 acquired only for 0-13 slices repeatedly 5 times (number_of_samples: 512; center_sample: 190).
  2. PE line 0 acquired for slice 0 continously 22 times (number of samples 1024; center_sample: 0)
  3. PE lines 0-96 acquired for slices 0-19 repeatedly 2 times. Data for PE line 97 acquired only for 13 slices repeatedly 2 times (number_of_samples: 512; center_sample: 190).
  4. PE line 94 acquired for slice 0-18 continously 27 times (number_of_samples: 512; center_sample: 256)
  5. PE lines selected randomly (27 Nos.) acquired for slices 0-18 (number_of_samples: 512; center_sample: 256).
  6. PE lines 157-183 acquired for 0-18 slices (number_of_samples: 512; center_sample: 256).
  7. PE line 94 acquired for slice 0-18 continously 27 times (number_of_samples: 512; center_sample: 256).
  8. PE lines selected randomly (27 Nos.) acquired for slices 0-18 (number_of_samples: 512; center_sample: 256).
  9. PE lines 157-183 acquired for 0-18 slices (number_of_samples: 512; center_sample: 256).
  10. PE line 94 acquired for slice 0-18 continously 27 times (number_of_samples: 512; center_sample: 256).
  11. PE lines selected randomly (27 Nos.) acquired for slices 0-18 (number_of_samples: 512; center_sample: 256).
  12. PE lines 157-183 acquired for 0-18 slices (number_of_samples: 512; center_sample: 256).
  13. PE lines 0-224 acquired for slices 0-20 (number_of_samples: 640; center_sample: 236, channels-5).

I assume that only the data lines (4725 lines) from point (13) represent the actual k-space data. If so, can I have an explanation on remaining data acquisitions (numbered points 1-12). I also examine the flag field in acquisition header. For majority lines flag is set as zero and some lines with flag values
ISMRMRD_ACQ_IS_PHASECORR_DATA or ISMRMRD_ACQ_FIRST_IN_SLICE or ISMRMRD_ACQ_LAST_IN_SLICE.

Thanks.

Failed to find YAPS.iNoOfFourierLines array

Hi,

I was trying to convert some unusual data (CRT MRSI, i.e. non-cartesian fast spectroscopic imaging trajectory). This causes version 1.2.8 to throw an error terminating with uncaught exception of type std::runtime_error: Failed to find YAPS.iNoOfFourierLines array. This clearly corresponds to the block in readXmlConfig of main.cpp

sstream << "Failed to find YAPS.iNoOfFourierLines array";

Is there any work around to this? Or does siemens_to_ismrmrd currently assume that all data has this value set? Unfortunately it's not my sequence, so I don't have access to the source, but I can enquire with the authors if anything unusual was set in the sequence code / further details.

Unable to convert the raw data to ISMRMRD format due to "invalid_argument"

Hello,

I tried to convert the raw data to ISMRMRD format, but I got this error which I did not have before.

Recently, I reinstalled the tool, and the tool does not work with data that could be converted with the previous tool.

My current tool version is

Converter version is: 1.2.8
Built against ISMRMRD version: 1.13.3

The error I got is shown as below.
For the simple run, I did not provide -o option, but the result with the option "-o" is the same as it shows.
For this, I did not explicitly provide xml and xsl files, so it uses the defualt xml and xsl.

Thank you in advance!

Siemens file is: meas_MID00087_FID03345_t2_space_cor_p3_trig_384_iso_PFx.dat
Output file not specified -- using meas_MID00087_FID03345_t2_space_cor_p3_trig_384_iso_PFx.mrd
Converting measurement 1 into file meas_MID00087_FID03345_t2_space_cor_p3_trig_384_iso_PFx.mrd in group dataset
Using parameter map: IsmrmrdParameterMap_Siemens.xml
This file contains 2 measurement(s).
VD line file detected.
Protocol name [1]: AdjCoilSens
Protocol name [2]: t2_space_cor_p3_trig_384_iso_2
Number of parameter buffers: 7
Buffer Name: Config
Buffer Name: Dicom
Buffer Name: Meas
Buffer Name: MeasYaps
Buffer Name: Phoenix
Buffer Name: Protocol
Buffer Name: Spice
Trajectory is: 1
Failed to find YAPS.lFirstFourierLine array
Failed to find YAPS.lFirstFourierPartition array
center_line = 16
center_partition = 16
Failed to find MEAS.sProtConsistencyInfo.tBaselineString/tMeasuredBaselineString
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.21.sCoilElementID.
CoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.21.sCoilElementID.
CoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.21.sCoilElementID.
Element not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.21.
ElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.21.
RxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.21.
ADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.22.sCoilElementID.
CoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.22.sCoilElementID.
CoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.22.sCoilElementID.
Element not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.22.
ElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.22.
RxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.22.
ADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.23.sCoilElementID.
CoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.23.sCoilElementID.
CoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.23.sCoilElementID.
Element not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.23.
ElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.23.
RxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.23.
ADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.24.sCoilElementID.
CoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.24.sCoilElementID.
CoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.24.sCoilElementID.
Element not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.24.
ElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.24.
RxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.24.
ADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.25.sCoilElementID.
CoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.25.sCoilElementID.
CoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.25.sCoilElementID.
Element not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.25.
ElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.25.
RxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.25.
ADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.26.sCoilElementID.
CoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.26.sCoilElementID.
CoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.26.sCoilElementID.
Element not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.26.
ElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.26.
RxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.26.
ADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.27.sCoilElementID.
CoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.27.sCoilElementID.
CoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.27.sCoilElementID.
Element not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.27.
ElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.27.
RxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.27.
ADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.28.sCoilElementID.
CoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.28.sCoilElementID.
CoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.28.sCoilElementID.
Element not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.28.
ElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.28.
RxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.28.
ADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.29.sCoilElementID.
CoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.29.sCoilElementID.
CoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.29.sCoilElementID.
Element not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.29.
ElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.29.
RxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.29.
ADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.30.sCoilElementID.
CoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.30.sCoilElementID.
CoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.30.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.30.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.30.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.30.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.31.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.31.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.31.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.31.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.31.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.31.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.32.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.32.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.32.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.32.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.32.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.32.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.33.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.33.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.33.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.33.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.33.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.33.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.34.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.34.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.34.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.34.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.34.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.34.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.35.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.35.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.35.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.35.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.35.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.35.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.36.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.36.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.36.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.36.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.36.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.36.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.37.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.37.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.37.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.37.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.37.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.37.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.38.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.38.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.38.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.38.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.38.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.38.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.39.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.39.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.39.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.39.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.39.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.39.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.40.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.40.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.40.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.40.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.40.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.40.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.41.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.41.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.41.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.41.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.41.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.41.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.42.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.42.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.42.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.42.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.42.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.42.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.43.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.43.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.43.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.43.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.43.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.43.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.44.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.44.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.44.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.44.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.44.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.44.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.45.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.45.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.45.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.45.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.45.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.45.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.46.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.46.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.46.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.46.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.46.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.46.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.47.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.47.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.47.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.47.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.47.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.47.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.48.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.48.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.48.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.48.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.48.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.48.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.49.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.49.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.49.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.49.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.49.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.49.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.50.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.50.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.50.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.50.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.50.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.50.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.51.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.51.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.51.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.51.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.51.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.51.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.52.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.52.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.52.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.52.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.52.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.52.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.53.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.53.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.53.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.53.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.53.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.53.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.54.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.54.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.54.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.54.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.54.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.54.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.55.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.55.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.55.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.55.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.55.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.55.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.56.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.56.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.56.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.56.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.56.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.56.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.57.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.57.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.57.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.57.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.57.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.57.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.58.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.58.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.58.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.58.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.58.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.58.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.59.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.59.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.59.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.59.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.59.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.59.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.60.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.60.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.60.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.60.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.60.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.60.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.61.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.61.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.61.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.61.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.61.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.61.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.62.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.62.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.62.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.62.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.62.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.62.lADCChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.63.sCoilElementID.tCoilID not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.63.sCoilElementID.lCoilCopy not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.63.sCoilElementID.tElement not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.63.lElementSelected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.63.lRxChannelConnected not found.
Search path: MEAS.sCoilSelectMeas.aRxCoilSelectData.0.asList.63.lADCChannelConnected not found.
Baseline:
Software version: syngo MR XA50
Protocol name: Initialized by sequence
Dwell time: 4000
Using parameter XSL: IsmrmrdParameterMap_Siemens.xsl
terminate called after throwing an instance of 'std::invalid_argument'
what(): stoi
Aborted

WIPs in IsmrmrdParameterMap_Siemens.xml

Could we dump all the WIP parameters in the default IsmrmrdParameterMap_Siemens.xsl file? The following code adds them all to g.xml.userParameters.

                <xsl:for-each select="siemens/MEAS/sWipMemBlock/alFree">
                    <!-- xsl:if test=". &gt; 0" -->
                      <xsl:variable name="CurLong" select="position()"/>
                      <userParameterLong>
                        <name>sWipMemBlock.alFree[<xsl:value-of select="$CurLong - 1" />]</name>
                        <value>
                          <xsl:value-of select="."/>
                        </value>
                      </userParameterLong>
                    <!-- /xsl:if -->
                </xsl:for-each>

                <xsl:for-each select="siemens/MEAS/sWipMemBlock/adFree">
                    <!-- xsl:if test=". &gt; 0" -->
                      <xsl:variable name="CurDouble" select="position()"/>
                      <userParameterDouble>
                        <name>sWipMemBlock.adFree[<xsl:value-of select="$CurDouble - 1" />]</name>
                        <value>
                          <xsl:value-of select="."/>
                        </value>
                      </userParameterDouble>
                    <!-- /xsl:if -->
                </xsl:for-each>

Conversion problem with Magnetom Sola data

I have multiple Siemens Magnetom Sola raw files provided by collaborators. I was not present at the time of exporting from the scanner, but I know they were exported as anonymized.

Unfortunately I keep getting an error stating that there is an "Unexpected number of mystery bytes detected: 32". This repeated for AdjFre files, for the ep2d sequence and t2_tse, I guess for others it would be similar. I tried to modify the conversion parameters via supplying non-default xml files but this does not help. My goal is only to get the H5 file, which I will further process in Python in a custom way.

The exact error messages I get are:

WARNING: Unexpected number of mystery bytes detected: 32
ParcFileEntries[0].off_ = 10240
ParcFileEntries[0].len_ = 1127008
siemens_dat.tellg() = 1137216
Please check the result.
WARNING. End of file was not reached during conversion. There are 448 additional bytes at the end of file

With the numbers changing from file to file obviously.
The output .h5 file appears, but is too small (incomplete?). From a 7GB EPI the output is 124 MB for example.

The converter works fine when I try to convert my older files from Siemens Avanto, that were exported from the scanner using twix and "Copy total RAID file" option.

Thank you in advance

*.dat to *.h5 conversion gives errors. Resulting *.h5-files cannot be opened with matlab or h5py

Hallo,

I very much apreciate your efforts to make raw data accessible!

I installed siemens_to_ismrmrd on a virtual Ubuntu machine according to the manual without problems.

When I try to convert BOLD or T1 *.dat files (from a SIEMENS MAGNETOM TrioTim syngo MR B17) to *.h5 files according to the manual, a *.h5 file is produced (of appropriate size), but the output (pasted below) contains different error messages.
I tried all the different ways from the manual to use the siemens_to_ismrmrd command.

Subsequently, the *.h5 file cannot be opened either with Matlab or h5py.

Is there anything obvious?

Thank you very much for your help!

Marco

running_siemens_to_ismrmrd.txt

Convert syngo XA10 files

Hi,

is anybody using the siemens_to_ismrmd tool successfully to convert files from the XA10 software version that runs on the new Vida Scanners? I am getting the following error when trying to convert files and I'd like to find out if this is an issue on my end or if the converter simply does not support XA10. The debug output "VD line file detected" made me a bit suspicious.

Siemens file is: XXXX.dat
Parameter XSL stylesheet is: IsmrmrdParameterMap_Siemens.xsl
Parameter map file is: IsmrmrdParameterMap_Siemens.xml
This file contains 1 measurement(s).
VD line file detected.
Protocol name: AX T2
Number of parameter buffers: 7
Buffer Name: Config
Buffer Name: Dicom
Buffer Name: Meas
Buffer Name: MeasYaps
Buffer Name: Phoenix
Buffer Name: Protocol
Buffer Name: Spice
terminate called after throwing an instance of 'std::runtime_error'
what(): Failed to parse XProtocol for buffer Meas
Aborted (core dumped)

Best wishes, Florian

Unknown CMake command "set_and_check".

Error

I got an error, "Unknown CMake command "set_and_check"." on Ubuntu 20.04 LTS on WSL while I installed siemens-to-ismrmrd tool.
To be more specific, I could install "ismrmrd' tool, but I got the error during the following step to install "siemens-to-ismrmrd".


Envornment versions

  • Ubuntu: 20.04 LTS on WSL
  • CMake: 3.16.3
  • apt: 2.0.2 (amd64)

Reproduce the error

  1. Run the new terminal on Ubuntu 20.04 LTS

  2. Followed the installation steps described in https://github.com/ismrmrd/siemens_to_ismrmrd

    1. Install ISMRMRD

      cd ismrmrd
      cd build
      cmake ..
      make
      sudo make install

      I could install ISMRMRD. (I got help from the issue opened in ismrmrd/ismrmrd#227)

    2. Set the ISMRMRD environmental variable:

      echo "export ISMRMRD_HOME=/usr/local/ismrmrd" >> $HOME/.bash_profile
      source $HOME/.bash_profile

    3. Clone siemens_to_ismrmrd to local

      git clone https://github.com/ismrmrd/siemens_to_ismrmrd.git

    4. Install siemens_to_ismrmrd

      cd siemens_to_ismrmrd
      mkdir build
      cd build
      cmake ..

    Then, I get this error

    CMake Error at /mnt/c/Users/z0048drc/Documents/Github/ISMRMRD_Convertor/ismrmrd/build/ISMRMRDConfig.cmake:55 (set_and_check):
    Unknown CMake command "set_and_check".
    Call Stack (most recent call first):
    CMakeLists.txt:70 (find_package)

Corresponding screenshot:
2023-02-07 22_07_20-Cmder


I have no clue to solve this idea. Can you help me to solve this problem?
Have I missed something in the process?

Thanks

Error in position field for multi-stack dataset - Siemens raw data

Hi,

We noticed an error in the calculation of the "position" field for a 2-stack dynamic (cine) scan acquisition. Each stack is orthogonal to each other. We never had this issue for other tests before including single slice slice dynamic scan, or a multi-slice (but one single stack) acquisitions.

I used the latest master branch version of the converter. The following link points to a google drive directory with the original Siemens raw data, the converted noise and data ISMRMRD files, a few of the dicom files exported from the Siemens console and a very simple Python Jupyter Notebook to show the error.

https://drive.google.com/drive/folders/1Pp7WRDF9NDT8qid53T5bHVWn-tkRvW-D?usp=sharing

It is the Z coordinate the one that is wrong; X, and Y are ok. Below we have print of the `position' field for the first ten entries.

F=h5py.File('DATA_meas_MID00038_FID04558_probe_test.h5','r')
d=F['dataset']['data']
for n in range(10):
    print n, d[n][0][16]
F.close()
0 [-23.68401909  70.12107086 -81.45278168]
1 [-23.68401909  70.12107086 -81.45278168]
2 [-28.18401909  68.66828156 -79.51573944]
3 [-23.68401909  70.12107086 -81.45278168]
4 [-28.18401909  68.66828156 -79.51573944]
5 [-23.68401909  70.12107086 -81.45278168]
6 [-28.18401909  68.66828156 -79.51573944]
7 [-23.68401909  70.12107086 -81.45278168]
8 [-28.18401909  68.66828156 -79.51573944]
9 [-23.68401909  70.12107086 -81.45278168]

When opening the exported DICOMs we can see the expected values

A=pydicom.read_file('Siemens DICOM/mag_1.dcm')
print A.ImagePositionPatient,CenterImage(A)
A=pydicom.read_file('Siemens DICOM/mag_2.dcm')
print A.ImagePositionPatient, CenterImage(A)
['-113.68401908875', '-19.878929138184', '-111.45278167725'] [ -23.68401909   70.12107086 -111.45278168]
['-28.184019088745', '-21.331718444824', '-19.515739440918'] [ -28.18401909   68.66828156 -109.51573944]

You can especially see the problem in the [ -23.68401909 70.12107086 -111.45278168] vs [-23.68401909 70.12107086 -81.45278168], which is for a transverse image, so Z remains constant in all image.

Data was converted with siemens_to_ismrmrd -f meas_MID00038_FID04558_probe_test.dat -z 2 -o DATA_meas_MID00038_FID04558_probe_test.h5

Any help to point us how we can fix this would be greatly appreciated, as I mentioned, we only have seen this in this specific multi-stack scan, any other datasets do not have this issue.

Thanks

Sam

VE11C support

Does the master branch support VE11C raw data? I've been experiencing issues with incorrect values being parsed. To name a few, the ismrmrd acquisition header's position attribute is simply wrong compared to the DICOMs made by Siemens console, and patientName is parsed incorrectly to "xxxxxxxx".

I'm running the command siemens_to_ismrmrd -f meas.dat -z 2 -X true

Here's a raw dataset and dicom for comparison: https://sickkidsca-my.sharepoint.com/:f:/g/personal/eric_song_sickkids_ca/EuAqiECBkPpGoVFII6des_0BWAkA5TPKD9Jdz1tUuETsEw?e=ImNvMt

Privacy issue

When I try to run a container instance of the converter, I perpetually get the error thrown: "Error response from daemon: pull access denied." How to circumvent this to run/ utilize the tool? I even created a local branch from my clone of the master branch, just in case that the master branch was somehow restricted. Please excuse my very basic question as I am both new to Docker and GitHub. Thank you for any insight.

Pulseq acquisitions fail to convert when '3D' is selected

When sequence mode is in 3D, the converter fails with the following error:

Using parameter map: IsmrmrdParameterMap_Siemens.xml
This file contains 2 measurement(s).
VD line file detected.
Protocol name [1]: AdjQuietCoilSens
Protocol name [2]: trueFISP_prep
Number of parameter buffers: 6
Buffer Name: Config
Buffer Name: Dicom
Buffer Name: Meas
Buffer Name: MeasYaps
Buffer Name: Phoenix
Buffer Name: Spice
Trajectory is: 1
Failed to find YAPS.lFirstFourierLine array
Failed to find YAPS.lFirstFourierPartition array
center_line = 32
center_partition = 0
Baseline: 000
Software version: syngo MR E11
Protocol name: trueFISP_prep
Dwell time: 1000
Using parameter XSL: IsmrmrdParameterMap_Siemens.xsl
element center: Schemas validity error : Element '{http://www.ismrm.org/ISMRMRD}center': '-4' is not a valid value of the atomic type 'xs:unsignedShort'.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Generated XML is not valid according to the ISMRMRD schema
[1]    10507 IOT instruction (core dumped)  siemens_to_ismrmrd -Z -f meas_MID00211_FID15064_trueFISP_prep.dat -X

I am attaching the intermediate XML files. I used xmllint --schema /usr/local/share/ismrmrd/schema/ismrmrd.xsd xml_raw.xml and it passed the validity check, so I could not figure out where the issue is and which center causes the issue. As it is a Pulseq acquisition, it is very likely that some headers were not set properly for 3D mode, but I am trying to figure out what is the issue first.

processed.txt
xml_raw.txt

The same acquisition converts successfully if 2D is selected.

Thanks!

libhdf5.so.103: cannot open shared object file: No such file or directory

I am using linux ubuntu 18.04 and compiled ismrmd and siemens_to_ismrmrd
now when I try to run the siemens_to_ismrmrd using the following command:
siemens_to_ismrmrd -f meas_MID03485_FID51095_se.dat
I get this error
siemens_to_ismrmrd error while loading shared libraries: libhdf5.so.103: cannot open shared object file: No such file or directory

Last scan not encountered

Hallo,

I'm really new to all of the ismrmrd stuff but I can't find an answer to my question. Why is the last scan not encountered?

Greets,
chris

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.