Clean up smoothed data moment population

This commit is contained in:
Dan Paulat 2024-12-02 00:06:08 -06:00
parent e93697b162
commit 80d5be956d

View file

@ -770,38 +770,34 @@ void Level2ProductView::ComputeSweep()
} }
else if (gate > 0) else if (gate > 0)
{ {
const std::size_t dm1 = i;
const std::size_t dm2 = dm1 + 1;
const std::size_t& dm3 = dm1;
const std::size_t& dm4 = dm2;
// Validate indices are all in range // Validate indices are all in range
if (dm2 >= numberOfDataMomentGates || if (i + 1 >= numberOfDataMomentGates ||
dm4 >= numberOfNextDataMomentGates) i + 1 >= numberOfNextDataMomentGates)
{ {
continue; continue;
} }
if (dataMomentsArray8[dm1] < snrThreshold && const std::uint8_t& dm1 = dataMomentsArray8[i];
dataMomentsArray8[dm1] != RANGE_FOLDED && const std::uint8_t& dm2 = dataMomentsArray8[i + 1];
dataMomentsArray8[dm2] < snrThreshold && const std::uint8_t& dm3 = nextDataMomentsArray8[i];
dataMomentsArray8[dm2] != RANGE_FOLDED && const std::uint8_t& dm4 = nextDataMomentsArray8[i + 1];
nextDataMomentsArray8[dm3] < snrThreshold &&
nextDataMomentsArray8[dm3] != RANGE_FOLDED && if (dm1 < snrThreshold && dm1 != RANGE_FOLDED &&
nextDataMomentsArray8[dm4] < snrThreshold && dm2 < snrThreshold && dm2 != RANGE_FOLDED &&
nextDataMomentsArray8[dm4] != RANGE_FOLDED) dm3 < snrThreshold && dm3 != RANGE_FOLDED &&
dm4 < snrThreshold && dm4 != RANGE_FOLDED)
{ {
// Skip only if all data moments are hidden // Skip only if all data moments are hidden
continue; continue;
} }
// The order must match the store vertices section below // The order must match the store vertices section below
dataMoments8[mIndex++] = dataMomentsArray8[dm1]; dataMoments8[mIndex++] = dm1;
dataMoments8[mIndex++] = dataMomentsArray8[dm2]; dataMoments8[mIndex++] = dm2;
dataMoments8[mIndex++] = nextDataMomentsArray8[dm4]; dataMoments8[mIndex++] = dm4;
dataMoments8[mIndex++] = dataMomentsArray8[dm1]; dataMoments8[mIndex++] = dm1;
dataMoments8[mIndex++] = nextDataMomentsArray8[dm3]; dataMoments8[mIndex++] = dm3;
dataMoments8[mIndex++] = nextDataMomentsArray8[dm4]; dataMoments8[mIndex++] = dm4;
// cfpMoments is unused, so not populated here // cfpMoments is unused, so not populated here
} }
@ -829,38 +825,36 @@ void Level2ProductView::ComputeSweep()
} }
else if (gate > 0) else if (gate > 0)
{ {
const std::size_t dm1 = i;
const std::size_t dm2 = dm1 + 1;
const std::size_t& dm3 = dm1;
const std::size_t& dm4 = dm2;
// Validate indices are all in range // Validate indices are all in range
if (dm2 >= numberOfDataMomentGates || if (i + 1 >= numberOfDataMomentGates ||
dm4 >= numberOfNextDataMomentGates) i + 1 >= numberOfNextDataMomentGates)
{ {
continue; continue;
} }
if (dataMomentsArray16[dm1] < snrThreshold && const std::uint8_t& dm1 = dataMomentsArray16[i];
dataMomentsArray16[dm1] != RANGE_FOLDED && const std::uint8_t& dm2 = dataMomentsArray16[i + 1];
dataMomentsArray16[dm2] < snrThreshold && const std::uint8_t& dm3 = nextDataMomentsArray16[i];
dataMomentsArray16[dm2] != RANGE_FOLDED && const std::uint8_t& dm4 = nextDataMomentsArray16[i + 1];
nextDataMomentsArray16[dm3] < snrThreshold &&
nextDataMomentsArray16[dm3] != RANGE_FOLDED && if (dm1 < snrThreshold && dm1 != RANGE_FOLDED &&
nextDataMomentsArray16[dm4] < snrThreshold && dm2 < snrThreshold && dm2 != RANGE_FOLDED &&
nextDataMomentsArray16[dm4] != RANGE_FOLDED) dm3 < snrThreshold && dm3 != RANGE_FOLDED &&
dm4 < snrThreshold && dm4 != RANGE_FOLDED)
{ {
// Skip only if all data moments are hidden // Skip only if all data moments are hidden
continue; continue;
} }
// The order must match the store vertices section below // The order must match the store vertices section below
dataMoments16[mIndex++] = dataMomentsArray16[dm1]; dataMoments16[mIndex++] = dm1;
dataMoments16[mIndex++] = dataMomentsArray16[dm2]; dataMoments16[mIndex++] = dm2;
dataMoments16[mIndex++] = nextDataMomentsArray16[dm4]; dataMoments16[mIndex++] = dm4;
dataMoments16[mIndex++] = dataMomentsArray16[dm1]; dataMoments16[mIndex++] = dm1;
dataMoments16[mIndex++] = nextDataMomentsArray16[dm3]; dataMoments16[mIndex++] = dm3;
dataMoments16[mIndex++] = nextDataMomentsArray16[dm4]; dataMoments16[mIndex++] = dm4;
// cfpMoments is unused, so not populated here
} }
else else
{ {