Readout_time dwifslpreproc

Hi
I am struggling with choosing the correct readout_time parameter in dwifslpreproc

a) For our Siemens 7T data, the command mrinfo DWI_raw.mif shows a value
TotalReadoutTime = 0.329 is that the value required for dwifslpreproc? Is there a reason one is called readout the other total readout?

b) for our Philips 3T mrconvert does not seem to find a value called TotalReadoutTime, but I have found a way to compute the dwell time and this boils down to echo_spacing * EPFactor

Googling finds several sources telling Total Readout Time (again not readout time, which seems to generic to googleā€¦) is calculated as number of echoes * echo_spacing, which would suggest itā€™s the dwell-time..

Any clarification or pointer where one could read this up?
If dwell-time = TotalReadOutTime = readout-time I could share the information how to extract it from a Philips dicom header. Might be useful? Even potentially automatically importing it?

Best
Mark

Thereā€™s various definitions around, but what eddy & topup expect is documented here, and refers to the total readout time - the duration of the full echo train.

The simple term ā€˜readout timeā€™ is clear enough for regular k-space sampling where only one line is acquired at a time. But itā€™s a bit ill-defined for EPI, since it could correspond to the duration of a single line, or to the full raster. So itā€™s best to be explicit in EPI, and refer to total readout time or echo train length on the one hand, and inter-echo spacing on the other.

This is not the dwell time, which is normally understood to mean the time between subsequent samples. For the phase-encode direction, the dwell time is the inter-echo spacing. However, thatā€™s not the same as the total readout time, which is indeed dwell time Ɨ number of echoes (or equivalently, inter-echo spacing Ɨ EPFactor ā€“ assuming EPFactor is the number of echoes on a Philipsā€¦).

And yes, weā€™ve not managed to sort out import of this information from Philips DICOMs yet. The main sticking point is not getting the total readout time, but the correct phase-encoding direction ā€“ we can tell AP from LR, but not AP from PA (if I recall the details correctly; @rsmith will no doubt correct me if notā€¦).

Correct. Phillips DICOMS do not report total readout time or phase encoding direction. They report phase encoding ā€œaxisā€, so you know itā€™s either Aā€”>P or Pā€”>A, but cannot differentiate between the two. You must know what was explicitly entered into the settings during acquisition in a field called ā€œfat shift directionā€ to know the direction of the phase encoding.

1 Like

Does this mean that the fat shift direction entry can be used to figure this out? Or is that not recorded in the DICOM headersā€¦?

Not recorded in DICOM headers - extremely frustrating.

1 Like

O.K. that is not quite what a Philips document I got is saying.
I quote:


where ETL is the echo train length
and ES refers to echo spacing.

Assuming echo spacing = inter echo time this is still the total readout time, just with a name thatā€™s in disagreement with your terminology.

a) For our Siemens 7T data, the command mrinfo DWI_raw.mif shows a value
TotalReadoutTime = 0.329 is that the value required for dwifslpreproc? Is there a reason one is called readout the other total readout?

This is simply brevity of the command-line option. I considered calling it ā€œ-trtā€ for Total Readout Time, but decided it was too abstract, so went for -readout_time. But theyā€™re not intended to refer to different things.

Googling finds several sources telling Total Readout Time (again not readout time, which seems to generic to googleā€¦) is calculated as number of echoes * echo_spacing, which would suggest itā€™s the dwell-time..

Thereā€™s various definitions around, but what eddy & topup expect is documented here , and refers to the total readout time - the duration of the full echo train.

There is a slight nuance here: FSLā€™s convention (and what is calculated by MRtrix3 when reading from DICOM) is the time between the centre of the first echo and the centre of the last echo, which is not ā€œthe total time taken to perform the EPI readoutā€.

If dwell-time = TotalReadOutTime = readout-time I could share the information how to extract it from a Philips dicom header. Might be useful? Even potentially automatically importing it?

b) for our Philips 3T mrconvert does not seem to find a value called TotalReadoutTime, but I have found a way to compute the dwell time and this boils down to echo_spacing * EPFactor

If there are DICOM fields that can be used to calculate this parameter that MRtrix3 is not currently reading, then yes, this is something that would be useful to add to the code. Though Iā€™m constantly concerned around this code that calculations need to be correct in the presence of factors such as parallel imaging / segmented EPIā€¦

O.K. that is not quite what a Philips document I got is saying.
Assuming echo spacing = inter echo time this is still the total readout time, just with a name thatā€™s in disagreement with your terminology.

I reckon a large proportion of people in the know would disagree with Philipsā€™ definition of ā€œdwell timeā€ here.

One must also be wary here of parallel imaging; e.g. if only every second line is acquired, then either ES needs to correspond to the time between acquired *k-space lines and ETL needs to correspond to the number of acquired lines, or ES needs to correspond to the effective time in between k-space lines and ETL needs to correspond to the number of k-space lines in the phase encoding direction.

Their calculation also doesnā€™t include the minus-one effect of wanting the time between the centres of the first and last echoes, which is ultimately the parameter against which the magnitude of geometric distortions scales.

Hi,

Iā€™m sorry to open this old discussion but Iā€™m facing the same problem as @mschira when trying to process ADNI data. Did you find any solution to sort this issue with ā€œPhilips dwell timeā€ information after all this time?

Thanks!
Cristian