Add transmission dataPreperation
This commit is contained in:
@@ -16,7 +16,7 @@ namespace {
|
||||
_mm_set_epi16(2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048);
|
||||
const uint CONVERT_ADD_VALUE = UINT32_MAX - 4095;
|
||||
void convert(short * ptr, double* des,bool single = false){
|
||||
// 初始化值
|
||||
// 初始化值
|
||||
auto value = _mm_set_epi16(ptr[0], ptr[1], ptr[2], ptr[3], single?ptr[0]:ptr[4], single?ptr[0]:ptr[5],
|
||||
single?ptr[0]:ptr[6], single?ptr[0]:ptr[7]);
|
||||
auto uvalue = _mm_set_epi16(
|
||||
|
||||
37
src/transmissionReconstruction/dataPreperation.cpp
Normal file
37
src/transmissionReconstruction/dataPreperation.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
#include "dataPreperation.h"
|
||||
#include "Function1D.h"
|
||||
#include "Function2D.h"
|
||||
#include "Function3D.h"
|
||||
#include <cstddef>
|
||||
|
||||
|
||||
namespace Recon
|
||||
{
|
||||
Aurora::Matrix distanceBetweenTwoPoints(Aurora::Matrix aPtsA, Aurora::Matrix aPtsB)
|
||||
{
|
||||
return Aurora::sqrt(Aurora::sum((aPtsA-aPtsB)^2));
|
||||
}
|
||||
|
||||
Aurora::Matrix calculateWaterTemperature(Aurora::Matrix aMWaterTempS,
|
||||
Aurora::Matrix aMWaterTempR,
|
||||
Aurora::Matrix aVsl,
|
||||
Aurora::Matrix aVrl,
|
||||
Aurora::Matrix aVmp)
|
||||
{
|
||||
auto idx1 = Aurora::sub2ind(Aurora::size(aMWaterTempS), {aVsl, aVmp});
|
||||
auto idx2 = Aurora::sub2ind(Aurora::size(aMWaterTempR), {aVrl, aVmp});
|
||||
auto waterTemp = Aurora::zeros(idx1.getDataSize(),1);
|
||||
for (size_t i = 0; i<idx1.getDataSize(); ++i) {
|
||||
waterTemp.getData()[i] = (aMWaterTempS.getData()[(int)idx1.getData()[i]]+
|
||||
aMWaterTempR.getData()[(int)idx2.getData()[i]])/2;
|
||||
}
|
||||
return waterTemp;
|
||||
}
|
||||
|
||||
Aurora::Matrix prepareAScansForTransmissionDetection(const Aurora::Matrix& aMaScanBlock, const Aurora::Matrix aVGainBlock)
|
||||
{
|
||||
auto ret = aMaScanBlock/Aurora::repmat(aVGainBlock,aMaScanBlock.getDimSize(0),1);
|
||||
ret = ret-Aurora::repmat(Aurora::mean(ret),aMaScanBlock.getDimSize(0),1);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
18
src/transmissionReconstruction/dataPreperation.h
Normal file
18
src/transmissionReconstruction/dataPreperation.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#ifndef __DATAPREPERATION_H__
|
||||
#define __DATAPREPERATION_H__
|
||||
#include "Matrix.h"
|
||||
namespace Recon {
|
||||
|
||||
Aurora::Matrix distanceBetweenTwoPoints(Aurora::Matrix aPtsA,
|
||||
Aurora::Matrix aPtsB);
|
||||
|
||||
Aurora::Matrix calculateWaterTemperature(Aurora::Matrix aMWaterTempS,
|
||||
Aurora::Matrix aMWaterTempR,
|
||||
Aurora::Matrix aVsl,
|
||||
Aurora::Matrix aVrl,
|
||||
Aurora::Matrix aVmp);
|
||||
|
||||
Aurora::Matrix prepareAScansForTransmissionDetection(const Aurora::Matrix& aMaScanBlock, const Aurora::Matrix aVGainBlock);
|
||||
} // namespace Recon
|
||||
|
||||
#endif // __DATAPREPERATION_H__
|
||||
Reference in New Issue
Block a user