增加采样工具
parent
033db9e569
commit
5f7b8ae9ea
|
|
@ -15,6 +15,9 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** 定义常见文件格式*********/
|
||||||
|
#define ENVI_FILE_FORMAT_FILTER u8"ALL File(*.*);;ENVI Bin(*.bin);;ENVI Data(*.dat);;ENVI Data(*.data);;tiff影像(*.tif);;tiff影像(*.tiff)"
|
||||||
|
#define XML_FILE_FORMAT_FILTER u8"ALL File(*.*);;XML File(*.xml);;tiff影像(*.tiff)"
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
|
|
||||||
bool BASECONSTVARIABLEAPI isDirectory(const QString& path);
|
bool BASECONSTVARIABLEAPI isDirectory(const QString& path);
|
||||||
bool BASECONSTVARIABLEAPI isExists(const QString& path);
|
bool BASECONSTVARIABLEAPI isExists(const QString& path);
|
||||||
|
|
@ -29,7 +29,7 @@ unsigned long BASECONSTVARIABLEAPI convertToULong(const QString& input);
|
||||||
/// <param name="folderpath"></param>
|
/// <param name="folderpath"></param>
|
||||||
/// <param name="FilenameExtension"></param>
|
/// <param name="FilenameExtension"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
std::vector<QString> BASECONSTVARIABLEAPI getFilelist(const QString& folderpath, const QString& FilenameExtension = ".*",int (*logfun)(QString logtext,int value)=nullptr);
|
std::vector<QString> BASECONSTVARIABLEAPI getFilelist(const QString& folderpath, const QString& FilenameExtension = ".*", int (*logfun)(QString logtext, int value) = nullptr);
|
||||||
|
|
||||||
QString BASECONSTVARIABLEAPI getParantFolderNameFromPath(const QString& path);
|
QString BASECONSTVARIABLEAPI getParantFolderNameFromPath(const QString& path);
|
||||||
|
|
||||||
|
|
@ -41,11 +41,11 @@ QString BASECONSTVARIABLEAPI getFileExtension(QString path);
|
||||||
|
|
||||||
int BASECONSTVARIABLEAPI write_binfile(char* filepath, char* data, size_t data_len);
|
int BASECONSTVARIABLEAPI write_binfile(char* filepath, char* data, size_t data_len);
|
||||||
|
|
||||||
char* read_textfile(char* text_path, int* length);
|
char* read_textfile(char* text_path, int* length);
|
||||||
|
|
||||||
bool BASECONSTVARIABLEAPI exists_test(const QString& name);
|
bool BASECONSTVARIABLEAPI exists_test(const QString& name);
|
||||||
|
|
||||||
size_t BASECONSTVARIABLEAPI fsize(FILE* fp);
|
size_t BASECONSTVARIABLEAPI fsize(FILE* fp);
|
||||||
|
|
||||||
QString BASECONSTVARIABLEAPI getParantFromPath(const QString& path);
|
QString BASECONSTVARIABLEAPI getParantFromPath(const QString& path);
|
||||||
void BASECONSTVARIABLEAPI copyFile(const QString& sourcePath, const QString& destinationPath);
|
void BASECONSTVARIABLEAPI copyFile(const QString& sourcePath, const QString& destinationPath);
|
||||||
|
|
|
||||||
|
|
@ -135,10 +135,10 @@ GDALDataType BASECONSTVARIABLEAPI getGDALDataType(QString fileptah);
|
||||||
|
|
||||||
|
|
||||||
struct RasterExtend {
|
struct RasterExtend {
|
||||||
double min_x; //纬度
|
double min_x;
|
||||||
double min_y;//经度
|
double min_y;
|
||||||
double max_x;//纬度
|
double max_x;
|
||||||
double max_y;//经度
|
double max_y;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1228,8 +1228,8 @@ RasterExtend gdalImage::getExtend()
|
||||||
double x1 = this->gt(0, 0);
|
double x1 = this->gt(0, 0);
|
||||||
double y1 = this->gt(1, 0);
|
double y1 = this->gt(1, 0);
|
||||||
|
|
||||||
double x2 = this->gt(0, 0) + (this->width - 1) * gt(0, 1) + (0) * gt(0, 2);
|
double x2 = this->gt(0, 0) + (this->width - 1) * gt(0, 1) + (0) * gt(0, 2); // ¾
|
||||||
double y2 = this->gt(1, 0) + (this->width - 1) * gt(1, 1) + (0) * gt(1, 2);
|
double y2 = this->gt(1, 0) + (this->width - 1) * gt(1, 1) + (0) * gt(1, 2); // γ
|
||||||
|
|
||||||
double x3 = this->gt(0, 0) + (0) * gt(0, 1) + (this->height - 1) * gt(0, 2);
|
double x3 = this->gt(0, 0) + (0) * gt(0, 1) + (this->height - 1) * gt(0, 2);
|
||||||
double y3 = this->gt(1, 0) + (0) * gt(1, 1) + (this->height - 1) * gt(1, 2);
|
double y3 = this->gt(1, 0) + (0) * gt(1, 1) + (this->height - 1) * gt(1, 2);
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
#include "ImageOperatorBase.h"
|
#include "ImageOperatorBase.h"
|
||||||
#include "GPUBaseTool.h"
|
#include "GPUBaseTool.h"
|
||||||
#include "GPUBPImageNet.cuh"
|
#include "GPUBPImageNet.cuh"
|
||||||
|
#include "BaseTool.h"
|
||||||
|
|
||||||
|
|
||||||
void InitCreateImageXYZProcess(QString& outImageLLPath, QString& outImageXYZPath, QString& InEchoGPSDataPath,
|
void InitCreateImageXYZProcess(QString& outImageLLPath, QString& outImageXYZPath, QString& InEchoGPSDataPath,
|
||||||
|
|
@ -171,3 +172,120 @@ void InitCreateImageXYZProcess(QString& outImageLLPath, QString& outImageXYZPath
|
||||||
qDebug() << u8"6.保存成像网格结果";
|
qDebug() << u8"6.保存成像网格结果";
|
||||||
qDebug() << "---------------------------------------------------------------------------------";
|
qDebug() << "---------------------------------------------------------------------------------";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool OverlapCheck(QString& ImageLLPath, QString& ImageDEMPath)
|
||||||
|
{
|
||||||
|
// 检查DEM是否是WGS84坐标系
|
||||||
|
long demEPSG = GetEPSGFromRasterFile(ImageDEMPath);
|
||||||
|
if (demEPSG != 4326) {
|
||||||
|
qDebug() << u8"DEM坐标系不是WGS84坐标系";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
gdalImage demimg(ImageDEMPath);
|
||||||
|
gdalImage imgll(ImageLLPath);
|
||||||
|
|
||||||
|
long imgheight = imgll.height;
|
||||||
|
long imgwidth = imgll.width;
|
||||||
|
Eigen::MatrixXd imglonArr = imgll.getData(0, 0, imgheight, imgwidth, 1);
|
||||||
|
Eigen::MatrixXd imglatArr = imgll.getData(0, 0, imgheight, imgwidth, 2);
|
||||||
|
|
||||||
|
for (long i = 0; i < imgheight; i++)
|
||||||
|
{
|
||||||
|
for (long j = 0; j < imgwidth; j++)
|
||||||
|
{
|
||||||
|
double lon = imglonArr(i, j); // X
|
||||||
|
double lat = imglatArr(i, j); // Y
|
||||||
|
Landpoint point = imgll.getRow_Col(lon, lat);
|
||||||
|
imglonArr(i, j) = point.lon;
|
||||||
|
imglatArr(i, j) = point.lat;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
double minX = imglonArr.minCoeff();
|
||||||
|
double maxX = imglonArr.maxCoeff();
|
||||||
|
double minY = imglatArr.minCoeff();
|
||||||
|
double maxY = imglatArr.maxCoeff();
|
||||||
|
|
||||||
|
if (minX<1 || maxX>demimg.width - 1 || minY<1 || maxY>demimg.height - 1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void InterploateAtiByRefDEM(QString& ImageLLPath, QString& ImageDEMPath, QString& outImageLLAPath)
|
||||||
|
{
|
||||||
|
gdalImage demimg(ImageDEMPath);
|
||||||
|
gdalImage imgll(ImageLLPath);
|
||||||
|
gdalImage outimgll = CreategdalImageDouble(outImageLLAPath, imgll.height, imgll.width, 3, true, true);
|
||||||
|
|
||||||
|
long imgheight = imgll.height;
|
||||||
|
long imgwidth = imgll.width;
|
||||||
|
|
||||||
|
Eigen::MatrixXd imglonArr = imgll.getData(0, 0, imgheight, imgwidth, 1);
|
||||||
|
Eigen::MatrixXd imglatArr = imgll.getData(0, 0, imgheight, imgwidth, 2);
|
||||||
|
Eigen::MatrixXd imgatiArr = Eigen::MatrixXd::Zero(imgheight, imgwidth);
|
||||||
|
|
||||||
|
outimgll.saveImage(imglonArr, 0, 0, 1);
|
||||||
|
outimgll.saveImage(imglatArr, 0, 0, 2);
|
||||||
|
|
||||||
|
for (long i = 0; i < imgheight; i++) {
|
||||||
|
for (long j = 0; j < imgwidth; j++) {
|
||||||
|
double lon = imglonArr(i, j); // X
|
||||||
|
double lat = imglatArr(i, j); // Y
|
||||||
|
Landpoint point = imgll.getRow_Col(lon, lat);
|
||||||
|
imglonArr(i, j) = point.lon;
|
||||||
|
imglatArr(i, j) = point.lat;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (long i = 0; i < imgheight; i++) {
|
||||||
|
for (long j = 0; j < imgwidth; j++) {
|
||||||
|
double imX = imglonArr(i, j);
|
||||||
|
double imY = imglatArr(i, j);
|
||||||
|
|
||||||
|
Landpoint p0, p11, p21, p12, p22;
|
||||||
|
p0.lon = imX;
|
||||||
|
p0.lat = imY;
|
||||||
|
|
||||||
|
p11.lon = floor(p0.lon);
|
||||||
|
p11.lat = floor(p0.lat);
|
||||||
|
|
||||||
|
p12.lon = ceil(p0.lon);
|
||||||
|
p12.lat = floor(p0.lat);
|
||||||
|
|
||||||
|
p21.lon = floor(p0.lon);
|
||||||
|
p21.lat = ceil(p0.lat);
|
||||||
|
|
||||||
|
p22.lon = ceil(p0.lon);
|
||||||
|
p22.lat = ceil(p0.lat);
|
||||||
|
|
||||||
|
p0.lon = p0.lon - p11.lon;
|
||||||
|
p0.lat = p0.lat - p11.lat;
|
||||||
|
|
||||||
|
p12.lon = p12.lon - p11.lon;
|
||||||
|
p12.lat = p12.lat - p11.lat;
|
||||||
|
|
||||||
|
p21.lon = p21.lon - p11.lon;
|
||||||
|
p21.lat = p21.lat - p11.lat;
|
||||||
|
|
||||||
|
p22.lon = p22.lon - p11.lon;
|
||||||
|
p22.lat = p22.lat - p11.lat;
|
||||||
|
|
||||||
|
p11.lon = p11.lon - p11.lon;
|
||||||
|
p11.lat = p11.lat - p11.lat;
|
||||||
|
|
||||||
|
Bilinear_interpolation(p0, p11, p21, p12, p22);
|
||||||
|
imgatiArr(i, j) = p0.ati;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
outimgll.saveImage(imgatiArr, 0, 0, 3);
|
||||||
|
|
||||||
|
qDebug() << u8"插值完成";
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,9 @@
|
||||||
|
|
||||||
void InitCreateImageXYZProcess(QString& outImageLLPath, QString& outImageXYZPath, QString& InEchoGPSDataPath, double& NearRange, double& RangeResolution, int64_t& RangeNum);
|
void InitCreateImageXYZProcess(QString& outImageLLPath, QString& outImageXYZPath, QString& InEchoGPSDataPath, double& NearRange, double& RangeResolution, int64_t& RangeNum);
|
||||||
|
|
||||||
|
bool OverlapCheck(QString& ImageLLPath, QString& ImageDEMPath);
|
||||||
|
|
||||||
|
void InterploateAtiByRefDEM(QString& ImageLLPath, QString& ImageDEMPath, QString& outImageLLAPath);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,112 @@
|
||||||
|
#include "ImagePlaneAtiInterpDialog.h"
|
||||||
|
#include "ui_ImagePlaneAtiInterpDialog.h"
|
||||||
|
#include <QFileDialog>
|
||||||
|
#include <QMessageBox>
|
||||||
|
#include "BaseConstVariable.h"
|
||||||
|
#include "ImageNetOperator.h"
|
||||||
|
|
||||||
|
ImagePlaneAtiInterpDialog::ImagePlaneAtiInterpDialog(QWidget *parent)
|
||||||
|
: QDialog(parent)
|
||||||
|
, ui(new Ui::ImagePlaneAtiInterpDialogClass)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
connect(ui->pushButtonImageLLASelect, SIGNAL(clicked()), this, SLOT(onpushButtonImageLLASelect_clicked()));
|
||||||
|
connect(ui->pushButtonImageNet0Select, SIGNAL(clicked()), this, SLOT(onpushButtonImageNet0Select_clicked()));
|
||||||
|
connect(ui->pushButtonRefRangeDEMSelect, SIGNAL(clicked()), this, SLOT(onpushButtonRefRangeDEMSelect_clicked()));
|
||||||
|
connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(onbuttonBoxAccepted()));
|
||||||
|
connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(onbuttonBoxRejected()));
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ImagePlaneAtiInterpDialog::~ImagePlaneAtiInterpDialog()
|
||||||
|
{}
|
||||||
|
|
||||||
|
void ImagePlaneAtiInterpDialog::onpushButtonImageNet0Select_clicked()
|
||||||
|
{
|
||||||
|
QString fileNames = QFileDialog::getOpenFileName(
|
||||||
|
this,
|
||||||
|
tr(u8"选择成像粗平面文件"),
|
||||||
|
QString(),
|
||||||
|
tr(ENVI_FILE_FORMAT_FILTER)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!fileNames.isEmpty()) {
|
||||||
|
QString message = "选中文件\n";
|
||||||
|
this->ui->lineEditImageNet0Path->setText(fileNames);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
QMessageBox::information(this, tr(u8"提示"), tr(u8"没有选中文件"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImagePlaneAtiInterpDialog::onpushButtonRefRangeDEMSelect_clicked()
|
||||||
|
{
|
||||||
|
QString fileNames = QFileDialog::getOpenFileName(
|
||||||
|
this, // ??????
|
||||||
|
tr(u8"选择参考DEM"), // ????
|
||||||
|
QString(), // ???·??
|
||||||
|
tr(ENVI_FILE_FORMAT_FILTER) // ?????????
|
||||||
|
);
|
||||||
|
// ??????????????
|
||||||
|
if (!fileNames.isEmpty()) {
|
||||||
|
QString message = "选中文件\n";
|
||||||
|
this->ui->lineEditRefRangeDEMPath->setText(fileNames);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
QMessageBox::information(this, tr(u8"提示"), tr(u8"没有选中文件"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImagePlaneAtiInterpDialog::onpushButtonImageLLASelect_clicked()
|
||||||
|
{
|
||||||
|
QString fileNames = QFileDialog::getOpenFileName(
|
||||||
|
this, // ??????
|
||||||
|
tr(u8"提示"), // ????
|
||||||
|
QString(), // ???·??
|
||||||
|
tr(ENVI_FILE_FORMAT_FILTER) // ?????????
|
||||||
|
);
|
||||||
|
// ??????????????
|
||||||
|
if (!fileNames.isEmpty()) {
|
||||||
|
QString message = "????????У?\n";
|
||||||
|
this->ui->lineEditImageLLAPath->setText(fileNames);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
QMessageBox::information(this, tr(u8"提示"), tr(u8"没有选中文件"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImagePlaneAtiInterpDialog::onbuttonBoxAccepted()
|
||||||
|
{
|
||||||
|
QString imageNet0Path = this->ui->lineEditImageNet0Path->text().trimmed();
|
||||||
|
QString refRangeDEMPath = this->ui->lineEditRefRangeDEMPath->text().trimmed();
|
||||||
|
QString imageLLAPath = this->ui->lineEditImageLLAPath->text().trimmed();
|
||||||
|
|
||||||
|
if (imageNet0Path.isEmpty() || refRangeDEMPath.isEmpty() || imageLLAPath.isEmpty()) {
|
||||||
|
QMessageBox::warning(this, tr(u8"提示"), tr(u8"没有选中文件"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (OverlapCheck(imageNet0Path, refRangeDEMPath)) { // ????DEM???
|
||||||
|
InterploateAtiByRefDEM(imageNet0Path, refRangeDEMPath, imageLLAPath);
|
||||||
|
|
||||||
|
QMessageBox::information(nullptr, u8"提示", u8"completed!!");
|
||||||
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
QMessageBox::warning(nullptr,u8"警告",u8"DEM影像小于成像粗平面采样要求");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImagePlaneAtiInterpDialog::onbuttonBoxRejected()
|
||||||
|
{
|
||||||
|
this->close();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifndef __ImagePlaneAtiInterpDialog__HH__
|
||||||
|
#define __ImagePlaneAtiInterpDialog__HH__
|
||||||
|
|
||||||
|
#include <QDialog>
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class ImagePlaneAtiInterpDialogClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class ImagePlaneAtiInterpDialog : public QDialog
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
ImagePlaneAtiInterpDialog(QWidget *parent = nullptr);
|
||||||
|
~ImagePlaneAtiInterpDialog();
|
||||||
|
|
||||||
|
public /*slots*/:
|
||||||
|
|
||||||
|
void onpushButtonImageNet0Select_clicked();
|
||||||
|
void onpushButtonRefRangeDEMSelect_clicked();
|
||||||
|
void onpushButtonImageLLASelect_clicked();
|
||||||
|
void onbuttonBoxAccepted();
|
||||||
|
void onbuttonBoxRejected();
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::ImagePlaneAtiInterpDialogClass* ui;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -0,0 +1,152 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>ImagePlaneAtiInterpDialogClass</class>
|
||||||
|
<widget class="QDialog" name="ImagePlaneAtiInterpDialogClass">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>661</width>
|
||||||
|
<height>266</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>根据经纬度插值高程数据</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>成像网格(经纬度):</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLineEdit" name="lineEditImageNet0Path">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QPushButton" name="pushButtonImageNet0Select">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>选择</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>参考DEM:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLineEdit" name="lineEditRefRangeDEMPath">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="2">
|
||||||
|
<widget class="QPushButton" name="pushButtonRefRangeDEMSelect">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>选择</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>成像粗网格(高程):</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLineEdit" name="lineEditImageLLAPath">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="2">
|
||||||
|
<widget class="QPushButton" name="pushButtonImageLLASelect">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>选择</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0" colspan="3">
|
||||||
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<layoutdefault spacing="6" margin="11"/>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>600</width>
|
<width>600</width>
|
||||||
<height>400</height>
|
<height>403</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
|
|
@ -155,7 +155,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>580</width>
|
<width>580</width>
|
||||||
<height>236</height>
|
<height>239</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@
|
||||||
#include "QtSimulationGeoSARSigma0Dialog.h"
|
#include "QtSimulationGeoSARSigma0Dialog.h"
|
||||||
#include "QtLinearToIntenisityDialog.h"
|
#include "QtLinearToIntenisityDialog.h"
|
||||||
#include "InitCreateImageXYZDialog.h"
|
#include "InitCreateImageXYZDialog.h"
|
||||||
|
#include "ImagePlaneAtiInterpDialog.h"
|
||||||
|
|
||||||
|
|
||||||
SARSimlulationRFPCToolButton::SARSimlulationRFPCToolButton(QWidget* parent)
|
SARSimlulationRFPCToolButton::SARSimlulationRFPCToolButton(QWidget* parent)
|
||||||
{
|
{
|
||||||
|
|
@ -77,6 +79,7 @@ void RegisterPreToolBox(LAMPMainWidget::RasterMainWidget* mainwindows, ToolBoxWi
|
||||||
emit toolbox->addBoxToolItemSIGNAL(new QtSimulationGeoSARSigma0ToolButton(toolbox));
|
emit toolbox->addBoxToolItemSIGNAL(new QtSimulationGeoSARSigma0ToolButton(toolbox));
|
||||||
emit toolbox->addBoxToolItemSIGNAL(new QtLinearToIntenisityToolButton(toolbox));
|
emit toolbox->addBoxToolItemSIGNAL(new QtLinearToIntenisityToolButton(toolbox));
|
||||||
emit toolbox->addBoxToolItemSIGNAL(new InitCreateImageXYZToolButton(toolbox));
|
emit toolbox->addBoxToolItemSIGNAL(new InitCreateImageXYZToolButton(toolbox));
|
||||||
|
emit toolbox->addBoxToolItemSIGNAL(new ImagePlaneAtiInterpToolButton(toolbox));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -163,4 +166,18 @@ void InitCreateImageXYZToolButton::run()
|
||||||
dialog->show();
|
dialog->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ImagePlaneAtiInterpToolButton::ImagePlaneAtiInterpToolButton(QWidget* parent)
|
||||||
|
{
|
||||||
|
this->toolPath = QVector<QString>(0);
|
||||||
|
this->toolPath.push_back(u8"³ÉÏñ¹¤¾ß¿â");
|
||||||
|
this->toolname = QString(u8"2.´ÖÆ½ÃæÓ³ÉäDEM");
|
||||||
|
}
|
||||||
|
ImagePlaneAtiInterpToolButton::~ImagePlaneAtiInterpToolButton()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImagePlaneAtiInterpToolButton::run()
|
||||||
|
{
|
||||||
|
ImagePlaneAtiInterpDialog* dialog = new ImagePlaneAtiInterpDialog;
|
||||||
|
dialog->show();
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -109,6 +109,16 @@ public :
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class SIMULATIONSARTOOL_EXPORT ImagePlaneAtiInterpToolButton : public QToolAbstract {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
ImagePlaneAtiInterpToolButton(QWidget* parent = nullptr);
|
||||||
|
~ImagePlaneAtiInterpToolButton();
|
||||||
|
public:
|
||||||
|
virtual void run() override;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
extern "C" SIMULATIONSARTOOL_EXPORT void RegisterPreToolBox(LAMPMainWidget::RasterMainWidget* mainwindows, ToolBoxWidget* toolbox);
|
extern "C" SIMULATIONSARTOOL_EXPORT void RegisterPreToolBox(LAMPMainWidget::RasterMainWidget* mainwindows, ToolBoxWidget* toolbox);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -215,6 +215,7 @@
|
||||||
<ClCompile Include="PowerSimulationIncoherent\QtLinearToIntenisityDialog.cpp" />
|
<ClCompile Include="PowerSimulationIncoherent\QtLinearToIntenisityDialog.cpp" />
|
||||||
<ClCompile Include="PowerSimulationIncoherent\QtSimulationGeoSARSigma0Dialog.cpp" />
|
<ClCompile Include="PowerSimulationIncoherent\QtSimulationGeoSARSigma0Dialog.cpp" />
|
||||||
<ClCompile Include="SARImage\ImageNetOperator.cpp" />
|
<ClCompile Include="SARImage\ImageNetOperator.cpp" />
|
||||||
|
<ClCompile Include="SARImage\ImagePlaneAtiInterpDialog.cpp" />
|
||||||
<ClCompile Include="SARImage\InitCreateImageXYZDialog.cpp" />
|
<ClCompile Include="SARImage\InitCreateImageXYZDialog.cpp" />
|
||||||
<ClCompile Include="SimulationSAR\QImageSARRFPC.cpp" />
|
<ClCompile Include="SimulationSAR\QImageSARRFPC.cpp" />
|
||||||
<ClCompile Include="SimulationSAR\QSARLookTableSimualtionGUI.cpp" />
|
<ClCompile Include="SimulationSAR\QSARLookTableSimualtionGUI.cpp" />
|
||||||
|
|
@ -243,6 +244,7 @@
|
||||||
<QtMoc Include="SARImage\InitCreateImageXYZDialog.h" />
|
<QtMoc Include="SARImage\InitCreateImageXYZDialog.h" />
|
||||||
<ClInclude Include="SARImage\GPUBPImageNet.cuh" />
|
<ClInclude Include="SARImage\GPUBPImageNet.cuh" />
|
||||||
<ClInclude Include="SARImage\ImageNetOperator.h" />
|
<ClInclude Include="SARImage\ImageNetOperator.h" />
|
||||||
|
<ClInclude Include="SARImage\ImagePlaneAtiInterpDialog.h" />
|
||||||
<ClInclude Include="SimulationSARToolAPI.h" />
|
<ClInclude Include="SimulationSARToolAPI.h" />
|
||||||
<ClInclude Include="simulationsartool_global.h" />
|
<ClInclude Include="simulationsartool_global.h" />
|
||||||
<QtMoc Include="SimulationSAR\QImageSARRFPC.h" />
|
<QtMoc Include="SimulationSAR\QImageSARRFPC.h" />
|
||||||
|
|
@ -277,6 +279,7 @@
|
||||||
<QtUic Include="PowerSimulationIncoherent\QSimulationSARPolynomialOrbitModel.ui" />
|
<QtUic Include="PowerSimulationIncoherent\QSimulationSARPolynomialOrbitModel.ui" />
|
||||||
<QtUic Include="PowerSimulationIncoherent\QtLinearToIntenisityDialog.ui" />
|
<QtUic Include="PowerSimulationIncoherent\QtLinearToIntenisityDialog.ui" />
|
||||||
<QtUic Include="PowerSimulationIncoherent\QtSimulationGeoSARSigma0Dialog.ui" />
|
<QtUic Include="PowerSimulationIncoherent\QtSimulationGeoSARSigma0Dialog.ui" />
|
||||||
|
<QtUic Include="SARImage\ImagePlaneAtiInterpDialog.ui" />
|
||||||
<QtUic Include="SARImage\InitCreateImageXYZDialog.ui" />
|
<QtUic Include="SARImage\InitCreateImageXYZDialog.ui" />
|
||||||
<QtUic Include="SimulationSAR\QImageSARRFPC.ui" />
|
<QtUic Include="SimulationSAR\QImageSARRFPC.ui" />
|
||||||
<QtUic Include="SimulationSAR\QSARLookTableSimualtionGUI.ui" />
|
<QtUic Include="SimulationSAR\QSARLookTableSimualtionGUI.ui" />
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,9 @@
|
||||||
<ClInclude Include="SARImage\GPUBPImageNet.cuh">
|
<ClInclude Include="SARImage\GPUBPImageNet.cuh">
|
||||||
<Filter>SARImage</Filter>
|
<Filter>SARImage</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="SARImage\ImagePlaneAtiInterpDialog.h">
|
||||||
|
<Filter>SARImage</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="SimulationSAR\QImageSARRFPC.cpp">
|
<ClCompile Include="SimulationSAR\QImageSARRFPC.cpp">
|
||||||
|
|
@ -139,6 +142,9 @@
|
||||||
<ClCompile Include="SARImage\ImageNetOperator.cpp">
|
<ClCompile Include="SARImage\ImageNetOperator.cpp">
|
||||||
<Filter>SARImage</Filter>
|
<Filter>SARImage</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="SARImage\ImagePlaneAtiInterpDialog.cpp">
|
||||||
|
<Filter>SARImage</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<QtUic Include="SimulationSAR\QImageSARRFPC.ui">
|
<QtUic Include="SimulationSAR\QImageSARRFPC.ui">
|
||||||
|
|
@ -171,6 +177,9 @@
|
||||||
<QtUic Include="SARImage\InitCreateImageXYZDialog.ui">
|
<QtUic Include="SARImage\InitCreateImageXYZDialog.ui">
|
||||||
<Filter>SARImage</Filter>
|
<Filter>SARImage</Filter>
|
||||||
</QtUic>
|
</QtUic>
|
||||||
|
<QtUic Include="SARImage\ImagePlaneAtiInterpDialog.ui">
|
||||||
|
<Filter>SARImage</Filter>
|
||||||
|
</QtUic>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<QtMoc Include="SimulationSAR\QImageSARRFPC.h">
|
<QtMoc Include="SimulationSAR\QImageSARRFPC.h">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue