Open juliam98 opened 5 months ago
Hi @juliam98,
Is this data from the Siemens PRESS sequence (svs_se) or another? What parameter do you change on the scanner to achieve these different conditions, and are there differences int he DICOM header to identify each case?
This is an area I want to improve spec2nii in as, as you say, it would help the user experience.
Will
Hi Will,
I used pydicom to read the dicom headers and this is the output I got header.txt. In my case I could use (0008, 103e) Series Description
, but I am not sure how helpful it would be to rely on this property in other cases- it's probably to used in a consisent enough way.
After some reading I found information about CSA headers and using this package I was able to access the contents of the (0029, 1120) [CSA Series Header Info]
array using this repository, and in the array I found thatWaterReferencedPhaseCorrection
property might be useful here to distinguish between ECC and noECC. The remaining issue was to find something to distinguish the ref file and I think the WaterReferencedImageUid
might be useful for this, although I am not sure what it means. Here's a summary:
WaterReferencedPhaseCorrection |
WaterReferencedImageUid |
|
---|---|---|
ref | None | None |
ECC | YES | None |
noECC | None | 1.3.12.2.1107.5.2.43.166001.2023102613381695701550251 |
I hope this is helpful.
Thanks, yes not terribly specific. Did you figure out exactly which sequence it is? It should be in the CSA headers.
I have attached the content of CSA Image Header Info
of the noECC
file: noecc_csa_headers.json, ECC
file: ecc_csa_headers.json, and `ref' file: ref_csa_headers.json
and here is the scanning protocol: MRS_scan.pdf
This is the best I've got, sorry if that's not very helpful. If you have any ideas where to look/ check let me know.
Hi @wtclarke,
I had a go with accessing the private headers and had some success- that is until our scanner had a software update and my code doesn't quite work for half the data.
I put the little that I figured out here, I managed to access a bit more headers than I get with spec2nii. Here is an example comparison between the headers I get from spec2nii
:
sub-223_ses-MRI2_voi-ACC_acq-pres_svs.json
and from the code I linked:
sub-223_ses-MRI2_voi-ACC_acq-pres_svs.txt
I was hoping if I post the bits I figured out then hopefully you might be able to incorporate the bits that work into spec2nii. The repository I linked has two example files if that helps. Happy to help if I can, but I didn't feel qualified enough to attempt to do a pull request myself.
Hi, I used the
spec2nii
command to generate sidecar files for Siemens dicom MRS data. I three types single-voxel MRS files:_ref
(water reference file),_ECC
(eddy current corrected), and_noECC
- for ACC and Hip.The resulting sidecar files are identical for the three filetypes, I can distingush only based on the brain region of the svs (see below), but no way to distinguish between
ref
,ECC
, andnoECC
.I was hoping to use the sidecar files to sort the fies into BIDS format (improvised since BIDS doesn't define MRS, but still). Do you know if there's a way I can do that?