#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 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 L1ds); std::shared_ptr < EchoL0Dataset> getEchoL1(); std::shared_ptr 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);