Skip to content

Commit

Permalink
Merge pull request #1499 from MRtrix3/dicom_fix_slice_timing_mismatch…
Browse files Browse the repository at this point in the history
…_in_mosaic

DICOM: be more lenient with slice timing vector in Siemens mosaics
  • Loading branch information
thijsdhollander committed Nov 27, 2018
2 parents 9ed5c9f + 95facfc commit 9c3de06
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions core/file/dicom/mapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,13 +211,13 @@ namespace MR {
// Slice timing may come from a few different potential sources
vector<float> slices_timing;
if (image.images_in_mosaic) {
if (image.mosaic_slices_timing.size() != image.images_in_mosaic) {
WARN ("Number of entries in mosaic slice timing (" + str(image.mosaic_slices_timing.size()) + ") does not match number of images in mosaic (" + str(image.images_in_mosaic) + "); omitting");
if (image.mosaic_slices_timing.size() < image.images_in_mosaic) {
WARN ("Number of entries in mosaic slice timing (" + str(image.mosaic_slices_timing.size()) + ") is smaller than number of images in mosaic (" + str(image.images_in_mosaic) + "); omitting");
} else {
DEBUG ("Taking slice timing information from CSA mosaic info");
// CSA mosaic defines these in ms; we want them in s
for (auto f : image.mosaic_slices_timing)
slices_timing.push_back (0.001 * f);
for (size_t n = 0; n < image.images_in_mosaic; ++n)
slices_timing.push_back (0.001 * image.mosaic_slices_timing[n]);
}
} else if (std::isfinite (frame.time_after_start)) {
DEBUG ("Taking slice timing information from CSA TimeAfterStart field");
Expand Down

0 comments on commit 9c3de06

Please sign in to comment.