#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