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

View File

@@ -39,7 +39,7 @@ MetaData MetaDataReader::getMetaDataFromKIT(const std::string& aFilePath,std::sh
if(samplerateVar!=nullptr) if(samplerateVar!=nullptr)
{ {
result.setSamplerate(static_cast<unsigned int>(*reinterpret_cast<double*>(samplerateVar->data))); result.setSamplerate(static_cast<unsigned int>(*reinterpret_cast<double*>(samplerateVar->data)));
} }
matvar_t* metaDataVar = Mat_VarRead(matFile,"MetaData"); matvar_t* metaDataVar = Mat_VarRead(matFile,"MetaData");
if(metaDataVar !=nullptr) if(metaDataVar !=nullptr)
{ {
@@ -49,6 +49,17 @@ MetaData MetaDataReader::getMetaDataFromKIT(const std::string& aFilePath,std::sh
{ {
result.setMeasurementID(MatlabHelper::getMatlabString(measurementIDVar)); 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 //AperturePosition
result.setAperturePositionNumber(aShotList->getMotorPositionSize()); 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>()); 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; std::ifstream stream;