diff --git a/imagesets/multibandmsimageset.cpp b/imagesets/multibandmsimageset.cpp index bd5ef6b142274fc7787515737d85781f52e1fc07..c9e26673c0b827cf18763be7444d163ba662c9b0 100644 --- a/imagesets/multibandmsimageset.cpp +++ b/imagesets/multibandmsimageset.cpp @@ -152,21 +152,23 @@ template <class Type, class Functor> static void ValidateEqual(const Type& lhs, std::vector<const MSMetaData*>::const_iterator first, std::vector<const MSMetaData*>::const_iterator last, - Functor&& functor) { + Functor&& functor, const std::string& description) { if (!std::all_of(first, last, [&](const MSMetaData* element) { return lhs == functor(element); })) { - throw std::runtime_error("The loaded measurement sets are not compatible"); + throw std::runtime_error( + "The loaded measurement sets are not compatible in this dimension: " + + description); } } template <class Functor> static auto ExtractField(const std::vector<const MSMetaData*>& meta_data, - Functor&& functor) { + Functor&& functor, const std::string& description) { assert(!meta_data.empty()); auto result = functor(meta_data[0]); ValidateEqual(result, meta_data.begin() + 1, meta_data.end(), - std::forward<Functor>(functor)); + std::forward<Functor>(functor), description); return result; } @@ -198,15 +200,15 @@ void MultiBandMsImageSet::ProcessMetaData() { GetInitializedMetaData(readers_.begin(), readers_.end()); // These fields are only validated. - ExtractField(meta_data, GetBaselines); - ExtractField(meta_data, GetObservationTimes); + ExtractField(meta_data, GetBaselines, "baselines"); + ExtractField(meta_data, GetObservationTimes, "timesteps"); // These fields are validated and cached. - antennae_ = ExtractField(meta_data, GetAntennae); - fields_ = ExtractField(meta_data, GetFields); - sequences_ = ExtractField(meta_data, GetSequences); - observation_times_per_sequence_ = - ExtractField(meta_data, GetObservationTimesPerSequence); + antennae_ = ExtractField(meta_data, GetAntennae, "antennas"); + fields_ = ExtractField(meta_data, GetFields, "fields"); + sequences_ = ExtractField(meta_data, GetSequences, "sequences"); + observation_times_per_sequence_ = ExtractField( + meta_data, GetObservationTimesPerSequence, "timesteps per sequence"); std::tie(band_, channels_per_band_) = CombineBands(meta_data); } diff --git a/msio/memorybaselinereader.cpp b/msio/memorybaselinereader.cpp index 05820da5ff93ca948fdba5c35d5b2696f5f8feec..e8ce442e090b276b845ed52eac39d9d59b71df77 100644 --- a/msio/memorybaselinereader.cpp +++ b/msio/memorybaselinereader.cpp @@ -202,7 +202,7 @@ void MemoryBaselineReader::readSet(ProgressListener& progress) { } _areFlagsChanged = false; - Logger::Debug << "Reading toke " << watch.ToString() << ".\n"; + Logger::Debug << "Reading took " << watch.ToString() << ".\n"; } void MemoryBaselineReader::PerformFlagWriteRequests() {