commit dev-sun.
This commit is contained in:
53
src/transmissionReconstruction/detection/detection.cuh
Normal file
53
src/transmissionReconstruction/detection/detection.cuh
Normal file
@@ -0,0 +1,53 @@
|
||||
#ifndef __DETECTION_CUH__
|
||||
#define __DETECTION_CUH__
|
||||
#include "CudaMatrix.h"
|
||||
using namespace Aurora;
|
||||
namespace Recon {
|
||||
struct SearchPositionC {
|
||||
Aurora::CudaMatrix startSearch;
|
||||
Aurora::CudaMatrix endSearch;
|
||||
};
|
||||
struct DetectResultC {
|
||||
Aurora::CudaMatrix tof;
|
||||
Aurora::CudaMatrix sosValue;
|
||||
Aurora::CudaMatrix att;
|
||||
};
|
||||
struct TimeWindowResultC {
|
||||
Aurora::CudaMatrix startSearch;
|
||||
Aurora::CudaMatrix AscanBlockProcessed;
|
||||
};
|
||||
CudaMatrix calculateAttenuationCuda(const CudaMatrix &ascans,
|
||||
const CudaMatrix &startPos,
|
||||
const CudaMatrix &endPos,
|
||||
const CudaMatrix &ascansRef,
|
||||
const CudaMatrix &startPosRef,
|
||||
const CudaMatrix &endPosRef);
|
||||
CudaMatrix
|
||||
detectAttVectorizedCuda(const CudaMatrix &Ascan, const CudaMatrix &AscanRef,
|
||||
const CudaMatrix &distRef,
|
||||
const CudaMatrix &sosWaterRef,
|
||||
const CudaMatrix &tof, int aScanReconstructionFrequency,
|
||||
float offsetElectronic, int detectionWindowATT);
|
||||
|
||||
TimeWindowResultC applyTimeWindowing(const Aurora::CudaMatrix &AscanBlock, float sampleRate,
|
||||
const Aurora::CudaMatrix &distBlock, const Aurora::CudaMatrix &sosBlock,
|
||||
float expectedSOSWater, float startOffset, float segmentLenOffset,
|
||||
float minSpeedOfSound, float maxSpeedOfSound, bool gaussWindow);
|
||||
SearchPositionC calculateStarEndSearchPosition(const CudaMatrix &aVDistBlock,
|
||||
float minSpeedOfSound, float maxSpeedOfSound,
|
||||
float sampleRate, float maxSample,
|
||||
const CudaMatrix &aVSosOffsetBlock,
|
||||
float startOffset, float segmentLenOffset);
|
||||
CudaMatrix calculateSOSOffset(const CudaMatrix &sosBlock, float referenceSOS, const CudaMatrix &distBlock, float sampleRate);
|
||||
DetectResultC detectTofAndAtt(
|
||||
const Aurora::CudaMatrix &AscanBlock, const Aurora::CudaMatrix &AscanRefBlock,
|
||||
const Aurora::CudaMatrix &distBlock, const Aurora::CudaMatrix &distRefBlock,
|
||||
const Aurora::CudaMatrix &sosWaterBlock,
|
||||
const Aurora::CudaMatrix &sosWaterRefBlock,
|
||||
int resampleFactor,int nthreads, float expectedSOSWater,
|
||||
int useTimeWindowing, int aScanReconstructionFrequency,int detectionWindowATT,
|
||||
float offsetElectronic, int detectionWindowSOS, float minSpeedOfSound,
|
||||
float maxSpeedOfSound, bool gaussWindow);
|
||||
};
|
||||
|
||||
#endif // __DETECTION_H__
|
||||
Reference in New Issue
Block a user