Skip to content

Commit be9db44

Browse files
committed
DICOM: Change slice timing priority
Prioritise using slice timing data from DICOM AcquisitionTime field over CSA TimeAfterStart
1 parent 2ca3326 commit be9db44

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

core/file/dicom/mapper.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -308,20 +308,20 @@ namespace MR {
308308
slices_timing_str.push_back (temp);
309309
}
310310
}
311-
} else if (std::isfinite (frame.time_after_start)) {
312-
DEBUG ("Taking slice timing information from CSA TimeAfterStart field");
313-
default_type min_time_after_start = std::numeric_limits<default_type>::infinity();
314-
for (size_t n = 0; n != dim[1]; ++n)
315-
min_time_after_start = std::min (min_time_after_start, frames[n]->time_after_start);
316-
for (size_t n = 0; n != dim[1]; ++n)
317-
slices_timing_float.push_back (frames[n]->time_after_start - min_time_after_start);
318311
} else if (std::isfinite (static_cast<default_type>(frame.acquisition_time))) {
319312
DEBUG ("Estimating slice timing from DICOM AcquisitionTime field");
320313
default_type min_acquisition_time = std::numeric_limits<default_type>::infinity();
321314
for (size_t n = 0; n != dim[1]; ++n)
322315
min_acquisition_time = std::min (min_acquisition_time, default_type(frames[n]->acquisition_time));
323316
for (size_t n = 0; n != dim[1]; ++n)
324317
slices_timing_float.push_back (default_type(frames[n]->acquisition_time) - min_acquisition_time);
318+
} else if (std::isfinite (frame.time_after_start)) {
319+
DEBUG ("Taking slice timing information from CSA TimeAfterStart field");
320+
default_type min_time_after_start = std::numeric_limits<default_type>::infinity();
321+
for (size_t n = 0; n != dim[1]; ++n)
322+
min_time_after_start = std::min (min_time_after_start, frames[n]->time_after_start);
323+
for (size_t n = 0; n != dim[1]; ++n)
324+
slices_timing_float.push_back (frames[n]->time_after_start - min_time_after_start);
325325
}
326326
if (slices_timing_float.size()) {
327327
const size_t slices_acquired_at_zero = std::count (slices_timing_float.begin(), slices_timing_float.end(), 0.0f);

0 commit comments

Comments
 (0)