47 lines
1.8 KiB
C++
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__
|