Add DacDelay and FilterByPass in MetaData.

This commit is contained in:
sunwen
2023-06-21 15:03:23 +08:00
parent 22407e3564
commit 884fffc2c2
3 changed files with 47 additions and 1 deletions

View File

@@ -84,3 +84,24 @@ TimeStampsPointer MetaData::getTimeStamps() const
{
return mTimeStamps;
}
double MetaData::getDacDelay() const
{
return mDacDelay;
}
void MetaData::setDacDelay(double aDacDelay)
{
mDacDelay = aDacDelay;
}
double MetaData::getFilterByPass() const
{
return mFilterByPass;
}
void MetaData::setFilterByPass(double aFilterByPass)
{
mFilterByPass = aFilterByPass;
}

View File

@@ -28,6 +28,8 @@ public:
ReceiverIndicesPointer getReceiverIndices() const;
unsigned short getAperturePositionNumber() const;
TimeStampsPointer getTimeStamps() const;
double getDacDelay() const;
double getFilterByPass() const;
private:
void setDataType(const std::string& aDataType);
@@ -38,6 +40,8 @@ private:
void setReceiverIndices(ReceiverIndicesPointer aReceiverIndices);
void setAperturePositionNumber(unsigned short aAperturePositionNumber);
void setTimeStamps(TimeStampsPointer aTimeStamps);
void setDacDelay(double aDacDelay);
void setFilterByPass(double aFilterByPass);
private:
std::string mDataType;
@@ -48,6 +52,8 @@ private:
ReceiverIndicesPointer mReceiverIndices;
unsigned short mAperturePositionNumber;
TimeStampsPointer mTimeStamps;
double mDacDelay;
double mFilterByPass;
friend class MetaDataReader;
};

View File

@@ -39,7 +39,7 @@ MetaData MetaDataReader::getMetaDataFromKIT(const std::string& aFilePath,std::sh
if(samplerateVar!=nullptr)
{
result.setSamplerate(static_cast<unsigned int>(*reinterpret_cast<double*>(samplerateVar->data)));
}
}
matvar_t* metaDataVar = Mat_VarRead(matFile,"MetaData");
if(metaDataVar !=nullptr)
{
@@ -49,6 +49,17 @@ MetaData MetaDataReader::getMetaDataFromKIT(const std::string& aFilePath,std::sh
{
result.setMeasurementID(MatlabHelper::getMatlabString(measurementIDVar));
}
//DACDelay
matvar_t* dacDelayVar = Mat_VarGetStructFieldByName(metaDataVar,"DACDelay",0);
if(dacDelayVar!=nullptr)
{
result.setDacDelay(*reinterpret_cast<double*>(dacDelayVar->data));
}
matvar_t* filterByPassVar = Mat_VarGetStructFieldByName(metaDataVar,"FilterBypass",0);
if(filterByPassVar!=nullptr)
{
result.setFilterByPass(*reinterpret_cast<double*>(filterByPassVar->data));
}
//AperturePosition
result.setAperturePositionNumber(aShotList->getMotorPositionSize());
}
@@ -127,6 +138,14 @@ MetaData MetaDataReader::getMetaDataFromHJ(const std::string& aConfigBinPath, co
{
result.setSampleNumber(amcBoardConfig.at("Shot length").get<unsigned int>());
}
if(amcBoardConfig.contains("DAC Delay"))
{
result.setDacDelay(amcBoardConfig.at("DAC Delay").get<double>());
}
if(amcBoardConfig.contains("Filter"))
{
result.setFilterByPass(amcBoardConfig.at("Filter").get<double>());
}
}
std::ifstream stream;