RasterProcessTool/Toolbox/SimulationSARTool/SimulationSAR/TBPImageAlgCls.h

72 lines
1.7 KiB
C
Raw Normal View History

2024-11-25 10:09:24 +00:00
#pragma once
/*****************************************************************//**
* \file TBPImageAlgCls.h
* \brief BP<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>P94, <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
*********************************************************************/
2025-03-21 10:14:29 +00:00
//#define EIGEN_USE_BLAS
//#define EIGEN_USE_LAPACK
//#define EIGEN_ENABLE_AVX512
//#define EIGEN_VECTORIZE_SSE
//#define EIGEN_VECTORIZE_SSE2
//#define EIGEN_VECTORIZE_SSSE3
//#define EIGEN_VECTORIZE_SSE4_1
//#define EIGEN_VECTORIZE_SSE4_2
2024-11-25 10:09:24 +00:00
#include "BaseConstVariable.h"
#include "SARSatelliteSimulationAbstractCls.h"
#include "SARSimulationTaskSetting.h"
#include "SatelliteOribtModel.h"
#include "EchoDataFormat.h"
#include "SARSimulationImageL1.h"
#include "LogInfoCls.h"
class TBPImageAlgCls
{
private:
std::shared_ptr<SARSimulationImageL1Dataset> L1ds;
std::shared_ptr < EchoL0Dataset> L0ds;
QString imagePlanePath;
2024-11-25 17:51:20 +00:00
bool GPURUN;
QString outRasterXYZPath;
2024-11-25 10:09:24 +00:00
public:
void setImagePlanePath(QString imagePlanePath);
QString getImagePlanePath();
void setEchoL0(std::shared_ptr < EchoL0Dataset> L0ds);
void setImageL1(std::shared_ptr<SARSimulationImageL1Dataset> L1ds);
std::shared_ptr < EchoL0Dataset> getEchoL1();
std::shared_ptr<SARSimulationImageL1Dataset> getImageL0();
public:
2025-03-03 09:50:28 +00:00
ErrorCode ProcessWithGridNet(long num_thread, QString xyzRasterPath);
void setGPU(bool flag);
2025-03-03 09:50:28 +00:00
bool getGPU();
2024-11-25 10:09:24 +00:00
private:
//ErrorCode ProcessCPU(long num_thread);
2024-11-25 17:51:20 +00:00
ErrorCode ProcessGPU();
2025-03-03 09:50:28 +00:00
ErrorCode BPProcessBlockGPU();
2025-02-26 01:45:43 +00:00
private://<2F><>ʱ<EFBFBD><CAB1>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>
QString TimeEchoDataPath;
long TimeEchoRowCount;
long TimeEchoColCount;
2025-03-03 09:50:28 +00:00
void EchoFreqToTime();
2025-02-26 01:45:43 +00:00
2025-03-04 08:18:35 +00:00
private:
bool checkZeros(double* data, long long len);
2024-11-25 10:09:24 +00:00
};