2024-11-25 01:30:14 +00:00
|
|
|
|
#include "QComplex2AmpPhase.h"
|
|
|
|
|
#include <QtWidgets>
|
|
|
|
|
#include <QFileDialog>
|
2024-11-25 06:26:46 +00:00
|
|
|
|
#include "FileOperator.h"
|
|
|
|
|
#include "BaseTool.h"
|
2024-11-25 01:30:14 +00:00
|
|
|
|
#include "GF3CalibrationAndGeocodingClass.h"
|
|
|
|
|
|
|
|
|
|
QComplex2AmpPhase::QComplex2AmpPhase(QWidget *parent)
|
|
|
|
|
: QDialog(parent)
|
|
|
|
|
{
|
|
|
|
|
ui.setupUi(this);
|
|
|
|
|
QObject::connect(ui.radioButtonAmp,SIGNAL(toggled(bool)),this,SLOT(radioButtonAmptoggled(bool)));
|
|
|
|
|
QObject::connect(ui.radioButtonPhase, SIGNAL(toggled(bool)), this, SLOT(radioButtonPhasetoggled(bool)));
|
|
|
|
|
QObject::connect(ui.radioButtonSigma0, SIGNAL(toggled(bool)), this, SLOT(radioButtonSigma0toggled(bool)));
|
|
|
|
|
//toggled(bool )
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QComplex2AmpPhase::~QComplex2AmpPhase()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void QComplex2AmpPhase::accept()
|
|
|
|
|
{
|
|
|
|
|
QProgressDialog progressDialog(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>", u8"<EFBFBD><EFBFBD>ֹ", 0, ui.listWidgetImg->count());
|
|
|
|
|
progressDialog.setWindowTitle(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>");
|
|
|
|
|
progressDialog.setWindowModality(Qt::WindowModal);
|
|
|
|
|
progressDialog.setAutoClose(true);
|
|
|
|
|
progressDialog.setValue(0);
|
|
|
|
|
progressDialog.setMaximum(ui.listWidgetImg->count());
|
|
|
|
|
progressDialog.setMinimum(0);
|
|
|
|
|
progressDialog.show();
|
|
|
|
|
QString outworkdir = ui.lineEditWorkDir->text();
|
|
|
|
|
for (long i = 0; i < ui.listWidgetImg->count(); i++) {
|
|
|
|
|
QString imgfilepath = ui.listWidgetImg->item(i)->text();
|
|
|
|
|
progressDialog.setLabelText(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>Ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + getFileNameWidthoutExtend(imgfilepath));
|
|
|
|
|
QString filename = getFileNameWidthoutExtend(imgfilepath);
|
|
|
|
|
QString folderpath = getParantFromPath(imgfilepath);
|
|
|
|
|
SARSimulationImageL1Dataset slcl1(RasterLevel::RasterSLC);
|
|
|
|
|
slcl1.Open(folderpath, filename);
|
|
|
|
|
QString l2bfilename = filename + ui.lineEditHZ->text();
|
|
|
|
|
SARSimulationImageL1Dataset l1B(RasterLevel::RasterL1B);
|
|
|
|
|
slcl1.OpenOrNew(outworkdir, l2bfilename,slcl1.getrowCount(),slcl1.getcolCount());
|
|
|
|
|
QString srcxmlpath = slcl1.getxmlFilePath();
|
|
|
|
|
QString tarxmlpath = l1B.getxmlFilePath();
|
|
|
|
|
copyAndReplaceFile(srcxmlpath, tarxmlpath);
|
|
|
|
|
l1B.loadFromXml();
|
|
|
|
|
if (ui.radioButtonAmp->isChecked()) {
|
|
|
|
|
Complex2AmpRaster(imgfilepath, slcl1.getImageRasterPath());
|
|
|
|
|
}
|
|
|
|
|
else if (ui.radioButtonPhase->isChecked()) {
|
|
|
|
|
Complex2PhaseRaster(imgfilepath, slcl1.getImageRasterPath());
|
|
|
|
|
}
|
|
|
|
|
else if (ui.radioButtonSigma0->isChecked()) {
|
|
|
|
|
Complex2dBRaster(imgfilepath, slcl1.getImageRasterPath());
|
|
|
|
|
}
|
|
|
|
|
progressDialog.setValue(i);
|
|
|
|
|
}
|
|
|
|
|
progressDialog.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void QComplex2AmpPhase::reject()
|
|
|
|
|
{
|
|
|
|
|
this->close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void QComplex2AmpPhase::onpushButtonAddClicked(bool)
|
|
|
|
|
{
|
|
|
|
|
QStringList fileNames = QFileDialog::getOpenFileNames(
|
|
|
|
|
this, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
tr(u8"ѡ<EFBFBD><EFBFBD>Ӱ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"), // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
QString(), // Ĭ<><C4AC>·<EFBFBD><C2B7>
|
|
|
|
|
tr(u8"tif Files (*.tif);;data Files (*.data);;bin Files (*.bin);;All Files (*)") // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
if (!fileNames.isEmpty()) {
|
|
|
|
|
QString message = "ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>У<EFBFBD>\n";
|
|
|
|
|
for (const QString& fileName : fileNames) {
|
|
|
|
|
this->ui.listWidgetImg->addItem(fileName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
QMessageBox::information(this, tr(u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"), tr(u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void QComplex2AmpPhase::onpushButtonRemoveClicked(bool)
|
|
|
|
|
{
|
|
|
|
|
QList<QListWidgetItem*> selectedItems = this->ui.listWidgetImg->selectedItems();
|
|
|
|
|
for (QListWidgetItem* item : selectedItems) {
|
|
|
|
|
delete this->ui.listWidgetImg->takeItem(this->ui.listWidgetImg->row(item));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void QComplex2AmpPhase::onpushButtonWorkSpaceClicked(bool)
|
|
|
|
|
{
|
|
|
|
|
// <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.lineEditWorkDir->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 QComplex2AmpPhase::radioButtonAmptoggled(bool flag)
|
|
|
|
|
{
|
|
|
|
|
if (ui.radioButtonAmp->isChecked()) {
|
|
|
|
|
ui.lineEditHZ->setText("_amp");
|
|
|
|
|
}
|
|
|
|
|
else if (ui.radioButtonPhase->isChecked()) {
|
|
|
|
|
ui.lineEditHZ->setText("_phase");
|
|
|
|
|
}
|
|
|
|
|
else if (ui.radioButtonSigma0->isChecked()) {
|
|
|
|
|
ui.lineEditHZ->setText("_dB");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void QComplex2AmpPhase::radioButtonPhasetoggled(bool flag)
|
|
|
|
|
{
|
|
|
|
|
if (ui.radioButtonAmp->isChecked()) {
|
|
|
|
|
ui.lineEditHZ->setText("_amp");
|
|
|
|
|
}
|
|
|
|
|
else if (ui.radioButtonPhase->isChecked()) {
|
|
|
|
|
ui.lineEditHZ->setText("_phase");
|
|
|
|
|
}
|
|
|
|
|
else if (ui.radioButtonSigma0->isChecked()) {
|
|
|
|
|
ui.lineEditHZ->setText("_dB");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void QComplex2AmpPhase::radioButtonSigma0toggled(bool flag)
|
|
|
|
|
{
|
|
|
|
|
if (ui.radioButtonAmp->isChecked()) {
|
|
|
|
|
ui.lineEditHZ->setText("_amp");
|
|
|
|
|
}
|
|
|
|
|
else if (ui.radioButtonPhase->isChecked()) {
|
|
|
|
|
ui.lineEditHZ->setText("_phase");
|
|
|
|
|
}
|
|
|
|
|
else if(ui.radioButtonSigma0->isChecked()) {
|
|
|
|
|
ui.lineEditHZ->setText("_dB");
|
|
|
|
|
}
|
|
|
|
|
}
|