61 lines
1.5 KiB
C++
61 lines
1.5 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;
|
||
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 Process(long num_thread);
|
||
|
||
private:
|
||
ErrorCode ProcessCPU(long num_thread);
|
||
|
||
ErrorCode ProcessGPU();
|
||
};
|
||
|
||
|
||
void TBPImageProcess(QString echofile,QString outImageFolder,QString imagePlanePath,long num_thread); |