Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
spichardo opened this issue Mar 23, 2018 · 1 comment
Closed

Comments

@spichardo
Copy link

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

@spichardo
Copy link
Author

Apologies, digging a little more on the code (and adding some printing) I noticed this issue comes from the very source of the Siemens raw data , so it is not a problem of the converter. So I'm closing this non-issue for the converter.
S

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant