拆分产品仿真级别

pull/10/head
陈增辉 2025-04-21 13:26:35 +08:00
parent 11c7f9974d
commit e7849cbdeb
12 changed files with 608 additions and 0 deletions

View File

@ -25,6 +25,7 @@ ToolBoxWidget::ToolBoxWidget(LAMPMainWidget::RasterMainWidget* mainWindows, QWid
ui->setupUi(this);
setContextMenuPolicy(Qt::CustomContextMenu); // <20>零塘숩우쌥꽉데
QObject::connect(this, SIGNAL(addBoxToolItemSIGNAL(QToolAbstract*)), this, SLOT(addBoxToolItemSLOT(QToolAbstract*)));
QObject::connect(this, SIGNAL(addBoxToolItemInPathSIGNAL(QVector<QString> , QToolAbstract* )), this, SLOT(addBoxToolItemInPathSLOT(QVector<QString>, QToolAbstract * )));
}
@ -122,6 +123,37 @@ void ToolBoxWidget::addBoxToolItemSLOT(QToolAbstract* item)
}
void ToolBoxWidget::addBoxToolItemInPathSLOT(QVector<QString> xnodepath, QToolAbstract* item)
{
QString toolName = item->getToolName();
QTreeWidgetItem* parentItem = findOrCreateParentItem(xnodepath);
// 检查该父项是否已经绑定了 toolButton
if (parentItem && ui->treeWidgetToolBox->itemWidget(parentItem, 0) == nullptr) {
toollist.append(QToolboxTreeWidgetItem(ui->treeWidgetToolBox, parentItem, item));
//QTreeWidgetItem* actionItem = new QTreeWidgetItem(parentItem);
//parentItem->addChild(actionItem);
//actionItem->setText(0,toolName);
//QIcon icon(QString::fromUtf8(":/ToolBoxWidget/toolicon"));
//QPushButton* button = new QPushButton(ui->treeWidgetToolBox);
//button->setIcon(icon);
//button->setText(toolName);
//button->setLayoutDirection(Qt::LeftToRight);
//button->setStyleSheet("QPushButton { text-align: left; }");
//ui->treeWidgetToolBox->setItemWidget(actionItem, 0, button);
//connect(button, SIGNAL(clicked()), item, SLOT(excute()));
//item->setParent(ui->treeWidgetToolBox);
//qDebug() << "ToolButton bound to parent:" << actionItem->text(0);
}
else {
qDebug() << "ToolButton already bound to parent:" << parentItem->text(0);
}
}
// 몽앴쨌쓺꿴冷샀눼쉔만淃
QTreeWidgetItem* ToolBoxWidget::findOrCreateParentItem( QVector<QString>& path) {
QTreeWidgetItem* currentItem = nullptr;

View File

@ -49,9 +49,11 @@ private:
signals:
void addBoxToolItemSIGNAL(QToolAbstract* item);
void addBoxToolItemInPathSIGNAL(QVector<QString> xnodepath, QToolAbstract* item);
public slots:
void addBoxToolItemSLOT(QToolAbstract* item);
void addBoxToolItemInPathSLOT(QVector<QString> xnodepath, QToolAbstract* item);
QTreeWidgetItem* findOrCreateParentItem( QVector<QString>& path);
QTreeWidgetItem* findOrCreateTopLevelItem( QString& name);
QTreeWidgetItem* findChildItemByName(QTreeWidgetItem* parentItem, QString& name);

View File

@ -15,6 +15,8 @@
#include "QtCreateGPSPointsDialog.h"
#include "RasterVRT2ENVIdataDialog.h"
#include "SARSatalliteSimulationWorkflow.h" // 大场景仿真
GF3ImportDataToolButton::GF3ImportDataToolButton(QWidget* parent) :QToolAbstract(parent)
{
this->toolPath = QVector<QString>(0);
@ -117,6 +119,18 @@ void RegisterPreToolBox(LAMPMainWidget::RasterMainWidget* mainwindows, ToolBoxWi
emit toolbox->addBoxToolItemSIGNAL(new QLookTableCorrectOffsetToolButton(toolbox));
emit toolbox->addBoxToolItemSIGNAL(new QCreateGPSPointsToolButton(toolbox));
emit toolbox->addBoxToolItemSIGNAL(new RasterVRT2ENVIdataDialogToolButton(toolbox));
// 大场景仿真流程
#ifdef __BASETOOLBOX__SARSATALLITESIMULATIONWORKFLOW__H__
initBaseToolSARSateSimulationWorkflow(toolbox);
#endif // __BASETOOLBOX__SARSATALLITESIMULATIONWORKFLOW__H__
}
QDEMResampleDialogToolButton::QDEMResampleDialogToolButton(QWidget* parent)

View File

@ -213,6 +213,8 @@
<ClCompile Include="BaseToolbox\SateOrbit.cpp" />
<ClCompile Include="BaseToolbox\simptsn.cpp" />
<ClCompile Include="BaseToolbox\WGS84_J2000.cpp" />
<ClCompile Include="SARSatalliteSimulationWorkflow.cpp" />
<QtMoc Include="SARSatalliteSimulationWorkflow.h" />
<QtMoc Include="BaseToolbox\DEMLLA2XYZTool.h" />
<ClInclude Include="BaseToolbox\GF3CalibrationAndGeocodingClass.h" />
<ClInclude Include="BaseToolbox\GF3PSTNClass.h" />

View File

@ -109,6 +109,9 @@
<ClCompile Include="BaseToolbox\RasterVRT2ENVIdataDialog.cpp">
<Filter>BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="SARSatalliteSimulationWorkflow.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<QtMoc Include="BaseToolbox\DEMLLA2XYZTool.h">
@ -153,6 +156,9 @@
<QtMoc Include="BaseToolbox\RasterVRT2ENVIdataDialog.h">
<Filter>BaseToolbox</Filter>
</QtMoc>
<QtMoc Include="SARSatalliteSimulationWorkflow.h">
<Filter>Header Files</Filter>
</QtMoc>
</ItemGroup>
<ItemGroup>
<QtUic Include="BaseToolbox\DEMLLA2XYZTool.ui">

View File

@ -0,0 +1,90 @@
#include "SARSatalliteSimulationWorkflow.h"
#include "QtCreateGPSPointsDialog.h"
#include "QResampleRefrenceRaster.h"
#include "DEMLLA2XYZTool.h"
void initBaseToolSARSateSimulationWorkflow(ToolBoxWidget* toolbox)
{
// 1. 两行根数生成轨道节点
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3B仿真流程"}, new TLE2SatePositionVelocityToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3C仿真流程"}, new TLE2SatePositionVelocityToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1A仿真流程"}, new TLE2SatePositionVelocityToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1B仿真流程"}, new TLE2SatePositionVelocityToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2E仿真流程"}, new TLE2SatePositionVelocityToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2F仿真流程"}, new TLE2SatePositionVelocityToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT04仿真流程"}, new TLE2SatePositionVelocityToolButton(toolbox));
// 3. 对齐地类与地形影像
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3B仿真流程"}, new QAligendLandClsAndDEMToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3C仿真流程"}, new QAligendLandClsAndDEMToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1A仿真流程"}, new QAligendLandClsAndDEMToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1B仿真流程"}, new QAligendLandClsAndDEMToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2E仿真流程"}, new QAligendLandClsAndDEMToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2F仿真流程"}, new QAligendLandClsAndDEMToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT04仿真流程"}, new QAligendLandClsAndDEMToolButton(toolbox));
// 4. 计算地固坐标与坡面矢量影像
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3B仿真流程"}, new QDEMLLA2XYZSloperVectorToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3C仿真流程"}, new QDEMLLA2XYZSloperVectorToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1A仿真流程"}, new QDEMLLA2XYZSloperVectorToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1B仿真流程"}, new QDEMLLA2XYZSloperVectorToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2E仿真流程"}, new QDEMLLA2XYZSloperVectorToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2F仿真流程"}, new QDEMLLA2XYZSloperVectorToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT04仿真流程"}, new QDEMLLA2XYZSloperVectorToolButton(toolbox));
}
TLE2SatePositionVelocityToolButton::TLE2SatePositionVelocityToolButton(QWidget* parent)
{
this->toolname = QString(u8"1.两行根数生成轨道节点");
}
TLE2SatePositionVelocityToolButton::~TLE2SatePositionVelocityToolButton()
{
}
void TLE2SatePositionVelocityToolButton::run()
{
QtCreateGPSPointsDialog* dialog = new QtCreateGPSPointsDialog;
dialog->setWindowTitle(u8"两行根数生成轨道节点");
dialog->show();
}
QAligendLandClsAndDEMToolButton::QAligendLandClsAndDEMToolButton(QWidget* parent)
{
this->toolname = QString(u8"3.对齐地类与地形影像");
}
QAligendLandClsAndDEMToolButton::~QAligendLandClsAndDEMToolButton()
{
}
void QAligendLandClsAndDEMToolButton::run()
{
QResampleRefrenceRaster* dialog = new QResampleRefrenceRaster;
dialog->setWindowTitle(u8"对齐地类与地形(根据地形栅格重采样地类影像)");
dialog->show();
}
QDEMLLA2XYZSloperVectorToolButton::QDEMLLA2XYZSloperVectorToolButton(QWidget* parent)
{
this->toolname = QString(u8"4.地形生成地面目标坐标与坡面矢量");
}
QDEMLLA2XYZSloperVectorToolButton::~QDEMLLA2XYZSloperVectorToolButton()
{
}
void QDEMLLA2XYZSloperVectorToolButton::run()
{
DEMLLA2XYZTool* dialog = new DEMLLA2XYZTool();
dialog->setWindowTitle(u8"根据地形栅格生成地面目标坐标点与坡面矢量");
dialog->show();
}

View File

@ -0,0 +1,64 @@
#pragma once
#ifndef __BASETOOLBOX__SARSATALLITESIMULATIONWORKFLOW__H__
#define __BASETOOLBOX__SARSATALLITESIMULATIONWORKFLOW__H__
/**
* \file SARSatalliteSimulationWorkflow.h
* \brief 仿
*
* \author 30453
* \date April 2025
*
**/
#include "basetoolbox_global.h"
#include "ToolBoxWidget.h"
extern "C" BASETOOLBOX_EXPORT void initBaseToolSARSateSimulationWorkflow(ToolBoxWidget* toolbox);
class BASETOOLBOX_EXPORT TLE2SatePositionVelocityToolButton : public QToolAbstract {
Q_OBJECT
public:
TLE2SatePositionVelocityToolButton(QWidget* parent = nullptr);
~TLE2SatePositionVelocityToolButton();
public:
virtual void run() override;
};
class BASETOOLBOX_EXPORT QAligendLandClsAndDEMToolButton : public QToolAbstract {
Q_OBJECT
public:
QAligendLandClsAndDEMToolButton(QWidget* parent = nullptr);
~QAligendLandClsAndDEMToolButton();
public :
virtual void run() override;
};
class BASETOOLBOX_EXPORT QDEMLLA2XYZSloperVectorToolButton : public QToolAbstract {
Q_OBJECT
public:
QDEMLLA2XYZSloperVectorToolButton(QWidget* parent = nullptr);
~QDEMLLA2XYZSloperVectorToolButton();
public:
virtual void run() override;
};
#endif

View File

@ -16,6 +16,7 @@
#include "QLonLatInterpAtiFromDEM.h"
#include "QL1ASARProcessDialog.h"
#include "SimulationSARToolSARSatalliteSimulationWorkflow.h"
void RegisterPreToolBox(LAMPMainWidget::RasterMainWidget* mainwindows, ToolBoxWidget* toolbox)
{
@ -36,6 +37,13 @@ void RegisterPreToolBox(LAMPMainWidget::RasterMainWidget* mainwindows, ToolBoxWi
emit toolbox->addBoxToolItemSIGNAL(new QLonLatInterpAtiFromDEMToolButton(toolbox));
emit toolbox->addBoxToolItemSIGNAL(new QL1ASARProcessDialogToolButton(toolbox));
#ifdef __SIMULATIONSARTOOL__SARSATALLITESIMULATIONWORKFLOW__H__
initSimulationSARToolSARSateSimulationWorkflow(toolbox);
#endif
}

View File

@ -225,6 +225,7 @@
<ClCompile Include="SARImage\QLonLatInterpAtiFromDEM.cpp" />
<ClCompile Include="SARImage\QSARSimulationComplexEchoDataDialog.cpp" />
<ClCompile Include="SARImage\QSimulationBPImageMultiProduction.cpp" />
<ClCompile Include="SimulationSARToolSARSatalliteSimulationWorkflow.cpp" />
<ClCompile Include="SimulationSAR\QEcoherentAndAdditive.cpp" />
<ClCompile Include="SimulationSAR\QImageSARRFPC.cpp" />
<ClCompile Include="SimulationSAR\QSARLookTableSimualtionGUI.cpp" />
@ -260,6 +261,7 @@
<QtMoc Include="SARImage\QSimulationBPImageMultiProduction.h" />
<QtMoc Include="SARImage\QLonLatInterpAtiFromDEM.h" />
<QtMoc Include="SARImage\QL1ASARProcessDialog.h" />
<QtMoc Include="SimulationSARToolSARSatalliteSimulationWorkflow.h" />
<ClInclude Include="SimulationSARToolAPI.h" />
<ClInclude Include="simulationsartool_global.h" />
<QtMoc Include="SimulationSAR\QImageSARRFPC.h" />

View File

@ -163,6 +163,9 @@
<ClCompile Include="SARImage\QL1ASARProcessDialog.cpp">
<Filter>SARImage</Filter>
</ClCompile>
<ClCompile Include="SimulationSARToolSARSatalliteSimulationWorkflow.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<QtUic Include="SimulationSAR\QImageSARRFPC.ui">
@ -278,6 +281,9 @@
<QtMoc Include="SARImage\QL1ASARProcessDialog.h">
<Filter>SARImage</Filter>
</QtMoc>
<QtMoc Include="SimulationSARToolSARSatalliteSimulationWorkflow.h">
<Filter>Header Files</Filter>
</QtMoc>
</ItemGroup>
<ItemGroup>
<CudaCompile Include="SimulationSAR\GPURFPC.cu">

View File

@ -0,0 +1,273 @@
#include "SimulationSARToolSARSatalliteSimulationWorkflow.h"
#include "QSimulationSARPolynomialOrbitModel.h"
#include "QtSimulationGeoSARSigma0Dialog.h"
#include <QSimulationLookTableDialog.h>
#include <QCreateSARIntensityByLookTableDialog.h>
#include <QImageSARRFPC.h>
#include <QCreateInSARImagePlaneXYZRDialog.h>
#include <QLookTableResampleFromWGS84ToRange.h>
#include <QSimulationBPImageMultiProduction.h>
#include <QL1ASARProcessDialog.h>
SIMULATIONSARTOOL_EXPORT void initSimulationSARToolSARSateSimulationWorkflow(ToolBoxWidget* toolbox)
{
// 2. 轨道节点模型拟合
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3B仿真流程"}, new QPolyfitSatelliteGPSModelToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3C仿真流程"}, new QPolyfitSatelliteGPSModelToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1A仿真流程"}, new QPolyfitSatelliteGPSModelToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1B仿真流程"}, new QPolyfitSatelliteGPSModelToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2E仿真流程"}, new QPolyfitSatelliteGPSModelToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2F仿真流程"}, new QPolyfitSatelliteGPSModelToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT04仿真流程"}, new QPolyfitSatelliteGPSModelToolButton(toolbox));
// 5. 基于DEM和分类信息的SAR图像模拟
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3B仿真流程",u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorGeoSimulationRsaterToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3C仿真流程",u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorGeoSimulationRsaterToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1A仿真流程",u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorGeoSimulationRsaterToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1B仿真流程",u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorGeoSimulationRsaterToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2E仿真流程",u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorGeoSimulationRsaterToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2F仿真流程",u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorGeoSimulationRsaterToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT04仿真流程",u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorGeoSimulationRsaterToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3B仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3C仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1A仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1B仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT04仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3B仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QSimulationSlrSARRasterToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3C仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QSimulationSlrSARRasterToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1A仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QSimulationSlrSARRasterToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1B仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QSimulationSlrSARRasterToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QSimulationSlrSARRasterToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QSimulationSlrSARRasterToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT04仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QSimulationSlrSARRasterToolButton(toolbox));
//6. 基于回波仿真成像
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3B仿真流程", u8"基于回波仿真成像"}, new QEchoDataSimulationSARRFPCToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3C仿真流程", u8"基于回波仿真成像"}, new QEchoDataSimulationSARRFPCToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1A仿真流程", u8"基于回波仿真成像"}, new QEchoDataSimulationSARRFPCToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1B仿真流程", u8"基于回波仿真成像"}, new QEchoDataSimulationSARRFPCToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"基于回波仿真成像"}, new QEchoDataSimulationSARRFPCToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"基于回波仿真成像"}, new QEchoDataSimulationSARRFPCToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT04仿真流程", u8"基于回波仿真成像"}, new QEchoDataSimulationSARRFPCToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3B仿真流程", u8"1~3级回波仿真"}, new QInSARImageNetGeneratorToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3C仿真流程", u8"1~3级回波仿真"}, new QInSARImageNetGeneratorToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1A仿真流程", u8"1~3级回波仿真"}, new QInSARImageNetGeneratorToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1B仿真流程", u8"1~3级回波仿真"}, new QInSARImageNetGeneratorToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"1~3级回波仿真"}, new QInSARImageNetGeneratorToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"1~3级回波仿真"}, new QInSARImageNetGeneratorToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT04仿真流程", u8"1~3级回波仿真"}, new QInSARImageNetGeneratorToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3B仿真流程", u8"1~3级回波仿真"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3C仿真流程", u8"1~3级回波仿真"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1A仿真流程", u8"1~3级回波仿真"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1B仿真流程", u8"1~3级回波仿真"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"1~3级回波仿真"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"1~3级回波仿真"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT04仿真流程", u8"1~3级回波仿真"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3B仿真流程", u8"1~3级回波仿真"}, new QMapLooktableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3C仿真流程", u8"1~3级回波仿真"}, new QMapLooktableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1A仿真流程", u8"1~3级回波仿真"}, new QMapLooktableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1B仿真流程", u8"1~3级回波仿真"}, new QMapLooktableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"1~3级回波仿真"}, new QMapLooktableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"1~3级回波仿真"}, new QMapLooktableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT04仿真流程", u8"1~3级回波仿真"}, new QMapLooktableToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3B仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageMultiProductionLevel1_2ToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3C仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageMultiProductionLevel1_2ToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1A仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageMultiProductionLevel1_2ToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1B仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageMultiProductionLevel1_2ToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageMultiProductionLevel1_2ToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageMultiProductionLevel1_2ToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT04仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageMultiProductionLevel1_2ToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3B仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageL1BToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"GF3C仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageL1BToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1A仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageL1BToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT1B仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageL1BToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageL1BToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageL1BToolButton(toolbox));
emit toolbox->addBoxToolItemInPathSIGNAL(QVector<QString>{u8"大场景仿真流程", u8"LT04仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageL1BToolButton(toolbox));
return ;
}
QPolyfitSatelliteGPSModelToolButton::QPolyfitSatelliteGPSModelToolButton(QWidget* parent)
{
this->toolname = QString(u8"2.根据轨道节点拟合轨道模型");
}
QPolyfitSatelliteGPSModelToolButton::~QPolyfitSatelliteGPSModelToolButton()
{
}
void QPolyfitSatelliteGPSModelToolButton::run()
{
QSimulationPolynomialSAROrbitModel* dialog = new QSimulationPolynomialSAROrbitModel;
dialog->setWindowTitle(u8"根据轨道节点拟合轨道模型");
dialog->show();
}
QGeneratorGeoSimulationRsaterToolButton::QGeneratorGeoSimulationRsaterToolButton(QWidget* parent)
{
this->toolname = QString(u8"1.生成地距模拟影像");
}
QGeneratorGeoSimulationRsaterToolButton::~QGeneratorGeoSimulationRsaterToolButton()
{
}
void QGeneratorGeoSimulationRsaterToolButton::run()
{
QtSimulationGeoSARSigma0Dialog* dialog = new QtSimulationGeoSARSigma0Dialog;
dialog->setWindowTitle(u8"生成地距模拟影像");
dialog->show();
}
QGeneratorMapGeoAndSltLookTableToolButton::QGeneratorMapGeoAndSltLookTableToolButton(QWidget* parent)
{
this->toolname = QString(u8"2.计算坐标映射表");
}
QGeneratorMapGeoAndSltLookTableToolButton::~QGeneratorMapGeoAndSltLookTableToolButton()
{
}
void QGeneratorMapGeoAndSltLookTableToolButton::run()
{
QSimulationLookTableDialog* dialog = new QSimulationLookTableDialog;
dialog->setWindowTitle(u8"创建地距-斜距映射表");
dialog->show();
}
QSimulationSlrSARRasterToolButton::QSimulationSlrSARRasterToolButton(QWidget* parent)
{
this->toolname = QString(u8"3.生成斜距模拟影像");
}
QSimulationSlrSARRasterToolButton::~QSimulationSlrSARRasterToolButton()
{
}
void QSimulationSlrSARRasterToolButton::run()
{
QCreateSARIntensityByLookTableDialog* dialog = new QCreateSARIntensityByLookTableDialog;
dialog->setWindowTitle(u8"生成斜距模拟影像");
dialog->show();
}
QEchoDataSimulationSARRFPCToolButton::QEchoDataSimulationSARRFPCToolButton(QWidget* parent)
{
this->toolname = QString(u8"1.距离频域脉冲相干法");
}
QEchoDataSimulationSARRFPCToolButton::~QEchoDataSimulationSARRFPCToolButton()
{
}
void QEchoDataSimulationSARRFPCToolButton::run()
{
QImageSARRFPC* dialog = new QImageSARRFPC();
dialog->setWindowTitle(u8"生成回波-距离频域脉冲相干法");
dialog->show();
}
QInSARImageNetGeneratorToolButton::QInSARImageNetGeneratorToolButton(QWidget* parent)
{
this->toolname = QString(u8"1.成像网格生成");
}
QInSARImageNetGeneratorToolButton::~QInSARImageNetGeneratorToolButton()
{
}
void QInSARImageNetGeneratorToolButton::run()
{
QCreateInSARImagePlaneXYZRDialog* dialog = new QCreateInSARImagePlaneXYZRDialog;
dialog->setWindowTitle(u8"成像平面网格划分");
dialog->show();
}
QMapLooktableToolButton::QMapLooktableToolButton(QWidget* parent)
{
this->toolname = QString(u8"3.创建地理编码查找表");
}
QMapLooktableToolButton::~QMapLooktableToolButton()
{
}
void QMapLooktableToolButton::run()
{
QLookTableResampleFromWGS84ToRange* dialog = new QLookTableResampleFromWGS84ToRange;
dialog->setWindowTitle(u8"创建地理编码双向查找表");
dialog->show();
}
QSimulationBPImageMultiProductionLevel1_2ToolButton::QSimulationBPImageMultiProductionLevel1_2ToolButton(QWidget* parent)
{
this->toolname = QString(u8"4. 生成1~2级产品");
}
QSimulationBPImageMultiProductionLevel1_2ToolButton::~QSimulationBPImageMultiProductionLevel1_2ToolButton()
{
}
void QSimulationBPImageMultiProductionLevel1_2ToolButton::run()
{
QSimulationBPImageMultiProduction* dialog = new QSimulationBPImageMultiProduction;
dialog->setWindowTitle(u8"生成1~2级产品");
dialog->show();
}
QSimulationBPImageL1BToolButton::QSimulationBPImageL1BToolButton(QWidget* parent)
{
this->toolname = QString(u8"4. 生成L1B级产品");
}
QSimulationBPImageL1BToolButton::~QSimulationBPImageL1BToolButton()
{
}
void QSimulationBPImageL1BToolButton::run()
{
QL1ASARProcessDialog* dialog = new QL1ASARProcessDialog;
dialog->setWindowTitle(u8"生成L1B级产品");
dialog->show();
}

View File

@ -0,0 +1,109 @@
#pragma once
#ifndef __SIMULATIONSARTOOL__SARSATALLITESIMULATIONWORKFLOW__H__
#define __SIMULATIONSARTOOL__SARSATALLITESIMULATIONWORKFLOW__H__
#include "simulationsartool_global.h"
#include <QtWidgets/QMainWindow>
#include "ToolBoxWidget.h"
#include "QToolAbstract.h"
extern "C" SIMULATIONSARTOOL_EXPORT void initSimulationSARToolSARSateSimulationWorkflow(ToolBoxWidget* toolbox);
class SIMULATIONSARTOOL_EXPORT QPolyfitSatelliteGPSModelToolButton : public QToolAbstract {
Q_OBJECT
public:
QPolyfitSatelliteGPSModelToolButton(QWidget* parent = nullptr);
~QPolyfitSatelliteGPSModelToolButton();
public:
virtual void run() override;
};
class SIMULATIONSARTOOL_EXPORT QGeneratorGeoSimulationRsaterToolButton : public QToolAbstract {
Q_OBJECT
public:
QGeneratorGeoSimulationRsaterToolButton(QWidget* parent = nullptr);
~QGeneratorGeoSimulationRsaterToolButton();
public:
virtual void run() override;
};
class SIMULATIONSARTOOL_EXPORT QGeneratorMapGeoAndSltLookTableToolButton : public QToolAbstract {
Q_OBJECT
public:
QGeneratorMapGeoAndSltLookTableToolButton(QWidget* parent = nullptr);
~QGeneratorMapGeoAndSltLookTableToolButton();
public:
virtual void run() override;
};
class SIMULATIONSARTOOL_EXPORT QSimulationSlrSARRasterToolButton : public QToolAbstract {
Q_OBJECT
public:
QSimulationSlrSARRasterToolButton(QWidget* parent = nullptr);
~QSimulationSlrSARRasterToolButton();
public:
virtual void run() override;
};
class SIMULATIONSARTOOL_EXPORT QEchoDataSimulationSARRFPCToolButton : public QToolAbstract {
Q_OBJECT
public:
QEchoDataSimulationSARRFPCToolButton(QWidget* parent = nullptr);
~QEchoDataSimulationSARRFPCToolButton();
public:
virtual void run() override;
};
class SIMULATIONSARTOOL_EXPORT QInSARImageNetGeneratorToolButton : public QToolAbstract {
Q_OBJECT
public:
QInSARImageNetGeneratorToolButton(QWidget* parent = nullptr);
~QInSARImageNetGeneratorToolButton();
public:
virtual void run() override;
};
class SIMULATIONSARTOOL_EXPORT QMapLooktableToolButton : public QToolAbstract {
Q_OBJECT
public:
QMapLooktableToolButton(QWidget* parent = nullptr);
~QMapLooktableToolButton();
public:
virtual void run() override;
};
class SIMULATIONSARTOOL_EXPORT QSimulationBPImageMultiProductionLevel1_2ToolButton : public QToolAbstract {
Q_OBJECT
public:
QSimulationBPImageMultiProductionLevel1_2ToolButton(QWidget* parent = nullptr);
~QSimulationBPImageMultiProductionLevel1_2ToolButton();
public:
virtual void run() override;
};
class SIMULATIONSARTOOL_EXPORT QSimulationBPImageL1BToolButton : public QToolAbstract {
Q_OBJECT
public:
QSimulationBPImageL1BToolButton(QWidget* parent = nullptr);
~QSimulationBPImageL1BToolButton();
public:
virtual void run() override;
};
#endif