Files
UR/src/transmissionReconstruction/detection/detection.h
2023-05-19 13:44:40 +08:00

47 lines
1.8 KiB
C++

#ifndef __TRANS_DETECTION_H__
#define __TRANS_DETECTION_H__
#include "Matrix.h"
namespace Recon {
struct SearchPosition {
Aurora::Matrix startSearch;
Aurora::Matrix endSearch;
};
struct TimeWindowResult {
Aurora::Matrix startSearch;
Aurora::Matrix AscanBlockProcessed;
};
struct DetectTofResult {
Aurora::Matrix tof;
Aurora::Matrix sosValue;
};
Aurora::Matrix calculateAttenuation(const Aurora::Matrix &ascans,
const Aurora::Matrix &startPos,
const Aurora::Matrix &endPos,
const Aurora::Matrix &ascansRef,
const Aurora::Matrix &startPosRef,
const Aurora::Matrix &endPosRef);
SearchPosition
calculateStarEndSearchPosition(const Aurora::Matrix &aVDistBlock,
double minSpeedOfSound, double maxSpeedOfSound,
double sampleRate, double maxSample,
const Aurora::Matrix &aVSosOffsetBlock,
double startOffset, double segmentLenOffset);
TimeWindowResult applyTimeWindowing(
const Aurora::Matrix &AscanBlock, double sampleRate,
const Aurora::Matrix &distBlock, const Aurora::Matrix &sosBlock,
double expectedSOSWater, double startOffset, double segmentLenOffset,
double minSpeedOfSound, double maxSpeedOfSound, bool gaussWindow);
// Aurora::Matrix
// detectAttVectorized(const Aurora::Matrix &Ascan, const Aurora::Matrix &AscanRef,
// const Aurora::Matrix &distRef,
// const Aurora::Matrix &sosWaterRef,
// const Aurora::Matrix &tof, int aScanReconstructionFrequency,
// double offsetElectronic, int detectionWindowATT);
} // namespace Recon
#endif // __DETECTION_H__