72 lines
1.7 KiB
C++
72 lines
1.7 KiB
C++
#pragma once
|
||
/*****************************************************************//**
|
||
* \file TBPImageAlgCls.h
|
||
* \brief BP成像算法
|
||
*
|
||
* 参考资料
|
||
* 雷达成像技术, 邢孟道
|
||
*
|
||
* 成像平面定义为 数据录取平面(P94, 雷达成像技术)
|
||
* 数据录取平面定义为视线方向。
|
||
*
|
||
*
|
||
* \author 陈增辉
|
||
* \date October 2024
|
||
*********************************************************************/
|
||
//#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
|
||
#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;
|
||
bool GPURUN;
|
||
QString outRasterXYZPath;
|
||
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:
|
||
|
||
ErrorCode ProcessWithGridNet(long num_thread, QString xyzRasterPath);
|
||
void setGPU(bool flag);
|
||
bool getGPU();
|
||
private:
|
||
//ErrorCode ProcessCPU(long num_thread);
|
||
ErrorCode ProcessGPU();
|
||
ErrorCode BPProcessBlockGPU();
|
||
private://临时成员变量
|
||
QString TimeEchoDataPath;
|
||
long TimeEchoRowCount;
|
||
long TimeEchoColCount;
|
||
|
||
void EchoFreqToTime();
|
||
|
||
|
||
private:
|
||
bool checkZeros(double* data, long long len);
|
||
};
|