(1)将atp光谱仪的控制类更新到卓哥最新版,解决连接atp的问题;

(2)将读取OceanOptics的非线性校正文件  集成到定标程序中;
This commit is contained in:
2022-04-21 14:06:48 +08:00
committed by xin
parent aaeba1360e
commit ffef3cf163

View File

@ -112,62 +112,62 @@ int main(int argc, char *argv[])
// //<2F>Զ<EFBFBD><D4B6>ع<EFBFBD>
// logout("<br><b style=\"color:red\">AutoExpose!</b>");
// m_FiberSpectrometer->autoExpose();
//
// int iExposureTime;
// m_FiberSpectrometer->getExposureTime(iExposureTime);
//
// message="<br><b style=\"color:red\">ExposureTime: " + QString::number(iExposureTime) + "</b>";
// logout(message);
//
// //<2F><><EFBFBD><EFBFBD>sleep<65><70><EFBFBD>ȴ<EFBFBD><C8B4>رտ<D8B1><D5BF><EFBFBD>
// message="<br><b style=\"color:red\">Please close the lamp in " + QString::number(query.sleepTimeinSecond) + "s!</b>";
// logout(message);
// QThread::sleep(query.sleepTimeinSecond);
//
// //<2F>ɼ<EFBFBD><C9BC><EFBFBD>֡
// logout("<br><b style=\"color:red\">Record dark frame!</b>");
// m_FiberSpectrometer->recordDark(query.calFileOutputDirectory);
//
//
// //<2F><><EFBFBD><EFBFBD>sleep<65><70><EFBFBD>ȴ<EFBFBD><C8B4>򿪿<EFBFBD><F2BFAABF><EFBFBD>
// message="<br><b style=\"color:red\">Please open the lamp in " + QString::number(query.sleepTimeinSecond) + "s!</b>";
// logout(message);
// QThread::sleep(query.sleepTimeinSecond);
//
// //<2F>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// logout("<br><b style=\"color:red\">Record integrating sphere frame!</b>");
// m_FiberSpectrometer->recordTarget(query.averageTimes, query.calFileOutputDirectory);
//
// //׼<><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
// logout("<br><b style=\"color:red\">readAndResample_StandardLightFile!</b>");
//<2F>Զ<EFBFBD><D4B6>ع<EFBFBD>
logout("<br><b style=\"color:red\">AutoExpose!</b>");
m_FiberSpectrometer->autoExpose();
int iExposureTime;
m_FiberSpectrometer->getExposureTime(iExposureTime);
message="<br><b style=\"color:red\">ExposureTime: " + QString::number(iExposureTime) + "</b>";
logout(message);
//<2F><><EFBFBD><EFBFBD>sleep<65><70><EFBFBD>ȴ<EFBFBD><C8B4>رտ<D8B1><D5BF><EFBFBD>
message="<br><b style=\"color:red\">Please close the lamp in " + QString::number(query.sleepTimeinSecond) + "s!</b>";
logout(message);
QThread::sleep(query.sleepTimeinSecond);
//<2F>ɼ<EFBFBD><C9BC><EFBFBD>֡
logout("<br><b style=\"color:red\">Record dark frame!</b>");
m_FiberSpectrometer->recordDark(query.calFileOutputDirectory);
//<2F><><EFBFBD><EFBFBD>sleep<65><70><EFBFBD>ȴ<EFBFBD><C8B4>򿪿<EFBFBD><F2BFAABF><EFBFBD>
message="<br><b style=\"color:red\">Please open the lamp in " + QString::number(query.sleepTimeinSecond) + "s!</b>";
logout(message);
QThread::sleep(query.sleepTimeinSecond);
//<2F>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
logout("<br><b style=\"color:red\">Record integrating sphere frame!</b>");
m_FiberSpectrometer->recordTarget(query.averageTimes, query.calFileOutputDirectory);
//׼<><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
logout("<br><b style=\"color:red\">readAndResample_StandardLightFile!</b>");
DeviceAttribute deviceAttribute;
DeviceInfo deviceInfo;
m_FiberSpectrometer->getDeviceAttribute(deviceAttribute);
m_FiberSpectrometer->getDeviceInfo(deviceInfo);
//
// CalibrationAlgorithm * m_CalibrationAlgorithm = new CalibrationAlgorithm();
// m_CalibrationAlgorithm->readAndResample_StandardLightFile(query.standardLightFilePath,query.integratingSphereDetectorValue, deviceAttribute, deviceInfo);
//
// //<2F><><EFBFBD>ɷ<EFBFBD><C9B7><EFBFBD><E4B6A8><EFBFBD>ļ<EFBFBD>
// if (query.calFileOutputName.isEmpty())//query->calFileOutputName==""
// {
// QDateTime curDateTime = QDateTime::currentDateTime();
// QString currentTime = curDateTime.toString("yyyy_MM_dd_hh_mm_ss");
// QString calFileName = QDir::cleanPath(query.calFileOutputDirectory + QDir::separator() + currentTime + "_" + QString::fromStdString(deviceInfo.strSN) + ".dat");
//
// query.calFileOutputName=calFileName;
// }
// logout("<br><b style=\"color:red\">Produce calibration file!</b>");
// m_CalibrationAlgorithm->produceCalfile(query.calFileOutputName, deviceAttribute, m_FiberSpectrometer->m_IntegratingSphereData, m_FiberSpectrometer->m_DarkData);
//
// //<2F><><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><E4B6A8><EFBFBD>ļ<EFBFBD>
// QDateTime curDateTime = QDateTime::currentDateTime();
// QString currentTime = curDateTime.toString("yyyy_MM_dd_hh_mm_ss");
// QString destName = QDir::cleanPath(query.calFileOutputDirectory + QDir::separator() + currentTime + "_" + QString::fromStdString(deviceInfo.strSN) + "_" +QString::number(query.position) + ".cal");
// copyFileToPath(query.calFileOutputName,destName,true);
CalibrationAlgorithm * m_CalibrationAlgorithm = new CalibrationAlgorithm();
m_CalibrationAlgorithm->readAndResample_StandardLightFile(query.standardLightFilePath,query.integratingSphereDetectorValue, deviceAttribute, deviceInfo);
//<2F><><EFBFBD>ɷ<EFBFBD><C9B7><EFBFBD><E4B6A8><EFBFBD>ļ<EFBFBD>
if (query.calFileOutputName.isEmpty())//query->calFileOutputName==""
{
QDateTime curDateTime = QDateTime::currentDateTime();
QString currentTime = curDateTime.toString("yyyy_MM_dd_hh_mm_ss");
QString calFileName = QDir::cleanPath(query.calFileOutputDirectory + QDir::separator() + currentTime + "_" + QString::fromStdString(deviceInfo.strSN) + ".dat");
query.calFileOutputName=calFileName;
}
logout("<br><b style=\"color:red\">Produce calibration file!</b>");
m_CalibrationAlgorithm->produceCalfile(query.calFileOutputName, deviceAttribute, m_FiberSpectrometer->m_IntegratingSphereData, m_FiberSpectrometer->m_DarkData);
//<2F><><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><E4B6A8><EFBFBD>ļ<EFBFBD>
QDateTime curDateTime = QDateTime::currentDateTime();
QString currentTime = curDateTime.toString("yyyy_MM_dd_hh_mm_ss");
QString destName = QDir::cleanPath(query.calFileOutputDirectory + QDir::separator() + currentTime + "_" + QString::fromStdString(deviceInfo.strSN) + "_" +QString::number(query.position) + ".cal");
copyFileToPath(query.calFileOutputName,destName,true);
//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD>isOcean<61><6E>
auto * p_C = dynamic_cast<OceanOpticsFiberImager *>(m_FiberSpectrometer);
@ -623,7 +623,7 @@ int getNonlinearityCoeffs1(double * coeffs)
sbapi_shutdown();
return number;
}
}//
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ϵ<EFBFBD><CFB5><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>
int getNonlinearityCoeffs2(long deviceID, double * coeffs)