-
Notifications
You must be signed in to change notification settings - Fork 228
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
TotalReadoutTime inconsistent #308
Comments
@aalbajar can you post the json file? Can you confirm you are using dcm2niix version 1.0.20190410 which comes with the current release of MRIcroGL? @mharms validated the "TotalReadout" time for a huge variation of parameters with images shared in the dcm_qa repository with each new build of dcm2niix tested against this to check for regressions. The Excel spreadsheet notes how the readout time expected by FSL may different from actual readout time (e.g. both SENSE/GRAPPA and Partial Fourier influence actual readout time, but the latter does not reduce the effective readout time). This is discussed in issue 130. In brief, the JSON file follows the BIDS definition of readout time: TotalReadoutTime: This is actually the “effective” total readout time , defined as the readout duration, specified in seconds, that would have generated data with the given level of distortion. It is NOT the actual, physical duration of the readout train. A value of 200ms sounds very long for an EPI image. If you are using the current version of dcm2niix, you would need to send me a sample (e.g. send a dropbox link to the email address in my avatar) for further advice. I would not expect readout time to vary between different individuals, but some DICOM tags do show odd rounding errors that might explain this. Further, I want to emphasize that "TotalReadoutTime" only influences the calibrated images FSL creates for review, and it does not influence the resulting warped images that are used for subsequent stages. Most users ignore the calibrated images entirely, so this parameter generally has no influence. |
Dear @neurolabusc, "Modality": "MR", Thanks again, Ariadna |
I believe the critical lines are
The data was acquired with 128 lines in the phase encoding direction, but interpolated to 256 lines. I think if you upgrade to a modern version of dcm2niix it will use the acquired matrix rather than the interpolated matrix. Can you explain how this was acquired with 48 echoes? Assuming 5/8 partial Fourier there would be 80 steps (though again, FSL ignores this). Does this use in-plane acceleration (SENSE/GRAPPA for Siemens, but ASSET in GE terminology)? I do not know how to detect ASSET from a GE scanner, and have no hardware to investigate this. If you can explain how to detect this, I could upgrade dcm2niix. Regardless, TotalReadoutTime is a calibration value that does not influence subsequent steps of image processing. As an aside, I would urge all MRI users from avoiding saving interpolated data from the console. The resulting files add no new information, often remove high frequencies, quadruple disk space, always slow down subsequent processing steps and can actually impair subsequent processing (e.g. de-noising and de-Gibbs). |
Dear Sir, I was using a previous version of MRIcroGL. Here is the json file generated with the latest MRIcroGL version: |
I am closing this issue. Comments in the dcm2niix code (which I think @mharms added) explicitly note this 'TotalReadoutTime' should be 'based on the reconstructed matrix in the PE direction'. Further, the TOPUP guide states:
|
About all I can add is that the value for TotalReadoutTime is entirely defined by the following two "simple" equations in the context of Siemens data ( see #130 (comment) )
from which you can see that TotalReadoutTime is effectively just 1/BWPPPE (bandwidth-per-pixel-phase-encode). So, it all boils down to how the Siemens equivalent of BWPPPE is either extracted from the DICOMs, or computed from other parameters within To my knowledge, the GE calculations/values have not been validated for a wide range of acquisition manipulations as we did for Siemens with #130, and which @neurolabusc coded into the dcm_qa repository -- although see the efforts of @mick-d (#163) and the GE specific notes here. As @neurolabusc notes, a "correct" value for TotalReadoutTime is only important in the context of FSL's |
Dear experts,
I am analysing DTI data, which I converted using MRICROGL . I am trying to find my readout time and I found the following problem:
Nevertheless, when I check the generated .json file when using MRICROGL, it says "TotalReadoutTime": 0.20094.
Which readout-time should I use then for topup and why are they different?
Thank you in advance,
Ariadna
The text was updated successfully, but these errors were encountered: