RasterProcessTool/SimulationSAR/RTPCProcessCls.h

86 lines
3.0 KiB
C
Raw Normal View History

#pragma once
/*****************************************************************//**
* \file RTPCProcessCls.h
* \brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD><EFBFBD><EFBFBD>Range Time domain Pulse Coherent<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
*
* <EFBFBD>ο<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD>ϳɿ׾<EFBFBD><EFBFBD>״<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>֣<EFBFBD>cumming <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ϳɿ׾<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD>״<EFBFBD><EFBFBD>źŴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Mark A.Richards,<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD>ϳɿ׾<EFBFBD><EFBFBD>״<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* InSARԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>SAR<EFBFBD>ز<EFBFBD><EFBFBD>źŷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>غϳɿ׾<EFBFBD><EFBFBD>״<EFBFBD>ԭʼ<EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* SAR<EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱȽ<EFBFBD><EFBFBD>о<EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>غϳɿ׾<EFBFBD><EFBFBD>״<EFBFBD>Ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ
* ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ʽ <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ѧ<EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>ʡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
*
* \author <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* \date October 2024
*********************************************************************/
#include "BaseConstVariable.h"
#include "SARSatelliteSimulationAbstractCls.h"
#include "SARSimulationTaskSetting.h"
#include "SatelliteOribtModel.h"
#include "EchoDataFormat.h"
#include "SigmaDatabase.h"
class RTPCProcessCls
{
public:
RTPCProcessCls();
~RTPCProcessCls();
public:
void setTaskSetting(std::shared_ptr < AbstractSARSatelliteModel> TaskSetting);
void setEchoSimulationDataSetting(std::shared_ptr < EchoL0Dataset> EchoSimulationData);
void setTaskFileName(QString EchoFileName);
void setDEMTiffPath(QString DEMTiffPath);
void setLandCoverPath(QString LandCoverPath);
void setHHSigmaPath(QString HHSigmaPath);
void setHVSigmaPath(QString HVSigmaPath);
void setVHSigmaPath(QString VHSigmaPath);
void setVVSigmaPath(QString VVSigmaPath);
void setOutEchoPath(QString OutEchoPath);
private:
std::shared_ptr <AbstractSARSatelliteModel> TaskSetting; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
std::shared_ptr <EchoL0Dataset> EchoSimulationData; // GPS<50><53><EFBFBD><EFBFBD>
std::shared_ptr<SigmaDatabase> SigmaDatabasePtr;
long PluseCount; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
long PlusePoint; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
QString DEMTiffPath; // DEM Tiff <20>ļ<EFBFBD>·<EFBFBD><C2B7>
QString LandCoverPath;
QString HHSigmaPath;
QString HVSigmaPath;
QString VHSigmaPath;
QString VVSigmaPath;
QString OutEchoPath; // <20><><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD>·<EFBFBD><C2B7>
QString TaskFileName;
QString tmpfolderPath;
public:
ErrorCode Process(long num_thread); // <20><><EFBFBD><EFBFBD>
private: // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ErrorCode InitParams();// 1. <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ErrorCode DEMPreprocess(); // 2. <20>ü<EFBFBD>DEM<45><4D>Χ
//ErrorCode RTPCMainProcess(long num_thread);
ErrorCode RTPCMainProcess_GPU();
private:
QString demxyzPath;
QString demmaskPath;
QString demsloperPath;
};
void RTPCProcessMain(long num_thread,QString TansformPatternFilePath,QString ReceivePatternFilePath,QString simulationtaskName, QString OutEchoPath, QString GPSXmlPath,QString TaskXmlPath,QString demTiffPath, QString LandCoverPath, QString HHSigmaPath, QString HVSigmaPath, QString VHSigmaPath, QString VVSigmaPath);
// <20><><EFBFBD><EFBFBD>
void testOutAntPatternTrans(QString antpatternfilename,float* antPatternArr,double starttheta,double deltetheta,double startphi,double deltaphi,long thetanum,long phinum );
void testOutAmpArr(QString filename, float* amp, long rowcount, long colcount);
void testOutClsArr(QString filename, long* amp, long rowcount, long colcount);