Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
f32ade7487 | |||
89c701c5f2 |
156
HPPA/HPPA.cpp
156
HPPA/HPPA.cpp
@ -13,6 +13,10 @@ HPPA::HPPA(QWidget *parent)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
|
||||
QCoreApplication::setOrganizationName("IRIS");
|
||||
QCoreApplication::setOrganizationDomain("iris.com");
|
||||
QCoreApplication::setApplicationName("HPPA");
|
||||
|
||||
QString strPath = QCoreApplication::applicationDirPath() + "/UILayout.ini";
|
||||
QFile file(strPath);
|
||||
if (file.open(QIODevice::ReadOnly)) {
|
||||
@ -290,6 +294,18 @@ HPPA::HPPA(QWidget *parent)
|
||||
|
||||
createActionGroups();
|
||||
connect(mImagerGroup, &QActionGroup::triggered, this, &HPPA::selectingImager);
|
||||
|
||||
connect(this->ui.mAction_is_motor_enable, SIGNAL(triggered()), this, SLOT(onMotorSwitch()));
|
||||
QSettings settings;
|
||||
bool isMotorEnable = settings.value("isMotorEnable").toBool();
|
||||
this->ui.mAction_is_motor_enable->setChecked(isMotorEnable);
|
||||
}
|
||||
|
||||
void HPPA::onMotorSwitch()
|
||||
{
|
||||
QSettings settings;
|
||||
settings.setValue("isMotorEnable", this->ui.mAction_is_motor_enable->isChecked());
|
||||
settings.sync();
|
||||
}
|
||||
|
||||
void HPPA::createActionGroups()
|
||||
@ -301,13 +317,36 @@ void HPPA::createActionGroups()
|
||||
mImagerGroup->addAction(ui.mActionCorning_410);
|
||||
mImagerGroup->addAction(ui.mActionPica_NIR);
|
||||
|
||||
ui.mActionPica_NIR->setChecked(true);
|
||||
imagerSelected = ui.mActionPica_NIR->objectName();
|
||||
|
||||
// <20><>ȡ<EFBFBD>ϴ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
|
||||
QSettings settings;
|
||||
QString lastSelectedAction = settings.value("LastSelectedImagerAction").toString();
|
||||
|
||||
// <20>ָ<EFBFBD><D6B8>ϴ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
|
||||
if (lastSelectedAction == "mActionPica_L")
|
||||
{
|
||||
ui.mActionPica_L->setChecked(true);
|
||||
}
|
||||
else if (lastSelectedAction == "mActionPica_NIR")
|
||||
{
|
||||
ui.mActionPica_NIR->setChecked(true);
|
||||
}
|
||||
else if (lastSelectedAction == "mActionPika_XC2")
|
||||
{
|
||||
ui.mActionPika_XC2->setChecked(true);
|
||||
}
|
||||
else if (lastSelectedAction == "mActionCorning_410")
|
||||
{
|
||||
ui.mActionCorning_410->setChecked(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void HPPA::selectingImager(QAction* selectedAction)
|
||||
{
|
||||
imagerSelected = selectedAction->objectName();
|
||||
QSettings settings;
|
||||
settings.setValue("LastSelectedImagerAction", selectedAction->objectName());
|
||||
settings.sync();
|
||||
}
|
||||
|
||||
HPPA::~HPPA()
|
||||
@ -373,24 +412,54 @@ void HPPA::CalculateIntegratioinTimeRange()
|
||||
|
||||
void HPPA::onStartRecordStep1()
|
||||
{
|
||||
////<2F><><EFBFBD>Դ<EFBFBD><D4B4>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//m_RecordState += 1;
|
||||
bool isMotorEnable = this->ui.mAction_is_motor_enable->isChecked();
|
||||
if (!isMotorEnable)//ͣ<><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFA3AC><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
m_RecordState += 1;
|
||||
|
||||
//if (m_RecordState % 2 == 1)
|
||||
//{
|
||||
// onCreateTab(1);
|
||||
// m_numberOfRecording = 0;
|
||||
// m_Imager->setFileName2Save(m_FilenameLineEdit->text().toStdString());
|
||||
// emit StartRecordSignal();//<2F><><EFBFBD>俪ʼ<E4BFAA>ɼ<EFBFBD><C9BC>ź<EFBFBD>
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// m_Imager->setRecordControlState(false);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<CDA3>ɼ<EFBFBD>
|
||||
if (m_RecordState % 2 == 1)
|
||||
{
|
||||
//<EFBFBD>ж<EFBFBD><EFBFBD>ǷǴ<EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||
FileOperation* fileOperation = new FileOperation();
|
||||
string directory = fileOperation->getDirectoryFromString();
|
||||
//string imgPath = directory + "\\tmp_image";
|
||||
string imgPath = directory + "\\" + m_FilenameLineEdit->text().toStdString() + "_" + std::to_string(1) + ".bil";
|
||||
int x = _access(imgPath.c_str(), 0);
|
||||
if (!x)//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ھ<EFBFBD>ִ<EFBFBD>д<EFBFBD>if<69>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||
{
|
||||
enum QMessageBox::StandardButton response = QMessageBox::question(this, QString::fromLocal8Bit("<EFBFBD><EFBFBD>ʾ"), QString::fromLocal8Bit("<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD>Ƿǣ<EFBFBD>"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);;
|
||||
if (response == QMessageBox::Yes)//
|
||||
{
|
||||
//std::cout << "<22><><EFBFBD><EFBFBD>" << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
//std::cout << "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" << std::endl;
|
||||
m_RecordState -= 1;//<2F><><EFBFBD><EFBFBD><EFBFBD>ǵĻ<C7B5><C4BB><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<CDA3>ɼ<EFBFBD>
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// ui.action_start_recording->setText(QString::fromLocal8Bit("<22>ɼ<EFBFBD>"));
|
||||
// ui.mainToolBar->widgetForAction(ui.action_start_recording)->setStyleSheet("QWidget{background-color:rgb(0,255,0);}");
|
||||
//}
|
||||
ui.ImageViewerTabWidget->clear();
|
||||
|
||||
onCreateTab(0);
|
||||
m_numberOfRecording = 0;
|
||||
m_Imager->setFrameNumber(this->frame_number->text().toInt());
|
||||
m_Imager->setFileName2Save(imgPath);
|
||||
emit StartRecordSignal();//<2F><><EFBFBD>俪ʼ<E4BFAA>ɼ<EFBFBD><C9BC>ź<EFBFBD>
|
||||
|
||||
ui.action_start_recording->setText(QString::fromLocal8Bit("ֹͣ<EFBFBD>ɼ<EFBFBD>"));
|
||||
ui.mainToolBar->widgetForAction(ui.action_start_recording)->setStyleSheet("QWidget{background-color:rgb(255,0,0);}");
|
||||
}
|
||||
else
|
||||
{
|
||||
m_Imager->setRecordControlState(false);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<CDA3>ɼ<EFBFBD>
|
||||
|
||||
ui.action_start_recording->setText(QString::fromLocal8Bit("<EFBFBD>ɼ<EFBFBD>"));
|
||||
ui.mainToolBar->widgetForAction(ui.action_start_recording)->setStyleSheet("QWidget{background-color:rgb(0,255,0);}");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
//ȷ<><C8B7>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB> С<><D0A1> x<><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
||||
int validLineCount = 0;
|
||||
@ -427,7 +496,7 @@ void HPPA::onStartRecordStep1()
|
||||
FileOperation * fileOperation = new FileOperation();
|
||||
string directory = fileOperation->getDirectoryFromString();
|
||||
//string imgPath = directory + "\\tmp_image";
|
||||
string imgPath = directory + "\\" + m_FilenameLineEdit->text().toStdString() + "_" + std::to_string(1);
|
||||
string imgPath = directory + "\\" + m_FilenameLineEdit->text().toStdString();
|
||||
int x = _access(imgPath.c_str(), 0);
|
||||
if (!x)//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ھ<EFBFBD>ִ<EFBFBD>д<EFBFBD>if<69>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||
{
|
||||
@ -449,13 +518,13 @@ void HPPA::onStartRecordStep1()
|
||||
operateWidget = QObject::sender()->objectName();
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
m_Imager->setFileName2Save(m_FilenameLineEdit->text().toStdString());
|
||||
m_Imager->setFileName2Save(imgPath);
|
||||
|
||||
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>tab
|
||||
ui.ImageViewerTabWidget->clear();
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼x<C2BC><78><EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD><C3B5>ļ<EFBFBD>
|
||||
string x_location = directory + "\\" + m_FilenameLineEdit->text().toStdString() + "x_location.pos";
|
||||
string x_location = removeFileExtension(imgPath) + "x_location.pos";
|
||||
m_hTimesFile = fopen(x_location.c_str(), "w+");
|
||||
|
||||
//<2F><>ʼѭ<CABC><D1AD>
|
||||
@ -515,7 +584,6 @@ void HPPA::onStartRecordStep2(int lineNumber)
|
||||
else if (lineNumber == -1)
|
||||
{
|
||||
std::cout << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>" << std::endl;
|
||||
m_RecordState++;
|
||||
|
||||
ui.action_start_recording->setText(QString::fromLocal8Bit("<EFBFBD>ɼ<EFBFBD>"));
|
||||
ui.mainToolBar->widgetForAction(ui.action_start_recording)->setStyleSheet("QWidget{background-color:rgb(0,255,0);}");
|
||||
@ -673,7 +741,7 @@ void HPPA::onLeftMouseButtonPressed(int x, int y)
|
||||
|
||||
FileOperation * fileOperation = new FileOperation();
|
||||
string directory = fileOperation->getDirectoryFromString();
|
||||
string imgPath = directory + "\\" + m_FilenameLineEdit->text().toStdString() + "_" + std::to_string(m_TabWidgetCurrentIndex + 1);
|
||||
string imgPath = directory + "\\" + m_FilenameLineEdit->text().toStdString() + "_" + std::to_string(m_TabWidgetCurrentIndex + 1) + ".bil";
|
||||
|
||||
ImageReaderWriter *ImageReader = new ImageReaderWriter(imgPath.c_str());
|
||||
|
||||
@ -1491,6 +1559,7 @@ void HPPA::newMotor()
|
||||
m_yMotor = new VinceControl(NETTCP, 6001);//ԭ<><D4AD><EFBFBD><EFBFBD>6001<30><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>6003
|
||||
|
||||
m_pathPlan->setMotor(m_xMotor, m_yMotor);
|
||||
QString imagerSelected = mImagerGroup->checkedAction()->objectName();
|
||||
if (imagerSelected == "mActionPica_NIR")
|
||||
{
|
||||
connect(m_xMotor, SIGNAL(newTCPConnection(VinceControl*)), this, SLOT(setMotorParamMicroscope(VinceControl*)));
|
||||
@ -1626,6 +1695,7 @@ void HPPA::onconnect()
|
||||
m_RecordThread = new QThread();
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>mImagerGroup
|
||||
QString imagerSelected = mImagerGroup->checkedAction()->objectName();
|
||||
if (imagerSelected == "mActionPica_L")
|
||||
{
|
||||
m_Imager = new ResononPicaLImager();
|
||||
@ -1833,15 +1903,19 @@ void HPPA::onReference()
|
||||
msgBox.setText(QString::fromLocal8Bit("<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>"));
|
||||
msgBox.exec();
|
||||
|
||||
//<2F>ƶ<EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD>
|
||||
if (!isMotorConnected(m_xMotor))
|
||||
bool isMotorEnable = this->ui.mAction_is_motor_enable->isChecked();
|
||||
if (isMotorEnable)
|
||||
{
|
||||
m_xMotor->EnableMotro();
|
||||
m_lXmotorLocationOfStartRecord = m_xMotor->GetLocationNow();
|
||||
m_xMotor->SettingSpeed(ui.xmotor_speed_slider->OriginalValue());
|
||||
//m_xMotor->SettingSpeed(m_lManualSpeedOfXMotor);
|
||||
//<2F>ƶ<EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD>
|
||||
if (!isMotorConnected(m_xMotor))
|
||||
{
|
||||
m_xMotor->EnableMotro();
|
||||
m_lXmotorLocationOfStartRecord = m_xMotor->GetLocationNow();
|
||||
m_xMotor->SettingSpeed(ui.xmotor_speed_slider->OriginalValue());
|
||||
//m_xMotor->SettingSpeed(m_lManualSpeedOfXMotor);
|
||||
|
||||
m_xMotor->MoveMotar(true);
|
||||
m_xMotor->MoveMotar(true);
|
||||
}
|
||||
}
|
||||
|
||||
emit RecordWhiteSignal();
|
||||
@ -1851,12 +1925,16 @@ void HPPA::recordWhiteFinish()
|
||||
{
|
||||
ui.mainToolBar->widgetForAction(ui.action_reference)->setStyleSheet("QWidget{background-color:rgb(0,255,0);}");
|
||||
|
||||
//<2F>ƶ<EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD>
|
||||
if (!isMotorConnected(m_xMotor))
|
||||
bool isMotorEnable = this->ui.mAction_is_motor_enable->isChecked();
|
||||
if (isMotorEnable)
|
||||
{
|
||||
//x<><78><EFBFBD>ﷵ<EFBFBD>زɼ<EFBFBD>ǰ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
||||
m_xMotor->SettingSpeed(m_lManualSpeedOfXMotor);
|
||||
m_xMotor->MoveToLocation(m_lXmotorLocationOfStartRecord);
|
||||
//<EFBFBD>ƶ<EFBFBD>x<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if (!isMotorConnected(m_xMotor))
|
||||
{
|
||||
//x<><78><EFBFBD>ﷵ<EFBFBD>زɼ<D8B2>ǰ<EFBFBD><C7B0>λ<EFBFBD><CEBB>
|
||||
m_xMotor->SettingSpeed(m_lManualSpeedOfXMotor);
|
||||
m_xMotor->MoveToLocation(m_lXmotorLocationOfStartRecord);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1975,11 +2053,19 @@ void HPPA::PlotSpectral(int state)
|
||||
void HPPA::onRecordFinishedSignal_WhenFrameNumberMeet()
|
||||
{
|
||||
std::cout << "ֹͣ<EFBFBD>ɼ<EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>" << std::endl;
|
||||
|
||||
ui.action_start_recording->setText(QString::fromLocal8Bit("<EFBFBD>ɼ<EFBFBD>"));
|
||||
ui.mainToolBar->widgetForAction(ui.action_start_recording)->setStyleSheet("QWidget{background-color:rgb(0,255,0);}");
|
||||
|
||||
m_RecordState++;//<2F><><EFBFBD>Զ<EFBFBD>ֹͣ<CDA3>ɼ<EFBFBD>
|
||||
}
|
||||
|
||||
void HPPA::onRecordFinishedSignal_WhenFrameNumberNotMeet()
|
||||
{
|
||||
std::cout << "ֹͣ<EFBFBD>ɼ<EFBFBD>ԭ<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD>û<EFBFBD>вɼ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﵽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ֹͣ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>" << std::endl;
|
||||
|
||||
ui.action_start_recording->setText(QString::fromLocal8Bit("<EFBFBD>ɼ<EFBFBD>"));
|
||||
ui.mainToolBar->widgetForAction(ui.action_start_recording)->setStyleSheet("QWidget{background-color:rgb(0,255,0);}");
|
||||
}
|
||||
|
||||
ForLoopControl::ForLoopControl()
|
||||
|
@ -236,7 +236,6 @@ private:
|
||||
void getRequest(QString str);
|
||||
|
||||
QActionGroup* mImagerGroup = nullptr;
|
||||
QString imagerSelected;
|
||||
void createActionGroups();
|
||||
void selectingImager(QAction* selectedAction);
|
||||
|
||||
@ -322,6 +321,8 @@ public Q_SLOTS:
|
||||
void ontimerMoveXmotor();
|
||||
void ontimerMoveYmotor();
|
||||
|
||||
void onMotorSwitch();
|
||||
|
||||
//
|
||||
void onimagerSimulatorMove(int x, int y);
|
||||
void OnSendLogToCallClass(QString str);
|
||||
|
35
HPPA/HPPA.ui
35
HPPA/HPPA.ui
@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1078</width>
|
||||
<height>623</height>
|
||||
<width>1120</width>
|
||||
<height>675</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@ -84,7 +84,7 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1078</width>
|
||||
<width>1120</width>
|
||||
<height>30</height>
|
||||
</rect>
|
||||
</property>
|
||||
@ -162,8 +162,15 @@ color:white;
|
||||
<string>窗口</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menu_2">
|
||||
<property name="title">
|
||||
<string>扫描平台</string>
|
||||
</property>
|
||||
<addaction name="mAction_is_motor_enable"/>
|
||||
</widget>
|
||||
<addaction name="file"/>
|
||||
<addaction name="menuspectrometer"/>
|
||||
<addaction name="menu_2"/>
|
||||
<addaction name="mWindowsMenu"/>
|
||||
<addaction name="menuhelp"/>
|
||||
</widget>
|
||||
@ -1535,6 +1542,28 @@ QDockWidget::title {
|
||||
<string>工具栏</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_2">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>马达</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="mAction_is_motor_enable">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>开启</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<customwidgets>
|
||||
|
@ -204,16 +204,13 @@ void ImagerOperationBase::start_record()
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
FileOperation* fileOperation = new FileOperation();
|
||||
string directory = fileOperation->getDirectoryFromString();
|
||||
string imgPath = directory + "\\" + m_FileName2Save + "_" + std::to_string(m_FileSavedCounter);
|
||||
|
||||
FILE* m_fImage = fopen((imgPath + ".bil").c_str(), "w+b");
|
||||
m_FileName2Save2 = m_FileName2Save + "_" + std::to_string(m_FileSavedCounter) + ".bil";
|
||||
FILE* m_fImage = fopen(m_FileName2Save2.c_str(), "w+b");
|
||||
|
||||
size_t x;
|
||||
double pixelValueTmp;
|
||||
|
||||
string timesFile = imgPath + ".times";
|
||||
string timesFile = removeFileExtension(m_FileName2Save2) + ".times";
|
||||
FILE* hTimesFile = fopen(timesFile.c_str(), "w+");
|
||||
|
||||
imagerStartCollect();
|
||||
@ -404,11 +401,7 @@ void ImagerOperationBase::WriteHdr()
|
||||
//write an ENVI compatible header file
|
||||
using namespace std;
|
||||
|
||||
|
||||
FileOperation* fileOperation = new FileOperation();
|
||||
string directory = fileOperation->getDirectoryFromString();
|
||||
|
||||
string hdrPath = directory + "\\" + m_FileName2Save + "_" + std::to_string(m_FileSavedCounter) + ".hdr";
|
||||
string hdrPath = removeFileExtension(m_FileName2Save2) + ".hdr";
|
||||
|
||||
std::ofstream outfile(hdrPath.c_str());
|
||||
outfile << "ENVI\n";
|
||||
|
@ -66,6 +66,7 @@ protected:
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
||||
string m_FileName2Save;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
||||
string m_FileName2Save2;
|
||||
int m_FileSavedCounter;//<2F><><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD>Ӱ<EFBFBD><D3B0><EFBFBD>ļ<EFBFBD>
|
||||
|
||||
bool m_HasDark;//<2F><><EFBFBD>ɼ<EFBFBD><C9BC>˰<EFBFBD><CBB0><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊtrue
|
||||
|
@ -285,16 +285,13 @@ void ResononNirImager::start_record()
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
FileOperation* fileOperation = new FileOperation();
|
||||
string directory = fileOperation->getDirectoryFromString();
|
||||
string imgPath = directory + "\\" + m_FileName2Save + "_" + std::to_string(m_FileSavedCounter);
|
||||
|
||||
FILE* m_fImage = fopen((imgPath + ".bil").c_str(), "w+b");
|
||||
m_FileName2Save2 = m_FileName2Save + "_" + std::to_string(m_FileSavedCounter) + ".bil";
|
||||
FILE* m_fImage = fopen(m_FileName2Save2.c_str(), "w+b");
|
||||
|
||||
size_t x;
|
||||
double pixelValueTmp;
|
||||
|
||||
string timesFile = imgPath + ".times";
|
||||
string timesFile = removeFileExtension(m_FileName2Save2) + ".times";
|
||||
FILE* hTimesFile = fopen(timesFile.c_str(), "w+");
|
||||
|
||||
reConnectImage();//nir<69>ڶ<EFBFBD><DAB6>βɼ<CEB2>ʱ<EFBFBD><CAB1>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>imagerStartCollect()<29>ᱨ<EFBFBD><E1B1A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@ -395,11 +392,7 @@ void ResononNirImager::WriteHdr()
|
||||
//write an ENVI compatible header file
|
||||
using namespace std;
|
||||
|
||||
|
||||
FileOperation* fileOperation = new FileOperation();
|
||||
string directory = fileOperation->getDirectoryFromString();
|
||||
|
||||
string hdrPath = directory + "\\" + m_FileName2Save + "_" + std::to_string(m_FileSavedCounter) + ".hdr";
|
||||
string hdrPath = removeFileExtension(m_FileName2Save2) + ".hdr";
|
||||
|
||||
std::ofstream outfile(hdrPath.c_str());
|
||||
outfile << "ENVI\n";
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include "resonon_imager_allied.h"
|
||||
#include "image2display.h"
|
||||
#include "fileOperation.h"
|
||||
#include "utility_tc.h"
|
||||
|
||||
class ResononNirImager :public ImagerOperationBase
|
||||
{
|
||||
|
@ -9,7 +9,7 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>523</width>
|
||||
<width>629</width>
|
||||
<height>463</height>
|
||||
</rect>
|
||||
</property>
|
||||
@ -25,7 +25,7 @@
|
||||
<rect>
|
||||
<x>90</x>
|
||||
<y>250</y>
|
||||
<width>341</width>
|
||||
<width>434</width>
|
||||
<height>134</height>
|
||||
</rect>
|
||||
</property>
|
||||
@ -70,7 +70,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>版本:1.8.6</string>
|
||||
<string>版本:1.8.7</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_4">
|
||||
|
@ -101,6 +101,17 @@ bool createDir(QString fullPath)
|
||||
}
|
||||
}
|
||||
|
||||
std::string removeFileExtension(std::string filename)
|
||||
{
|
||||
size_t lastDot = filename.find_last_of(".");
|
||||
if (lastDot == std::string::npos) {
|
||||
// 如果没有找到后缀,返回原字符串
|
||||
return filename;
|
||||
}
|
||||
return filename.substr(0, lastDot);
|
||||
|
||||
}
|
||||
|
||||
QList<QString> getFileInfo(QString file)
|
||||
{
|
||||
QFileInfo fileInfo = QFileInfo(file);
|
||||
|
@ -3,6 +3,7 @@
|
||||
|
||||
#include <iostream>
|
||||
#include <ctime>
|
||||
#include <string>
|
||||
|
||||
#include <QString>
|
||||
#include <QDebug>
|
||||
@ -18,6 +19,7 @@ void bubbleSort(unsigned short * a, int n);
|
||||
void swap(unsigned short * a, unsigned short * b);
|
||||
|
||||
bool createDir(QString fullPath);
|
||||
std::string removeFileExtension(std::string filename);
|
||||
|
||||
QList<QString> getFileInfo(QString file);
|
||||
|
||||
|
Reference in New Issue
Block a user