From 79859eb7e750add6a7dcdc71424b7fa94910d111 Mon Sep 17 00:00:00 2001 From: chenzenghui <3045316072@qq.com> Date: Wed, 14 May 2025 01:48:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=BB=BAGF3=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E5=AE=9A=E6=A0=87=E6=AD=A3=E5=B0=84=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseTool/BaseConstVariable.h | 1 - BaseCommonLibrary/BaseTool/GeoOperator.cpp | 11 ++ BaseCommonLibrary/BaseTool/GeoOperator.h | 3 + .../GF3CalibrationAndOrthLib.cpp | 2 + .../GF3CalibrationAndOrthLib.h | 31 +++++ .../GF3CalibrationAndOrthLib.vcxproj | 124 ++++++++++++++++++ .../GF3CalibrationAndOrthLib.vcxproj.filters | 43 ++++++ .../GF3CalibrationGecodingBaseFuntion.h | 9 ++ .../GF3CalibrationGeoCodingFunCUDA.cu | 50 +++++++ .../GF3CalibrationGeoCodingFunCUDA.cuh | 33 +++++ .../gf3calibrationandorthlib_global.h | 14 ++ GF3StripPatchProcess/GF3RDZProcess.cu | 0 .../GF3StripPatchProcess.vcxproj | 19 +-- .../GF3StripPatchProcess.vcxproj.filters | 11 +- GF3StripPatchProcess/main.cpp | 16 +++ LAMPDataProcess.sln | 15 +++ .../KJ135WBJYAlgWidgetComponet.cpp | 2 - .../SimulationSARTool.vcxproj | 2 +- 18 files changed, 372 insertions(+), 14 deletions(-) create mode 100644 GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.cpp create mode 100644 GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.h create mode 100644 GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.vcxproj create mode 100644 GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.vcxproj.filters create mode 100644 GF3CalibrationAndOrthLib/GF3CalibrationGecodingBaseFuntion.h create mode 100644 GF3CalibrationAndOrthLib/GF3CalibrationGeoCodingFunCUDA.cu create mode 100644 GF3CalibrationAndOrthLib/GF3CalibrationGeoCodingFunCUDA.cuh create mode 100644 GF3CalibrationAndOrthLib/gf3calibrationandorthlib_global.h create mode 100644 GF3StripPatchProcess/GF3RDZProcess.cu diff --git a/BaseCommonLibrary/BaseTool/BaseConstVariable.h b/BaseCommonLibrary/BaseTool/BaseConstVariable.h index 67114db..a9d8a44 100644 --- a/BaseCommonLibrary/BaseTool/BaseConstVariable.h +++ b/BaseCommonLibrary/BaseTool/BaseConstVariable.h @@ -357,5 +357,4 @@ inline void releaseVoidArray(void* a) }; - #endif \ No newline at end of file diff --git a/BaseCommonLibrary/BaseTool/GeoOperator.cpp b/BaseCommonLibrary/BaseTool/GeoOperator.cpp index ce49a3e..33f585b 100644 --- a/BaseCommonLibrary/BaseTool/GeoOperator.cpp +++ b/BaseCommonLibrary/BaseTool/GeoOperator.cpp @@ -225,6 +225,17 @@ double operator /(Point3 a, Point3 b) return sqrt(pow(a.x, 2) + pow(a.y, 2)) / sqrt(pow(b.x, 2) + pow(b.y, 2)); } +double BASECONSTVARIABLEAPI getPixelSpacingInDegree(double pixelSpacingInMeter) +{ + return pixelSpacingInMeter / WGS84_A * r2d; + +} + +double BASECONSTVARIABLEAPI getPixelSpacingInMeter(double pixelSpacingInDegree) +{ + return pixelSpacingInDegree * WGS84_A * r2d; +} + Landpoint getSlopeVector(const Landpoint& p0, const Landpoint& p1, const Landpoint& p2, const Landpoint& p3, const Landpoint& p4,bool inLBH) { Landpoint n0, n1, n2, n3, n4; diff --git a/BaseCommonLibrary/BaseTool/GeoOperator.h b/BaseCommonLibrary/BaseTool/GeoOperator.h index 66ce525..bd0125d 100644 --- a/BaseCommonLibrary/BaseTool/GeoOperator.h +++ b/BaseCommonLibrary/BaseTool/GeoOperator.h @@ -23,6 +23,9 @@ Landpoint BASECONSTVARIABLEAPI LLA2XYZ(const Landpoint& LLA); void BASECONSTVARIABLEAPI LLA2XYZ(const Landpoint& LLA,Point3& XYZ); Eigen::MatrixXd BASECONSTVARIABLEAPI LLA2XYZ(Eigen::MatrixXd landpoint); +double BASECONSTVARIABLEAPI getPixelSpacingInDegree(double pixelSpacingInMeter); + +double BASECONSTVARIABLEAPI getPixelSpacingInMeter(double pixelSpacingInDegree); /// /// 将地固参心坐标系转换为经纬度 /// diff --git a/GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.cpp b/GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.cpp new file mode 100644 index 0000000..1905178 --- /dev/null +++ b/GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.cpp @@ -0,0 +1,2 @@ +#include "GF3CalibrationAndOrthLib.h" + diff --git a/GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.h b/GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.h new file mode 100644 index 0000000..a755500 --- /dev/null +++ b/GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.h @@ -0,0 +1,31 @@ +#pragma once +/** +* GF3ӰļУ䴦ݿ +* @file GF3CalibrationAndOrthLib.h +* @brief GF3Ӱ񼸺У䴦ݿ +* @details +* GF3ӰļУ䴦ҪHH->VVתӰļУ䴦ȡ +* ʵֻGF3ӰļУ䴦㷨ʵϸοס +* @author +*/ +#ifndef __GF3CALIBRATIONANDORTHLIB__H__ +#define __GF3CALIBRATIONANDORTHLIB__H__ +#include "gf3calibrationandorthlib_global.h" +#include + + + + +extern "C" GF3CALIBRATIONANDORTHLIB_EXPORT int GF3_Sigma0_HH2VV(QString in_SigmaHHRasterPath,QString in_IncidencAngleRasterPath,QString out_SigmaVVRasterPath); + + + + + + +#endif + + + + + diff --git a/GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.vcxproj b/GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.vcxproj new file mode 100644 index 0000000..1dd7d0f --- /dev/null +++ b/GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.vcxproj @@ -0,0 +1,124 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {886F7829-AF74-4F23-B3BE-29B7B3C9843C} + QtVS_v304 + 10.0 + 10.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + DynamicLibrary + v143 + true + Unicode + + + DynamicLibrary + v143 + false + true + Unicode + + + + + + + tools_qt5 + core + debug + + + tools_qt5 + core + release + + + + + + + + + + + + + + + + + + + + + .;..\GPUBaseLib\GPUTool;..\GPUBaseLib;..\BaseCommonLibrary\ToolAbstract;..\BaseCommonLibrary\BaseTool;..\BaseCommonLibrary;$(IncludePath) + + + + true + GF3CALIBRATIONANDORTHLIB_LIB;%(PreprocessorDefinitions) + Level3 + true + true + + + Windows + true + + + + + true + GF3CALIBRATIONANDORTHLIB_LIB;%(PreprocessorDefinitions) + Level3 + true + true + true + true + + + Windows + false + true + true + + + + + + + + + + + + {872ecd6f-30e3-4a1b-b17c-15e87d373ff6} + + + {b8b40c54-f7fe-4809-b6fb-8bc014570d7b} + + + + + + + + + + + + + \ No newline at end of file diff --git a/GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.vcxproj.filters b/GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.vcxproj.filters new file mode 100644 index 0000000..73024af --- /dev/null +++ b/GF3CalibrationAndOrthLib/GF3CalibrationAndOrthLib.vcxproj.filters @@ -0,0 +1,43 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + qml;cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + qrc;rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {99349809-55BA-4b9d-BF79-8FDBB0286EB3} + ui + + + {639EADAA-A684-42e4-A9AD-28FC9BCB8F7C} + ts + + + + + Header Files + + + Source Files + + + Header Files + + + Header Files + + + + + + + \ No newline at end of file diff --git a/GF3CalibrationAndOrthLib/GF3CalibrationGecodingBaseFuntion.h b/GF3CalibrationAndOrthLib/GF3CalibrationGecodingBaseFuntion.h new file mode 100644 index 0000000..07db6ac --- /dev/null +++ b/GF3CalibrationAndOrthLib/GF3CalibrationGecodingBaseFuntion.h @@ -0,0 +1,9 @@ +#pragma once +#ifndef __GF3CALIBRATIONGECODINGBASEFUNTION__H__ +#define __GF3CALIBRATIONGECODINGBASEFUNTION__H__ +#include "gf3calibrationandorthlib_global.h" +#include "BaseConstVariable.h" + + + +#endif // __GF3CALIBRATIONGECODINGBASEFUNTION__H__ \ No newline at end of file diff --git a/GF3CalibrationAndOrthLib/GF3CalibrationGeoCodingFunCUDA.cu b/GF3CalibrationAndOrthLib/GF3CalibrationGeoCodingFunCUDA.cu new file mode 100644 index 0000000..671e20d --- /dev/null +++ b/GF3CalibrationAndOrthLib/GF3CalibrationGeoCodingFunCUDA.cu @@ -0,0 +1,50 @@ +#include "GF3CalibrationGeoCodingFunCUDA.cuh" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "BaseConstVariable.h" +#include "GPUTool.cuh" + + +__device__ __host__ float Computrer_polartionConver_rpolf(float inangle, float alpha) +{ + float tang = 0.0; + if (inangle <= 0.0) { + tang = 0.0; + } + else if (inangle > 90.0) { + tang = 90.0; + } + else { + tang = inangle; + } + tang = tang * PI / 180.0; + float tan_val = tanf(tang); + float rpol = powf((1.0 + 2.0 * tan_val * tan_val), 2) / powf((1.0 + alpha * tan_val * tan_val), 2); + return rpol; +} + +__device__ __host__ double Computrer_polartionConver_rpold(double inangle, double alpha) +{ + double tang = 0.0; + if (inangle <= 0.0) { + tang = 0.0; + } + else if (inangle > 90.0) { + tang = 90.0; + } + else { + tang = inangle; + } + tang = tang * PI / 180.0; + double tan_val = tan(tang); + double rpol = pow((1.0 + 2.0 * tan_val * tan_val), 2) / pow((1.0 + alpha * tan_val * tan_val), 2); + return rpol; +} diff --git a/GF3CalibrationAndOrthLib/GF3CalibrationGeoCodingFunCUDA.cuh b/GF3CalibrationAndOrthLib/GF3CalibrationGeoCodingFunCUDA.cuh new file mode 100644 index 0000000..f211274 --- /dev/null +++ b/GF3CalibrationAndOrthLib/GF3CalibrationGeoCodingFunCUDA.cuh @@ -0,0 +1,33 @@ +#ifndef __GF3CALIBRATIONGEOCODINGFUNCUDA__H__ +#define __GF3CALIBRATIONGEOCODINGFUNCUDA__H__ +#include "gf3calibrationandorthlib_global.h" + + +#include "BaseConstVariable.h" +#include "GPUTool.cuh" +#include +#include +#include +#include + +/// +/// 㼫תϵfloat +/// +/// +/// ת +/// +extern __device__ __host__ float Computrer_polartionConver_rpolf(float inangle, float alpha = 1); + +/// +/// 㼫תϵ (double) +/// +/// +/// ת +/// +extern __device__ __host__ double Computrer_polartionConver_rpold(double inangle, double alpha = 1); + + + + +#endif + diff --git a/GF3CalibrationAndOrthLib/gf3calibrationandorthlib_global.h b/GF3CalibrationAndOrthLib/gf3calibrationandorthlib_global.h new file mode 100644 index 0000000..d28cac9 --- /dev/null +++ b/GF3CalibrationAndOrthLib/gf3calibrationandorthlib_global.h @@ -0,0 +1,14 @@ +#pragma once +#ifndef __GF3CALIBRATIONANDORTHLIB_GLOBAL_H__ +#define __GF3CALIBRATIONANDORTHLIB_GLOBAL_H__ +#include + + +#ifdef GF3CALIBRATIONANDORTHLIB_LIB +#define GF3CALIBRATIONANDORTHLIB_EXPORT __declspec(dllexport) +#else +#define GF3CALIBRATIONANDORTHLIB_EXPORT __declspec(dllimport) +#endif + + +#endif// __GF3CALIBRATIONANDORTHLIB_GLOBAL_H__ \ No newline at end of file diff --git a/GF3StripPatchProcess/GF3RDZProcess.cu b/GF3StripPatchProcess/GF3RDZProcess.cu new file mode 100644 index 0000000..e69de29 diff --git a/GF3StripPatchProcess/GF3StripPatchProcess.vcxproj b/GF3StripPatchProcess/GF3StripPatchProcess.vcxproj index 48c17f9..678b921 100644 --- a/GF3StripPatchProcess/GF3StripPatchProcess.vcxproj +++ b/GF3StripPatchProcess/GF3StripPatchProcess.vcxproj @@ -15,8 +15,7 @@ QtVS_v304 10.0 10.0 - $(MSBuildProjectDirectory)\QtMsBuild + $(MSBuildProjectDirectory)\QtMsBuild @@ -46,11 +45,8 @@ core release - - + + @@ -67,6 +63,11 @@ + + + cufft.lib;cudart.lib;cudadevrt.lib;%(AdditionalDependencies) + + true @@ -97,7 +98,9 @@ - + + + diff --git a/GF3StripPatchProcess/GF3StripPatchProcess.vcxproj.filters b/GF3StripPatchProcess/GF3StripPatchProcess.vcxproj.filters index db47d74..a6c33a5 100644 --- a/GF3StripPatchProcess/GF3StripPatchProcess.vcxproj.filters +++ b/GF3StripPatchProcess/GF3StripPatchProcess.vcxproj.filters @@ -21,11 +21,18 @@ {639EADAA-A684-42e4-A9AD-28FC9BCB8F7C} ts + + {da979fa3-1a37-4b67-aaf3-148de4a4c027} + Source Files - - + + + GPULib + + + \ No newline at end of file diff --git a/GF3StripPatchProcess/main.cpp b/GF3StripPatchProcess/main.cpp index 03cd4d5..3b390a8 100644 --- a/GF3StripPatchProcess/main.cpp +++ b/GF3StripPatchProcess/main.cpp @@ -1,8 +1,24 @@ +/** +* @file GF3StripPatchProcess/main.cpp +* @brief Main entry point for the GF3 Strip Patch Process application. +* @details GF3Ӱ +* @author (3045316072@qq.com) +* @date 2025-05-12 +* @version 1.0 +*/ #include + + + + int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); + + + + return a.exec(); } diff --git a/LAMPDataProcess.sln b/LAMPDataProcess.sln index 5db6c11..b829429 100644 --- a/LAMPDataProcess.sln +++ b/LAMPDataProcess.sln @@ -46,6 +46,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KJ135WBJYAlgInterfaceToolbo EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GF3StripPatchProcess", "GF3StripPatchProcess\GF3StripPatchProcess.vcxproj", "{6386D3E3-B743-419F-8354-DA48D0B08728}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GF3CalibrationAndOrthLib", "GF3CalibrationAndOrthLib\GF3CalibrationAndOrthLib.vcxproj", "{886F7829-AF74-4F23-B3BE-29B7B3C9843C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM = Debug|ARM @@ -224,6 +226,18 @@ Global {6386D3E3-B743-419F-8354-DA48D0B08728}.Release|x64.Build.0 = Release|x64 {6386D3E3-B743-419F-8354-DA48D0B08728}.Release|x86.ActiveCfg = Release|x64 {6386D3E3-B743-419F-8354-DA48D0B08728}.Release|x86.Build.0 = Release|x64 + {886F7829-AF74-4F23-B3BE-29B7B3C9843C}.Debug|ARM.ActiveCfg = Debug|x64 + {886F7829-AF74-4F23-B3BE-29B7B3C9843C}.Debug|ARM.Build.0 = Debug|x64 + {886F7829-AF74-4F23-B3BE-29B7B3C9843C}.Debug|x64.ActiveCfg = Debug|x64 + {886F7829-AF74-4F23-B3BE-29B7B3C9843C}.Debug|x64.Build.0 = Debug|x64 + {886F7829-AF74-4F23-B3BE-29B7B3C9843C}.Debug|x86.ActiveCfg = Debug|x64 + {886F7829-AF74-4F23-B3BE-29B7B3C9843C}.Debug|x86.Build.0 = Debug|x64 + {886F7829-AF74-4F23-B3BE-29B7B3C9843C}.Release|ARM.ActiveCfg = Release|x64 + {886F7829-AF74-4F23-B3BE-29B7B3C9843C}.Release|ARM.Build.0 = Release|x64 + {886F7829-AF74-4F23-B3BE-29B7B3C9843C}.Release|x64.ActiveCfg = Release|x64 + {886F7829-AF74-4F23-B3BE-29B7B3C9843C}.Release|x64.Build.0 = Release|x64 + {886F7829-AF74-4F23-B3BE-29B7B3C9843C}.Release|x86.ActiveCfg = Release|x64 + {886F7829-AF74-4F23-B3BE-29B7B3C9843C}.Release|x86.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -239,6 +253,7 @@ Global {8C8CA066-A93A-4098-9A46-B855EFEAADF2} = {2768F9D6-D410-4E88-A479-8336DAF97072} {80A5854F-6F80-4EC2-9F73-84E0F4DB8D7E} = {2768F9D6-D410-4E88-A479-8336DAF97072} {D3E9A2CA-7F05-425A-A4B6-416EC20972E8} = {41B1F23D-9119-47A7-B102-34022AF83CDA} + {886F7829-AF74-4F23-B3BE-29B7B3C9843C} = {2768F9D6-D410-4E88-A479-8336DAF97072} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {179F0A62-C631-4667-AD03-3780ADE09F41} diff --git a/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgWidgetComponet.cpp b/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgWidgetComponet.cpp index 9fdb6bf..0215d97 100644 --- a/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgWidgetComponet.cpp +++ b/Toolbox/KJ135WBJYAlgInterfaceToolbox/KJ135WBJYAlgWidgetComponet.cpp @@ -129,8 +129,6 @@ void FileSelectWidget::initUI() layout->addWidget(filePathEdit); layout->addWidget(fileSelectButton); this->setLayout(layout); - - } QString FileSelectWidget::getValue() const diff --git a/Toolbox/SimulationSARTool/SimulationSARTool.vcxproj b/Toolbox/SimulationSARTool/SimulationSARTool.vcxproj index 6c19a14..562d754 100644 --- a/Toolbox/SimulationSARTool/SimulationSARTool.vcxproj +++ b/Toolbox/SimulationSARTool/SimulationSARTool.vcxproj @@ -134,7 +134,7 @@ compute_86,sm_86 - cufft.lib;%(AdditionalDependencies);cudart.lib;cudadevrt.lib + cufft.lib;cudart.lib;cudadevrt.lib;%(AdditionalDependencies)