Files
UR/src/common/getMeasurementMetaData.h
2023-06-12 16:54:13 +08:00

80 lines
2.1 KiB
C++

#ifndef GET_MEASUREMENT_METADATA_H
#define GET_MEASUREMENT_METADATA_H
#include "Data/TemperatureData.h"
#include "Matrix.h"
class Parser;
namespace Recon
{
struct MeasurementInfo
{
unsigned int numberSamples;
bool Bandpassundersampling;
unsigned int sampleRate;
std::string ascanDataType;
std::string Hardware;
std::string HardwareVersion;
int EOffset;
int Wavelength;
unsigned int expectedAScanLength;
std::string rootMeasUniqueID;
double dacDelay;
double filterByPass;
Aurora::Matrix matchedFilter;
};
struct CEInfo
{
Aurora::Matrix ce;
double ceOffSet;
double ce_sf;
Aurora::Matrix tasIndices;
Aurora::Matrix receiverIndices;
Aurora::Matrix ceRef;
double ceRefOffSet;
double ceRef_sf;
bool measuredCEUsed;
bool measuredCEAvailable;
bool ceAvailable;
double offsetFilterEnabled;
double offsetFilterDisabled;
};
struct TempInfo
{
Aurora::Matrix jumoTemp;
Aurora::Matrix tasTemperature;
Aurora::Matrix expectedTemp;
Aurora::Matrix expectedSOSWater;
};
struct TransFormInfo
{
Aurora::Matrix rotationMatrix;
Aurora::Matrix motorPos;
};
struct PreComputes
{
Aurora::Matrix matchedFilter;
Aurora::Matrix matchedFilterRef;
double timeInterval;
bool measuredCEUsed;
Aurora::Matrix measuredCE_TASIndices;
Aurora::Matrix measuredCE_receiverIndices;
Aurora::Matrix sincPeak_ft;
double offset;
};
//无用函数
Aurora::Matrix getAvailableMotorPositions(Parser* aParser);
MeasurementInfo loadMeasurementInfos(Parser* aParser);
TransFormInfo getTransformationMatrix(Parser* aParser, const Aurora::Matrix& aMotorPosList);
TempInfo getTemperatureInfo(Parser* aParser, double aNumTas);
CEInfo getCEInfo(Parser* aParser, const MeasurementInfo aInfo);
Aurora::Matrix temperatureToSoundSpeed(const Aurora::Matrix& aTemperature, const std::string& aMethod);
}
#endif // !GET_MEASUREMENT_METADATA_H