200 lines
7.0 KiB
C++
200 lines
7.0 KiB
C++
|
#include "QImageSARRFPC.h"
|
|||
|
#include <QFileDialog>
|
|||
|
#include <QMessageBox>
|
|||
|
#include "RFPCProcessCls.h"
|
|||
|
#include <boost/thread.hpp>
|
|||
|
#include <thread>
|
|||
|
|
|||
|
QImageSARRFPC::QImageSARRFPC(QWidget *parent)
|
|||
|
: QDialog(parent)
|
|||
|
{
|
|||
|
ui.setupUi(this);
|
|||
|
|
|||
|
|
|||
|
QObject::connect(ui.pushButtonRP, SIGNAL(clicked()), this, SLOT(onpushButtonRPClieck()));
|
|||
|
QObject::connect(ui.pushButtonTP, SIGNAL(clicked()), this, SLOT(onpushButtonTPClieck()));
|
|||
|
QObject::connect(ui.pushButtonEcho, SIGNAL(clicked()), this, SLOT(onpushButtonEchoClieck()));
|
|||
|
QObject::connect(ui.pushButtongpxml, SIGNAL(clicked()), this, SLOT(onpushButtongpxmlClieck()));
|
|||
|
QObject::connect(ui.pushButtonTaskxml, SIGNAL(clicked()), this, SLOT(onpushButtonTaskxmlClieck()));
|
|||
|
QObject::connect(ui.pushButtondem, SIGNAL(clicked()), this, SLOT(onpushButtondemClieck()));
|
|||
|
QObject::connect(ui.pushButtonlandcover, SIGNAL(clicked()), this, SLOT(onpushButtonlandcoverClieck()));
|
|||
|
QObject::connect(ui.pushButtonsloper, SIGNAL(clicked()), this, SLOT(onpushButtonSloperClieck()));
|
|||
|
|
|||
|
|
|||
|
|
|||
|
QObject::connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(onBtnaccept()));
|
|||
|
QObject::connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(onBtnReject()));
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
QImageSARRFPC::~QImageSARRFPC()
|
|||
|
{}
|
|||
|
|
|||
|
void QImageSARRFPC::onpushButtonRPClieck()
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>һ<EFBFBD><D2BB> .tif <20>ļ<EFBFBD>
|
|||
|
QString fileName = QFileDialog::getSaveFileName(this,
|
|||
|
u8"<EFBFBD><EFBFBD><EFBFBD>շ<EFBFBD><EFBFBD><EFBFBD>ͼ", // <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
"", // <20><>ʼĿ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ·<CEAA><C2B7>
|
|||
|
u8"csv Files (*.csv);;All Files (*)"); // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><CDB9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if (!fileName.isEmpty()) {
|
|||
|
this->ui.receivePatternFilePathEdit->setText(fileName);
|
|||
|
}
|
|||
|
else {
|
|||
|
QMessageBox::information(this, u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>", u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ļ<EFBFBD>");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void QImageSARRFPC::onpushButtonTPClieck()
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>һ<EFBFBD><D2BB> .tif <20>ļ<EFBFBD>
|
|||
|
QString fileName = QFileDialog::getSaveFileName(this,
|
|||
|
u8"<EFBFBD><EFBFBD><EFBFBD>䷽<EFBFBD><EFBFBD>ͼ", // <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
"", // <20><>ʼĿ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ·<CEAA><C2B7>
|
|||
|
u8"csv Files (*.csv);;All Files (*)"); // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><CDB9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if (!fileName.isEmpty()) {
|
|||
|
this->ui.transformPatternFilePathEdit->setText(fileName);
|
|||
|
}
|
|||
|
else {
|
|||
|
QMessageBox::information(this, u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>", u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ļ<EFBFBD>");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void QImageSARRFPC::onpushButtonEchoClieck()
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>һ<EFBFBD><D2BB> .tif <20>ļ<EFBFBD>
|
|||
|
QString fileName = QFileDialog::getExistingDirectory(this, u8"ѡ<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>", "");
|
|||
|
|
|||
|
if (!fileName.isEmpty()) {
|
|||
|
this->ui.outEchoPathEdit->setText(fileName);
|
|||
|
}
|
|||
|
else {
|
|||
|
QMessageBox::information(this, u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>", u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void QImageSARRFPC::onpushButtongpxmlClieck()
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>һ<EFBFBD><D2BB> .tif <20>ļ<EFBFBD>
|
|||
|
QString fileName = QFileDialog::getSaveFileName(this,
|
|||
|
u8"GPS xml", // <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
"", // <20><>ʼĿ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ·<CEAA><C2B7>
|
|||
|
u8"xml Files (*.xml);;All Files (*)"); // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><CDB9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if (!fileName.isEmpty()) {
|
|||
|
this->ui.gpsXmlPathEdit->setText(fileName);
|
|||
|
}
|
|||
|
else {
|
|||
|
QMessageBox::information(this, u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>", u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ļ<EFBFBD>");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void QImageSARRFPC::onpushButtonTaskxmlClieck()
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>һ<EFBFBD><D2BB> .tif <20>ļ<EFBFBD>
|
|||
|
QString fileName = QFileDialog::getSaveFileName(this,
|
|||
|
u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml", // <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
"", // <20><>ʼĿ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ·<CEAA><C2B7>
|
|||
|
u8"xml Files (*.xml);;All Files (*)"); // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><CDB9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if (!fileName.isEmpty()) {
|
|||
|
this->ui.taskXmlPathEdit->setText(fileName);
|
|||
|
}
|
|||
|
else {
|
|||
|
QMessageBox::information(this, u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>", u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ļ<EFBFBD>");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void QImageSARRFPC::onpushButtondemClieck()
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>һ<EFBFBD><D2BB> .tif <20>ļ<EFBFBD>
|
|||
|
QString fileName = QFileDialog::getOpenFileName(this,
|
|||
|
u8"dem<EFBFBD>ļ<EFBFBD>", // <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
"", // <20><>ʼĿ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ·<CEAA><C2B7>
|
|||
|
u8"tif Files (*.tif);;data Files (*.data);;bin Files (*.bin);;All Files (*)"); // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><CDB9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if (!fileName.isEmpty()) {
|
|||
|
this->ui.demTiffPathEdit->setText(fileName);
|
|||
|
}
|
|||
|
else {
|
|||
|
QMessageBox::information(this, u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>", u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ļ<EFBFBD>");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void QImageSARRFPC::onpushButtonSloperClieck()
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>һ<EFBFBD><D2BB> .tif <20>ļ<EFBFBD>
|
|||
|
QString fileName = QFileDialog::getOpenFileName(this,
|
|||
|
u8"sloper<EFBFBD>ļ<EFBFBD>", // <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
"", // <20><>ʼĿ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ·<CEAA><C2B7>
|
|||
|
u8"tif Files (*.tif);;data Files (*.data);;bin Files (*.bin);;All Files (*)"); // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><CDB9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if (!fileName.isEmpty()) {
|
|||
|
this->ui.sloperPathEdit->setText(fileName);
|
|||
|
}
|
|||
|
else {
|
|||
|
QMessageBox::information(this, u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>", u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ļ<EFBFBD>");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void QImageSARRFPC::onpushButtonlandcoverClieck()
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>һ<EFBFBD><D2BB> .tif <20>ļ<EFBFBD>
|
|||
|
QString fileName = QFileDialog::getOpenFileName(this,
|
|||
|
u8"<EFBFBD>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
"", // <20><>ʼĿ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ·<CEAA><C2B7>
|
|||
|
u8"tif Files (*.tif);;data Files (*.data);;bin Files (*.bin);;All Files (*)"); // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><CDB9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if (!fileName.isEmpty()) {
|
|||
|
this->ui.landCoverPathEdit->setText(fileName);
|
|||
|
}
|
|||
|
else {
|
|||
|
QMessageBox::information(this, u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>", u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ļ<EFBFBD>");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void QImageSARRFPC::onBtnaccept()
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
QString GPSXmlPath = ui.gpsXmlPathEdit->text().trimmed();// u8"D:/Programme/vs2022/RasterMergeTest/TestData/GF3_Simulation_GPSNode.xml";
|
|||
|
QString TaskXmlPath = ui.taskXmlPathEdit->text().trimmed();//u8"D:/Programme/vs2022/RasterMergeTest/TestData/GF3_Simulation_Setting.xml";
|
|||
|
QString demTiffPath = ui.demTiffPathEdit->text().trimmed();//u8"D:/Programme/vs2022/RasterMergeTest/TestData/115E39N_COP30_clip.tif";
|
|||
|
QString landConverPath = ui.landCoverPathEdit->text().trimmed();// u8"D:/Programme/vs2022/RasterMergeTest/TestData/landcover_aligned.tiff";
|
|||
|
QString demsloperPath = ui.sloperPathEdit->text().trimmed();
|
|||
|
QString OutEchoPath = ui.outEchoPathEdit->text().trimmed();// u8"D:/Programme/vs2022/RasterMergeTest/TestData/outData/";
|
|||
|
QString simulationtaskName = ui.simulationTaskNameEdit->text().trimmed();// u8"GF3_Simulation";
|
|||
|
// <20><><EFBFBD>߷<EFBFBD><DFB7><EFBFBD>ͼ
|
|||
|
QString TransAntPatternFilePath = ui.transformPatternFilePathEdit->text().trimmed();// "D:/Programme/vs2022/RasterMergeTest/TestData/ant/ant_model_setting_Horn_conical1_FarField-theta.csv"; //
|
|||
|
QString ReceiveAntPatternFilePath = ui.receivePatternFilePathEdit->text().trimmed();//"D:/Programme/vs2022/RasterMergeTest/TestData/ant/ant_model_setting_Horn_conical1_FarField-phi.csv";
|
|||
|
|
|||
|
// <20><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>
|
|||
|
// <20><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
|
|||
|
std::cout << "GPS XML Path: " << GPSXmlPath.toStdString() << "\n"
|
|||
|
<< "Task XML Path: " << TaskXmlPath.toStdString() << "\n"
|
|||
|
<< "DEM TIFF Path: " << demTiffPath.toStdString() << "\n"
|
|||
|
<< "Land Cover Path: " << landConverPath.toStdString() << "\n"
|
|||
|
|
|||
|
<< "Trans AntPattern Path: " << TransAntPatternFilePath.toStdString() << "\n"
|
|||
|
<< "Reception AntPattern Path: " << ReceiveAntPatternFilePath.toStdString() << "\n"
|
|||
|
<< "Output Path: " << OutEchoPath.toStdString() << "\n"
|
|||
|
<< "Simulation Task Name: " << simulationtaskName.toStdString() << "\n";
|
|||
|
|
|||
|
long cpucore_num = std::thread::hardware_concurrency();
|
|||
|
|
|||
|
RFPCProcessMain(cpucore_num,
|
|||
|
TransAntPatternFilePath, ReceiveAntPatternFilePath, simulationtaskName,
|
|||
|
OutEchoPath, GPSXmlPath, TaskXmlPath, demTiffPath, demsloperPath, landConverPath);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void QImageSARRFPC::onBtnReject()
|
|||
|
{
|
|||
|
this->close();
|
|||
|
}
|