mschira
November 19, 2020, 3:22am
1
Hi I got some Siemens 7T DTI data (different protocols).
The sequence is based on a WIP (511).
The Siemens scanner automatically does some preprocessing, what they call DFC (dynamic field correction) and a basic tensor fit, which is obviously handy as it provides an online preview of the data including FAC maps, and it includes these results into the DICOM folder.
But when I trying to analyse the data using DWIFSLpreproc, the results were totally broken. I based the analysis on the “ORIG” data in the dicom source folder.
So I started to try and figure out why, so I also attempted different tools, such as the very basic FDT toolbox from FSL. To my surprise, FSL fared better than MRtrix. Still pretty bogged up, but better than MRtrix. Below I posted a screenshot of the FSL (left) estimate of FAC and MRtrix
The steps I did for MRtrix are hideously BASIC to avoid making a complicated mistake.
$ dwi2tensor DTI_1P5/ DTI_1P5_DFC_tensor.mif
$ tensor2metric DTI_1P5_DFC_tensor.mif -vec DTI_1P5_FACn.mif
Likewise I did no preprocessing on the FSL DTIFIT side.
I then discovered that when I do the exact same steps but instead of importing the “orig” data from but the “DFC” data, the result looked very good.
I then started comparing the ORIG data with the DFC data and noted while the changes to the data itself were minimal, the changes to the bvec was totally dramatic. I hence tried a hybrid dataset, where I took the images from the “ORIG” but combined it with the bvec from DFC, and ah and behold the results looked equally good.
Anybody any comment on
a) what exactly DFC does
b) if it is better to continue using proper preprocessing based on the DFC data or the hybrid?
Thanks
Mark
P.S. A different DWI sequence protocol I used (RESOLVE) worked fine using the “ORIG” data, even using the super basic steps without any preprocessing.
rsmith
November 22, 2020, 8:09am
2
Hi Mark,
If the contents of the diffusion gradient table in the DICOM headers varies drastically between the “orig” and DFC’d data, then I’d suggest that’s a major bug of which the WIP sequence developer needs to be made aware. But don’t say the word “bvec
”, or they might (reasonably) think you’ve got a downstream software issue and it’s therefore not their problem.
The first hit my own searching got was this Siemens manual (for software version D13):
So this is an online vendor eddy
substitute.
While this is likely preferable for the sake of QA at the console in terms of the clarity of e.g. FAC images, for more comprehensive image processing you would want to use the raw unprocessed images. I’d consider it unlikely that whatever algorithms Siemens have in place for eddy current correction are going to be superior to eddy
. Indeed from their description it sounds more like the older eddy_correct
, which is known to break down with higher b -value data, though it depends on what their “reference scans” are exactly. Moreover, its use would preclude application of dwidenoise
or mrdegibbs
, would possibly interfere with eddy
's own eddy current distortion / subject motion estimation if using such, and would likely interfere with susceptibility distortion correction if applied (advantage of the topup
/ eddy
combo is applying both corrections in a single step).
Cheers
Rob
mschira
November 23, 2020, 5:40am
3
Hi Rob
So in summary, you suggest I should work with what I call hybrid, i.e. the orid data but overwriting the bvec with those from the DFC images.
Also, you suggest I talk to Siemens and tell them (politely) that they probably buggered the DICOM export function resulting in wrong FAC values. I guess attaching a DICOM from the orig set and the corresponding DFC set should convince them it’s not my mistake.
Cheers
Mark
rsmith
November 24, 2020, 6:07am
4
Also, you suggest I talk to Siemens and tell them (politely) that they probably buggered the DICOM export function resulting in wrong FAC values.
FAC calculation with external software tools is too far downstream for Siemens to be interested. What you want to do is prove that within the DICOMs, the diffusion gradient table is vastly different between the original and DFC’d data despite the fact that it should differ only mildly at best, and the latter appears to be correct whereas the former appears to be corrupt.
You can actually show this in the raw data itself. The mrview
ODF overlay tool permits not just viewing of FODs expressed in the spherical harmonic basis, but also ODFs that are expressed based on a set of pre-defined directions with the values in each image volume corresponding to function amplitudes along those directions (“dixels”, not to be confused with “fixels” ). There are some ODF estimation methods that express their results in this way, but the raw DWI data are actually in this form as well. So you can load your raw DWI data as a “dixel ODF”, fix the scaling (as the default ODF display size is based on CSD outputs), select the b -value if your DWI data are multi-shell, and you should be able to see the DWI signal within each voxel as a glyph. Based on your FAC images, I’d expect you to see nice response-function-like shapes in single-fibre WM voxels in the DFC data, whereas the ORIG data will basically look like noise.
Just to add my 2¢:
The FSL version of the FAC doesn’t look too bad (just not scaled by FA), so it might be a simpler glitch than we think. Can you post the output of mrinfo -dwgrad
for both ORIG & DFC data? Might give us a hint as to what the difference is… I’m wondering if it might be similar to what’s going on in this thread …
mschira
November 24, 2020, 11:07pm
6
Sure I posted the full outputs below.
Comparing them a little, the B0s seem fine but looking at the first image its
Orig:
-0.577350269189626 -0.577350269189626 -0.577350269189626 2500
DFC:
-0.19658258481453 -0.966208352813789 -0.166723442564335 2500
I can’t see an immediate relationship, and the b-values look fine, too.
M.
? 0 [Orig]
mrinfo: [100%] reading DICOM series "WIP_Diffusion_511E_1p5_b2500/1000/0_60/30/6dir_ORIG"
0 0 0 0
-0.577350269189626 -0.577350269189626 -0.577350269189626 2500
0.577350269189626 -0.577350269189626 -0.577350269189626 995
-0.577350269189626 -0.577350269189626 0.577350269189626 2515
-0.577350269189626 -0.577350269189626 -0.577350269189626 2495
0.577350269189626 0.577350269189626 -0.577350269189626 995
0.577350269189626 0.577350269189626 0.577350269189626 2500
0.577350269189626 0.577350269189626 -0.577350269189626 2490
-0.577350269189626 0.577350269189626 -0.577350269189626 1000
0.577350269189626 -0.577350269189626 0.577350269189626 2510
-0.577350269189626 -0.577350269189626 0.577350269189626 2505
-0.577350269189626 -0.577350269189626 0.577350269189626 1000
0.577350269189626 -0.577350269189626 -0.577350269189626 2500
0.577350269189626 0.577350269189626 0.577350269189626 2510
0.577350269189626 -0.577350269189626 -0.577350269189626 1000
-0.577350269189626 -0.577350269189626 0.577350269189626 2500
0 0 0 0
0.577350269189626 -0.577350269189626 0.577350269189626 2510
-0.577350269189626 0.577350269189626 0.577350269189626 1005
0.577350269189626 0.577350269189626 0.577350269189626 2495
0.577350269189626 -0.577350269189626 0.577350269189626 2510
0.577350269189626 -0.577350269189626 -0.577350269189626 995
-0.577350269189626 -0.577350269189626 -0.577350269189626 2490
0.577350269189626 -0.577350269189626 -0.577350269189626 2500
-0.577350269189626 -0.577350269189626 0.577350269189626 1005
-0.577350269189626 -0.577350269189626 -0.577350269189626 2500
0.577350269189626 0.577350269189626 0.577350269189626 2505
0.577350269189626 -0.577350269189626 -0.577350269189626 995
-0.577350269189626 0.577350269189626 -0.577350269189626 2490
-0.577350269189626 0.577350269189626 0.577350269189626 2500
-0.577350269189626 0.577350269189626 -0.577350269189626 995
0.577350269189626 -0.577350269189626 0.577350269189626 2505
0 0 0 0
0.577350269189626 0.577350269189626 0.577350269189626 2510
0.577350269189626 0.577350269189626 0.577350269189626 1005
-0.577350269189626 -0.577350269189626 -0.577350269189626 2500
-0.577350269189626 0.577350269189626 0.577350269189626 2505
-0.577350269189626 0.577350269189626 0.577350269189626 1000
0.577350269189626 0.577350269189626 -0.577350269189626 2495
0.577350269189626 -0.577350269189626 -0.577350269189626 2490
0.577350269189626 -0.577350269189626 0.577350269189626 1005
-0.577350269189626 0.577350269189626 0.577350269189626 2500
0.577350269189626 0.577350269189626 -0.577350269189626 2490
-0.577350269189626 -0.577350269189626 0.577350269189626 1010
0.577350269189626 -0.577350269189626 -0.577350269189626 2495
0.577350269189626 -0.577350269189626 0.577350269189626 2505
-0.577350269189626 0.577350269189626 -0.577350269189626 990
-0.577350269189626 0.577350269189626 -0.577350269189626 2490
0 0 0 0
-0.577350269189626 0.577350269189626 0.577350269189626 2505
-0.577350269189626 -0.577350269189626 0.577350269189626 1005
-0.577350269189626 -0.577350269189626 0.577350269189626 2510
0.577350269189626 0.577350269189626 0.577350269189626 2505
-0.577350269189626 -0.577350269189626 0.577350269189626 1005
-0.577350269189626 -0.577350269189626 0.577350269189626 2505
-0.577350269189626 0.577350269189626 -0.577350269189626 2495
-0.577350269189626 -0.577350269189626 0.577350269189626 1010
0.577350269189626 0.577350269189626 -0.577350269189626 2495
-0.577350269189626 0.577350269189626 0.577350269189626 2510
-0.577350269189626 0.577350269189626 0.577350269189626 1005
0.577350269189626 0.577350269189626 -0.577350269189626 2490
0.577350269189626 0.577350269189626 0.577350269189626 2505
0.577350269189626 0.577350269189626 0.577350269189626 1000
-0.577350269189626 -0.577350269189626 -0.577350269189626 2490
0 0 0 0
-0.577350269189626 0.577350269189626 0.577350269189626 2495
0.577350269189626 0.577350269189626 0.577350269189626 1005
-0.577350269189626 0.577350269189626 -0.577350269189626 2495
-0.577350269189626 0.577350269189626 0.577350269189626 2505
0.577350269189626 -0.577350269189626 -0.577350269189626 995
-0.577350269189626 0.577350269189626 -0.577350269189626 2495
-0.577350269189626 0.577350269189626 -0.577350269189626 2490
0.577350269189626 -0.577350269189626 0.577350269189626 1010
0.577350269189626 -0.577350269189626 0.577350269189626 2500
0.577350269189626 0.577350269189626 -0.577350269189626 2500
-0.577350269189626 0.577350269189626 -0.577350269189626 1000
0.577350269189626 -0.577350269189626 0.577350269189626 2505
0.577350269189626 -0.577350269189626 0.577350269189626 2510
0.577350269189626 0.577350269189626 -0.577350269189626 990
-0.577350269189626 0.577350269189626 0.577350269189626 2505
0 0 0 0
-0.577350269189626 0.577350269189626 0.577350269189626 2510
0.577350269189626 0.577350269189626 0.577350269189626 1000
-0.577350269189626 0.577350269189626 -0.577350269189626 2490
0.577350269189626 -0.577350269189626 -0.577350269189626 2500
-0.577350269189626 0.577350269189626 -0.577350269189626 990
-0.577350269189626 -0.577350269189626 -0.577350269189626 2500
0.577350269189626 0.577350269189626 -0.577350269189626 2490
-0.577350269189626 -0.577350269189626 0.577350269189626 1005
0.577350269189626 0.577350269189626 -0.577350269189626 2495
0.577350269189626 0.577350269189626 0.577350269189626 2500
-0.577350269189626 0.577350269189626 0.577350269189626 1010
0.577350269189626 -0.577350269189626 -0.577350269189626 2500
0.577350269189626 0.577350269189626 0.577350269189626 2510
-0.577350269189626 0.577350269189626 -0.577350269189626 995
0.577350269189626 -0.577350269189626 -0.577350269189626 2495
? 1 [DFC]
mrinfo: [100%] reading DICOM series "WIP_Diffusion_511E_1p5_b2500/1000/0_60/30/6dir_DFC_MIX"
0 0 0 0
-0.19658258481453 -0.966208352813789 -0.166723442564335 2500
0.847648252904548 0.0189600098412905 -0.530219725561663 995
-0.0287044391606048 -0.337955440117272 0.940724282490686 2515
-0.422590560234095 -0.547696564382489 -0.722111966224526 2495
0.387953317133496 0.599052934690993 -0.700448288714611 995
0.647113604042127 0.757122371129353 0.0894969194948961 2500
0.801209839496465 0.308122641343506 -0.512955388884404 2490
-0.813252862487785 0.555678424867062 -0.172746258404301 1000
0.0245539186233047 -0.750625987913713 0.660270952979762 2510
-0.857989806567428 -0.425288028212136 0.288068715562488 2505
-0.791008977636316 -0.606163849220113 0.0828865803215891 1000
0.732061508449153 -0.616585608693784 -0.289669009386346 2500
0.374311864530444 0.217859445176042 0.90134781866898 2510
0.885392419024703 -0.458837654312262 -0.0744867190766649 1000
-0.939377127525192 -0.33899154910692 0.0515300098642432 2500
0 0 0 0
0.296043991638178 -0.679384764913087 0.671412165676884 2510
-0.573824074260265 0.347062412094337 0.741804296233589 1005
0.408575441978488 0.912718162080714 -0.00341537993294626 2495
0.681211090690039 -0.325323419432189 0.655832389174121 2510
0.457508088596811 -0.594061039223865 -0.661647814584734 995
-0.111167887051732 -0.18728021872639 -0.975995809705272 2490
0.725248925136618 -0.687635532277082 -0.0342253026019582 2500
-0.0845680432228334 -0.915366264884017 0.393640505001385 1005
-0.458237704116156 -0.850464217723174 -0.258319222859749 2500
0.89935860421422 0.0786477029919876 0.430079806361488 2505
0.792964171953336 -0.246072445090171 -0.557365386228553 995
-0.518627801608751 0.206201392687817 -0.829762730575482 2490
-0.0689395618265242 0.99330091039994 0.0927396259094053 2500
-0.168324346393123 0.870209253051398 -0.463036467586578 995
0.100056270636335 -0.976834306212446 0.189165221203048 2505
0 0 0 0
0.225556985076866 0.432764957300237 0.87283362573629 2510
0.658934647254889 0.499095783366476 0.562768628899016 1005
-0.955077742779573 -0.22543587357491 -0.192367284517389 2500
-0.203966651602911 0.626100786312799 0.752592459710029 2505
-0.976357737619704 0.205659105285835 0.0665574984743538 1000
0.157153690162609 0.981986338530345 -0.104907333433088 2495
0.420604092980149 -0.147743274559465 -0.895133577624475 2490
0.421420018752778 -0.456756956971154 0.783440010500395 1005
-0.534002339832303 0.825629138818417 0.182148363120792 2500
0.637628337606976 0.514725994213246 -0.573138075826192 2490
-0.134752034166078 -0.58143231482761 0.802357995262907 1010
0.278339591298191 -0.797221269644392 -0.535691440236392 2495
0.643832360106044 -0.689599307981026 0.331560984605201 2505
-0.24803784864794 0.29488772405902 -0.922777576579206 990
-0.58559718595654 0.0512322722708657 -0.808981575858032 2490
0 0 0 0
-0.0159730699247954 0.806460136203014 0.591072677217104 2505
-0.52611494093683 -0.368154350655557 0.76659340136504 1005
-0.466979734859559 -0.116209923652038 0.876598642980517 2510
0.758245560277519 0.211003131728884 0.616880335818897 2505
-0.47950694865509 -0.738077247145018 0.474673638870242 1005
-0.697638308291541 -0.626912160492331 0.346816859208076 2505
-0.347636231208535 0.904266845226715 -0.247892160777324 2495
-0.216692513184798 -0.108453611593977 0.970196974259289 1010
0.57604345653702 0.797274026728613 -0.180355378308565 2495
-0.326862195120891 0.39856123966352 0.856918924775635 2510
-0.683419571410624 0.498221386448113 0.5335851754862 1005
0.228760881541553 0.786138629662641 -0.574155478967566 2490
0.836868981238057 0.371079258285524 0.402430729830417 2505
0.231302765296812 0.875303672202039 0.424667531365035 1000
-0.567942587856242 -0.329925101327281 -0.754049497323178 2490
0 0 0 0
-0.326831517977484 0.944749550872602 0.0250887421476505 2495
0.250209665148799 0.724919241834758 0.641784400156193 1005
-0.782798434152544 0.451343813925809 -0.428386943217495 2495
-0.866789502309519 0.370956446751115 0.333267570129175 2505
0.656598967422148 -0.09385314677276 -0.748377834266234 995
-0.878029377419488 0.197325109193795 -0.436035794023843 2495
-0.760910888358538 0.0673377863148854 -0.645352804682548 2490
0.0518267491553292 -0.0787020887173157 0.995550083774555 1010
0.97881812314534 -0.0547082101757997 0.197286830633963 2500
0.996476149555425 0.0646608164600995 -0.0534252953375868 2500
-0.929281816875069 0.318124405506895 -0.187702337348942 1000
0.555994010749247 -0.823243260336158 0.114635048401695 2505
0.432763104505585 -0.772291601577277 0.465061047080803 2510
0.291727100085292 0.366027620107015 -0.883696260258365 990
-0.942289973993836 0.11363991289365 0.314921538018949 2505
0 0 0 0
-0.0623882863067528 0.402707876160593 0.913199905940606 2510
0.486294251214224 0.716716694957899 0.499835053197175 1000
-0.575845189521024 0.570282410008661 -0.585815918646983 2490
0.0363726416491391 -0.935396952410989 -0.351723715947187 2500
-0.13837449316337 0.536896122273946 -0.832222959025393 990
-0.691794398147336 -0.645194940188899 -0.324259155378239 2500
0.689291277540844 0.166482789067146 -0.70509645840164 2490
-0.339185682375551 -0.891453866243466 0.300438142104175 1005
0.940075064064181 0.160248764102072 -0.300963797704116 2495
0.849172239940541 0.502026325876797 0.163939241919098 2500
-0.162942240751101 0.153760770145298 0.974580654303858 1010
0.297026857310786 -0.909178552987111 -0.291837977008377 2500
0.0583542353599267 0.615811936563278 0.785729242170446 2510
-0.325293482004837 0.0363466768719596 -0.944914318679495 995
0.522859884658829 -0.734767580599844 -0.432127462115067 2495
mschira
November 24, 2020, 11:44pm
7
rsmith:
FAC calculation with external software tools is too far downstream for Siemens to be interested. What you want to do is prove that within the DICOMs, the diffusion gradient table is vastly different between the original and DFC’d data despite the fact that it should differ only mildly at best, and the latter appears to be correct whereas the former appears to be corrupt.
Yes, I am aware of that. I intend to identify the DICOM images, ideally a single DICOM from the ORIG and one from the DFC_MIX and then point out that the diffusion table is different.
Could you point me how to READ these values from a DICOM image? I have given the matlab command dicominfo and the mrtrix comman dcminfo a go.
Looking at the second IMA file in the source folder, which I hope is the second mosaic of the ORIG series.
Hence it should have a gradient values similar to
-0.577350269189626 -0.577350269189626 -0.577350269189626 2500
So when I use mrtrix dcminfo
dcminfo -csa raw/DTI_1P5/S01.MR.RESEARCH_2018_18040_INVIVO_ATLAS.0019.0002.2020.07.22.11.46.42.31250.19457172.IMA
I get
[CSA] EchoColumnPosition (6 items): 70
[CSA] EchoPartitionPosition (6 items): 32
[CSA] UsedChannelMask (6 items): -1
[CSA] Actual3DImaPartNumber (0 items):
[CSA] ICE_Dims (6 items): X_1_1_1_2_1_1_36_1_1_1_1_70
[CSA] B_value (6 items): 2500
[CSA] Filter1 (0 items):
[CSA] Filter2 (0 items):
[CSA] ProtocolSliceNumber (6 items): 0
[CSA] RealDwellTime (6 items): 1700
[CSA] PixelFile (0 items):
[CSA] PixelFileName (0 items):
[CSA] SliceMeasurementDuration (6 items): 25.00000000
[CSA] SequenceMask (6 items): 4
[CSA] AcquisitionMatrixText (6 items): 140p*140
[CSA] FlowEncodingDirection (0 items):
[CSA] PhaseEncodingDirectionPositive (6 items): 1
[CSA] NumberOfImagesInMosaic (6 items): 70
[CSA] TimeAfterStart (6 items): 53.48000000
[CSA] FlipAngle (0 items):
[CSA] SequenceName (0 items):
[CSA] RepetitionTime (0 items):
[CSA] EchoTime (0 items):
[CSA] NumberOfAverages (0 items):
[CSA] ImagePositionPatient (0 items):
[CSA] ImageOrientationPatient (0 items):
[CSA] PixelSpacing (0 items):
[CSA] SliceThickness (0 items):
[CSA] Comp_Algorithm (0 items):
[CSA] Comp_Blended (0 items):
[CSA] Comp_ManualAdjusted (0 items):
[CSA] Comp_AutoParam (0 items):
[CSA] Comp_AdjustedParam (0 items):
[CSA] Comp_JobID (0 items):
[CSA] FMRIStimulInfo (0 items):
[CSA] FlowEncodingDirectionString (0 items):
[CSA] RepetitionTimeEffective (0 items):
[CSA] CsiImagePositionPatient (0 items):
[CSA] CsiImageOrientationPatient (0 items):
[CSA] CsiPixelSpacing (0 items):
[CSA] CsiSliceThickness (0 items):
[CSA] OriginalSeriesNumber (0 items):
[CSA] OriginalImageNumber (0 items):
[CSA] ImaAbsTablePosition (6 items): 0 0 -2073
[CSA] NonPlanarImage (6 items): 0
[CSA] MoCoQMeasure (0 items):
[CSA] SlicePosition_PCS (6 items): -907.41736078 -963.48667856 232.00186291
[CSA] RBMoCoTrans (0 items):
[CSA] RBMoCoRot (0 items):
[CSA] MultistepIndex (6 items): 0
[CSA] ImaRelTablePosition (6 items): 0 0 0
[CSA] ImaCoilString (6 items): C:A32
[CSA] RFSWDDataType (6 items): predicted
[CSA] NormalizeManipulated (0 items):
[CSA] ImaPATModeText (6 items): p3
[CSA] B_matrix (6 items): 97.00000000 475.00000000 -82.00000000 2335.00000000 -403.00000000 69.00000000
[CSA] BandwidthPerPixelPhaseEncode (6 items): 30.18100000
[CSA] MosaicRefAcqTimes (72 items): 4155.00000000 0.00000000 4274.99999999 117.49999999 4392.50000000 237.50000000 4512.50000000 355.00000000 4629.99999999 474.99999999 4750.00000000 592.50000000 4867.49999999 712.49999999 4987.50000000 830.00000000 5105.00000000 950.00000000 5224.99999999 1067.49999999 5342.50000000 1187.50000000 5462.49999999 1304.99999999 5580.00000000 1425.00000000 5700.00000000 1542.50000000 5817.49999999 1662.49999999 5937.50000000 1780.00000000 6054.99999999 1899.99999999 6175.00000000 2017.50000000 6292.50000000 2137.50000000 6412.49999999 2254.99999999 6530.00000000 2375.00000000 6649.99999999 2492.49999999 6767.50000000 2612.50000000 6887.50000000 2730.00000000 7004.99999999 2849.99999999 7125.00000000 2967.50000000 7242.49999999 3087.49999999 7362.50000000 3205.00000000 7480.00000000 3325.00000000 7599.99999999 3442.49999999 7717.50000000 3562.50000000 7837.49999999 3679.99999999 7957.49999999 3800.00000000 8075.00000000 3917.50000000 8194.99999999 4037.49999999
[CSA] AutoInlineImageFilterEnabled (0 items):
[CSA] UsedPatientWeight (6 items): 80
[CSA] NumberOfPrescans (6 items): 0
[CSA] TransmitterCalibration (6 items): 240.00000000
[CSA] RfWatchdogMask (6 items): 0
[CSA] RfPowerErrorIndicator (0 items):
[CSA] SarWholeBody (0 items):
[CSA] Sed (6 items): 1000000.00000000 392.58075826 392.54388079
[CSA] SequenceFileOwner (6 items): USER
[CSA] Stim_mon_mode (6 items): 2
[CSA] Operation_mode_flag (6 items): 2
[CSA] dBdt_max (6 items): 0.00000000
[CSA] t_puls_max (6 items): 0.00000000
[CSA] dBdt_thresh (6 items): 0.00000000
[CSA] dBdt_limit (6 items): 0.00000000
[CSA] SW_korr_faktor (6 items): 1.00000000
[CSA] Stim_max_online (6 items): 29.92605400 1.57290292 1.31379902
[CSA] Stim_max_ges_norm_online (6 items): 0.89737529
[CSA] Stim_lim (6 items): 33.34209824 32.02310181 28.84300041
[CSA] Stim_faktor (6 items): 1.00000000
[CSA] CoilTuningReflection (0 items):
[CSA] CoilId (12 items): 255 184 185 238 186 187 0 0 0 0 0
[CSA] MiscSequenceParam (42 items): 40 96 1 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 19780 0 0 0 0 0 0
[CSA] DataFileName (0 items):
[CSA] RepresentativeImage (0 items):
[CSA] RelTablePosition (6 items): 0 0 0
[CSA] ReadoutOS (6 items): 2.00000000
[CSA] SliceArrayConcatenations (6 items): 1
[CSA] SliceResolution (6 items): 1.00000000
[CSA] AbsTablePosition (6 items): -2073
[CSA] AutoAlignMatrix (0 items):
[CSA] MeasurementIndex (0 items):
[CSA] CoilString (6 items): C:A32
[CSA] PATModeText (6 items): p3
[CSA] PatReinPattern (6 items): 1;HFS;80.00;47.82;2;0;2;-875180613
[CSA] ProtocolChangeHistory (6 items): 0
[CSA] Isocentered (6 items): 0
[CSA] MrPhoenixProtocol (6 items): <2212 text lines>
[CSA] FlowCompensation (6 items): No
[CSA] PostProcProtocol (0 items):
[CSA] RFSWDOperationMode (6 items): +0
[CSA] SARMostCriticalAspect (6 items): 10.00000000 9.76251564 9.56132507
[CSA] TablePositionOrigin (6 items): 0 0 -2073
[CSA] MrProtocol (0 items):
[CSA] MrEvaProtocol (0 items):
[CSA] AutoAlignData (0 items):
[CSA] FmriModelParameters (0 items):
[CSA] FmriModelInfo (0 items):
[CSA] FmriExternalParameters (0 items):
[CSA] FmriExternalInfo (0 items):
[CSA] B1rms (6 items): -9999.00000000 -9999.00000000
[CSA] B1rmsSupervision (6 items): NO
[CSA] TalesReferencePower (6 items): 1237.07410945
When I use matlab dicominfo
dicominfo([‘DTI_1P5/’ a(1).name])
ans =
struct with fields:
Filename: '/Volumes/marklab/raw/raw2020/human-brain-atlas-july-2020/source/S01/SES-03/DTI_1P5/S01.MR.RESEARCH_2018_18040_INVIVO_ATLAS.0019.0001.2020.07.22.11.46.42.31250.19457154.IMA'
FileModDate: '22-Jul-2020 11:51:48'
FileSize: 3308326
Format: 'DICOM'
FormatVersion: 3
Width: 1260
Height: 1260
BitDepth: 12
ColorType: 'grayscale'
FileMetaInformationGroupLength: 178
FileMetaInformationVersion: [2×1 uint8]
MediaStorageSOPClassUID: '1.2.840.10008.5.1.4.1.1.4'
MediaStorageSOPInstanceUID: '1.3.12.2.1107.5.2.34.18975.2020072211322893814687390'
TransferSyntaxUID: '1.2.840.10008.1.2.1'
ImplementationClassUID: '1.3.12.2.1107.5.2'
ImplementationVersionName: 'MR_VB17A'
SpecificCharacterSet: 'ISO_IR 100'
ImageType: 'ORIGINAL\PRIMARY\DIFFUSION\NONE\ND\MOSAIC'
InstanceCreationDate: '20200722'
InstanceCreationTime: '113246.562000'
SOPClassUID: '1.2.840.10008.5.1.4.1.1.4'
SOPInstanceUID: '1.3.12.2.1107.5.2.34.18975.2020072211322893814687390'
StudyDate: '20200722'
SeriesDate: '20200722'
AcquisitionDate: '20200722'
ContentDate: '20200722'
StudyTime: '103657.875000'
SeriesTime: '113246.562000'
AcquisitionTime: '113207.232500'
ContentTime: '113246.562000'
AccessionNumber: ''
Modality: 'MR'
Manufacturer: 'SIEMENS'
InstitutionName: 'University of Queensland'
InstitutionAddress: 'Research Road Bld 57,Brisbane,Queensland,AU,4072'
ReferringPhysicianName: [1×1 struct]
StationName: 'MRC18975'
StudyDescription: 'Research_2018^18040_inVivo_atlas'
SeriesDescription: 'WIP_Diffusion_511E_1p5_b2500/1000/0_60/30/6dir_ORIG'
InstitutionalDepartmentName: 'Department'
PerformingPhysicianName: [1×1 struct]
ManufacturerModelName: 'Investigational_Device_7T'
ReferencedImageSequence: [1×1 struct]
PatientName: [1×1 struct]
PatientID: 'S01'
PatientBirthDate: '19720925'
PatientSex: 'M'
PatientAge: '047Y'
PatientWeight: 80
ScanningSequence: 'EP'
SequenceVariant: 'SK\SP'
ScanOptions: 'PFP\FS'
MRAcquisitionType: '2D'
SequenceName: 'epse2d1_140'
AngioFlag: 'N'
SliceThickness: 1.5000
RepetitionTime: 8300
EchoTime: 66.4000
NumberOfAverages: 1
ImagingFrequency: 297.2211
ImagedNucleus: '1H'
EchoNumber: 1
MagneticFieldStrength: 6.9800
SpacingBetweenSlices: 1.6950
NumberOfPhaseEncodingSteps: 105
EchoTrainLength: 1
PercentSampling: 100
PercentPhaseFieldOfView: 100
PixelBandwidth: 2101
DeviceSerialNumber: '18975'
SoftwareVersion: 'syngo MR B17'
ProtocolName: 'WIP_Diffusion_511E_1p5_b2500/1000/0_60/30/6dir'
TransmitCoilName: '32Ch_Head_7T'
AcquisitionMatrix: [4×1 uint16]
InPlanePhaseEncodingDirection: 'COL'
FlipAngle: 180
VariableFlipAngleFlag: 'N'
SAR: 0.1220
dBdt: 0
PatientPosition: 'HFS'
Private_0019_10xx_Creator: 'SIEMENS MR HEADER'
Private_0019_1008: 'IMAGE NUM 4'
Private_0019_1009: '1.0'
Private_0019_100a: 70
Private_0019_100b: 25
Private_0019_100c: 0
Private_0019_100d: 'DIRECTIONAL'
Private_0019_100e: [3×1 double]
Private_0019_100f: 'Fast*'
Private_0019_1011: 'No'
Private_0019_1012: [3×1 int32]
Private_0019_1013: [3×1 int32]
Private_0019_1014: [3×1 double]
Private_0019_1015: [3×1 double]
Private_0019_1016: 45.1475
Private_0019_1017: 1
Private_0019_1018: 1700
Private_0019_1027: [6×1 double]
Private_0019_1028: 30.1810
Private_0019_1029: [70×1 double]
StudyInstanceUID: '1.3.12.2.1107.5.2.34.18975.30000020072122532192100000007'
SeriesInstanceUID: '1.3.12.2.1107.5.2.34.18975.2020072211322053206286162.0.0.0'
StudyID: '3'
SeriesNumber: 19
AcquisitionNumber: 3
InstanceNumber: 1
ImagePositionPatient: [3×1 double]
ImageOrientationPatient: [6×1 double]
FrameOfReferenceUID: '1.3.12.2.1107.5.2.34.18975.1.20200722103942750.0.0.0'
PositionReferenceIndicator: ''
SliceLocation: -64.7840
SamplesPerPixel: 1
PhotometricInterpretation: 'MONOCHROME2'
Rows: 1260
Columns: 1260
PixelSpacing: [2×1 double]
BitsAllocated: 16
BitsStored: 12
HighBit: 11
PixelRepresentation: 0
SmallestImagePixelValue: 0
LargestImagePixelValue: 4095
WindowCenter: 753
WindowWidth: 1806
WindowCenterWidthExplanation: 'Algo1'
Private_0029_10xx_Creator: 'SIEMENS CSA HEADER'
Private_0029_11xx_Creator: 'SIEMENS MEDCOM HEADER2'
Private_0029_1008: 'IMAGE NUM 4'
Private_0029_1009: '20200722'
Private_0029_1010: [12588×1 uint8]
Private_0029_1018: 'MR'
Private_0029_1019: '20200722'
Private_0029_1020: [116604×1 uint8]
Private_0029_1160: 'com'
RequestedProcedureDescription: 'Research_2018 18040_inVivo_atlas'
PerformedProcedureStepStartDate: '20200722'
PerformedProcedureStepStartTime: '103657.906000'
PerformedProcedureStepID: 'MR20200722103657'
PerformedProcedureStepDescription: 'Research_2018^18040_inVivo_atlas'
Private_0051_10xx_Creator: 'SIEMENS MR HEADER'
Private_0051_1008: 'IMAGE NUM 4'
Private_0051_1009: '1.0'
Private_0051_100a: 'TA 00.02'
Private_0051_100b: '140p*140'
Private_0051_100c: 'FoV 1890*1890'
Private_0051_100e: 'Tra>Cor(-15.3)>Sag(-2.2)'
Private_0051_100f: 'C:A32'
Private_0051_1011: 'p3'
Private_0051_1012: 'TP 0'
Private_0051_1013: '+LPH'
Private_0051_1015: 'R'
Private_0051_1016: 'p3 DIFFUSION/NONE/ND/MOSAIC'
Private_0051_1017: 'SL 1.5'
Private_0051_1019: 'A1/PFP/FS'
I’ve added the preformatted tags (the </>
button) to your output, just to help legibility. It seems pretty clear the ORIG ones are completely messed up. All the vector components have the exact same values – the only thing that changes is their sign. This simply can’t be right… The DFC ones are much more in line with expectations.
Just need to figure out whether the DICOM data are themselves problematic, or whether our DICOM import is faulty…
You’ll want to add the -all
option as well. The -csa
option only dumps out the Siemens proprietary CSA fields, which contain a lot of information, but not the b vectors in this instance (though you can see the full b-matrix, interestingly). As to which entry stores the information, it can be in various places. But it should be labelled kind of clearly as DiffusionDirection
, SiemensDWDirection
, or in the CSA parts as DiffusionGradientDirection
.
Looking at the MatLab output, the relevant field is actually labelled Private_0019_100e
, which is a Siemens private tag (not part of the standard), which is labelled in MRtrix as SiemensDWDirection
. You should be able to see the full contents using e.g.
dcminfo -a raw/DTI_1P5/S01.MR.RESEARCH_2018_18040_INVIVO_ATLAS.0019.0002.2020.07.22.11.46.42.31250.19457172.IMA | grep SiemensDWDirection
Or in Matlab by dumping out the contents of that Private_0019_100e
field.
mschira
November 26, 2020, 3:17am
9
Well, if the field Private_0019_100e is supposed to contain the bvec than yes those ORIG files are broken, they do contain 0.5774 0.5774 0.5774 sometimes with a -.
Whereas for the .IMAs of the DFC_MIX set they do contain reasonable bvec.
And Private_0019_100c seems to contain the b-values.
There don’t seem to be many other fields that could contain the bvec instead, none of them has 3 numbers that could be a bvec, so unless they have another way of storing it…
Thanks
M.
Ok, so it looks like their DICOM export is messed up, not our DICOM import. Thanks for confirming!
mschira
November 27, 2020, 4:45am
11
And I reported this back to Siemens and they seemed interested and are checking it.
Best
Mark
1 Like