RasterProcessTool/GF3CalibrationAndOrthLib/GF3CalibrationGeoCodingFunC...

73 lines
2.2 KiB
Plaintext
Raw Permalink Normal View History

2025-05-13 17:48:58 +00:00
#ifndef __GF3CALIBRATIONGEOCODINGFUNCUDA__H__
#define __GF3CALIBRATIONGEOCODINGFUNCUDA__H__
#include "gf3calibrationandorthlib_global.h"
#include "BaseConstVariable.h"
#include "GPUTool.cuh"
#include <cuda_runtime.h>
#include <device_launch_parameters.h>
#include <cublas_v2.h>
#include <cuComplex.h>
2025-05-20 07:18:00 +00:00
/** <20>˺<EFBFBD><CBBA><EFBFBD> *********************************************************************************************************************/
2025-05-13 17:48:58 +00:00
/// <summary>
/// <20><><EFBFBD><EFBFBD><E3BCAB>ת<EFBFBD><D7AA>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>float<61><74>
/// </summary>
/// <param name="inangle"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="alpha">ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <returns></returns>
2025-05-13 18:56:15 +00:00
extern __device__ __host__ float Computrer_polartionConver_rpol_f(float inangle, float alpha = 1);
2025-05-13 17:48:58 +00:00
/// <summary>
/// <20><><EFBFBD><EFBFBD><E3BCAB>ת<EFBFBD><D7AA>ϵ<EFBFBD><CFB5> (double)
/// </summary>
/// <param name="inangle"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="alpha">ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <returns></returns>
2025-05-13 18:56:15 +00:00
extern __device__ __host__ double Computrer_polartionConver_rpol_d(double inangle, double alpha = 1);
/// <summary>
/// <20><><EFBFBD><EFBFBD>ɢ<EFBFBD><C9A2>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><E4BBBB><EFBFBD><EFBFBD>
/// </summary>
/// <param name="insig">sigma0 (dB)</param>
/// <param name="inangle"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>)</param>
/// <param name="alpha">Ĭ<><C4AC>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>ͣ<EFBFBD>0.6Ϊ<EFBFBD><EFBFBD>ķɭ</param>
/// <param name="isvv">true<75><65>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ΪVV<56><56>falseΪHH</param>
/// <returns></returns>
extern __host__ __device__ double polartionConver_d(double insig, double inangle, double alpha = 1.0, bool isvv = true);
/// <summary>
/// <20><><EFBFBD><EFBFBD>ɢ<EFBFBD><C9A2>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><E4BBBB><EFBFBD><EFBFBD>
/// </summary>
/// <param name="insig">sigma0 (dB)</param>
/// <param name="inangle"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>)</param>
/// <param name="alpha">Ĭ<><C4AC>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>ͣ<EFBFBD>0.6Ϊ<EFBFBD><EFBFBD>ķɭ</param>
/// <param name="isvv">true<75><65>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ΪVV<56><56>falseΪHH</param>
/// <returns></returns>
extern __host__ __device__ float polartionConver_f(float insig, float inangle, float alpha = 1.0, bool isvv = true);
2025-05-13 17:48:58 +00:00
2025-05-20 07:18:00 +00:00
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ******************************************************************************************************************************/
extern "C" void GPUComputePolarizationConver_f(
float* insig, float* inangle, float* alpha,
bool isvv, int count,
float* outsig
);
extern "C" void GPUComputePolarizationConver_d(
double* insig, double* inangle, double* alpha,
bool isvv, int count,
double* outsig
);
2025-05-13 17:48:58 +00:00
#endif