-
Notifications
You must be signed in to change notification settings - Fork 21
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
Should the Bruker reco_map_slope
parameter be multiplied or divided?
#29
Comments
Thanks your help in improving bruker2nifti, your feedback is very useful! Thanks for the link. Please check the screenshot (page D2-66) The code parses the offset parameter but it does not apply it to correct the intensity as it has no impact. Adding a "correct_offset" would have been even more confusing, as it has no visual effect. Do you think I should add it? About the intensity, to my understanding the b0 should have a lower intensity than the others, being the magnetic field some Tesla less stronger. Please correct me if I am wrong. |
Thank you for bruker2nifti! I had started hacking my own converter just by reading the reco, etc, files (here). I'm very happy that you are doing it right :D You are correct about the b0. I had a vague image of an exponential decrease in image intensity, but this is the first dwi data i analyse, i'm just starting to learn about it : ) I just realised that the value you are using for correcting the slope is not the same I was using! You use |
[and i'd be happy to have the complete format definition if it's ok!] |
I'm starting to learn about it too. For the complete format definition let me know where I can send you some files. |
I tried multiplying the slope factor in RECO_map_slope, and the results are really awful. I continued to the tensor fitting, and the result were also abnormal. I think that in fact the values are ment to be divided to recover the original image. In fact, in the manual (D-7-25) when they talk about reconstruction it's not the reconstruction of the original data, but the reconstruction of the data that's saved into the file:
The conversion formula is like this:
The important point is that the
Where |
Interesting! What is the ParaVision version used to create the files (do you have the parameter VisuCreatorVersion)? Would be helpful to have a copy of the RECO and visu_pars of your data. For what I understood, the visu_pars is filled from the reco file and other parameter files (method and acqp) to provide a stand-alone parameter file to convert to DICOM. My guess, that needs further investigations, is that the translation from reco+method+acqp to visu_pars for the DICOM conversion has not always been successful, in particular for old versions (check for example issue #11). Integrating this ParaVision "feature" into the converter may be not that straight. Probably @neurolabusc may have encountered this before. |
this link to my data should be working now: |
Thanks, I see that the VisuCreatorVersion is 5.1 and the VisuCorePosition is HeadSupine. And I agree the salt and pepper artefact can be caused by a mis-correction of the slope. Time-points between 163 and 165 seems problematic, as if the problem was also in the slice reconstruction other than the slope (in particular 165 slice z=41). Interestingly enough the protocol you used for the acquisition is a 2D (VisuAcqSize as dimension 2), while for my dataset is a 3D. More interestingly, in the data I have, acquired with a 2D protocol (that are correctly converted), the VisuCorePosition is again a (n_slices x 3) increasing from the z coordinate (stacks are inferior to superior). I think the "stack-direction" (x, y or z) when the acquisition protocol is 2D needs to be taken into account as a new variable. And this has an impact both on the orientation and the slope correction. Need to do more tests and will let you know! Thanks again for the data. |
Function |
the function
slope_corrector
applies the slope likedata[]=data[]*slope
, howeverHere, the slope is applied as
data[]=data[]/slope+offset
In my own data, applying the reco_map_slope values by dividing produces reasonable results: the values in the diffusion directions are smaller that those for b0 (the images look 'darker').
The text was updated successfully, but these errors were encountered: