Merge pull request #1202 from slsdetectorgroup/dev/fix/reorder_only_if_digitalmode
All checks were successful
Build on RHEL8 / build (push) Successful in 4m37s
Build on RHEL9 / build (push) Successful in 5m5s

only reorder bits if some sort of digital readout mode enabled
This commit is contained in:
mazzol_a 2025-05-01 16:01:01 +02:00 committed by GitHub
commit ce3f555c08
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -352,16 +352,20 @@ void DataProcessor::ProcessAnImage(sls_receiver_header &header, size_t &size,
if (framePadding && nump < generalData->packetsPerFrame) if (framePadding && nump < generalData->packetsPerFrame)
PadMissingPackets(header, data); PadMissingPackets(header, data);
// rearrange ctb digital bits if (generalData->readoutType == slsDetectorDefs::DIGITAL_ONLY ||
if (!generalData->ctbDbitList.empty()) { generalData->readoutType == slsDetectorDefs::ANALOG_AND_DIGITAL ||
ArrangeDbitData(size, data); generalData->readoutType == slsDetectorDefs::DIGITAL_AND_TRANSCEIVER) {
} else if (generalData->ctbDbitReorder) { // rearrange ctb digital bits
std::vector<int> ctbDbitList(64); if (!generalData->ctbDbitList.empty()) {
std::iota(ctbDbitList.begin(), ctbDbitList.end(), 0); ArrangeDbitData(size, data);
generalData->SetctbDbitList(ctbDbitList); } else if (generalData->ctbDbitReorder) {
ArrangeDbitData(size, data); std::vector<int> ctbDbitList(64);
} else if (generalData->ctbDbitOffset > 0) { std::iota(ctbDbitList.begin(), ctbDbitList.end(), 0);
RemoveTrailingBits(size, data); generalData->SetctbDbitList(ctbDbitList);
ArrangeDbitData(size, data);
} else if (generalData->ctbDbitOffset > 0) {
RemoveTrailingBits(size, data);
}
} }
// 'stream Image' check has to be done here before crop image // 'stream Image' check has to be done here before crop image