RasterProcessTool/SimulationSAR/TBPImageAlgCls.h

61 lines
1.5 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#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);