#include "GPUTool.cuh" #include #include #include #include "BaseConstVariable.h" extern __device__ double getNumberDopplerCenterRate(double R, double r0, double r1, double r2, double r3, double r4,double reftime); extern __device__ double getDopplerCenterRate(double Rx,double Ry,double Rz,double Vx,double Vy,double Vz,double fact_lamda); //fact_lamda lamda 的倒数 extern __device__ double getPolyfitNumber(double x, double a0, double a1, double a2, double a3, double a4,double a5); // extern "C" void RDProcess_dopplerGPU( double* demX, double* demY, double* demZ, // 处理入射坐标 float* outRidx,float* outCidx, // 输出 行列数 long rowcount,long colcount, double starttime, double nearRange, double farRange, double PRF, double Fs, double fact_lamda, // lamda 倒数 double Xp0 = 0, double Yp0 = 0,double Zp0 = 0,double Xv0 = 0,double Yv0 = 0,double Zv0 = 0, // 轨道参数 double Xp1 = 0, double Yp1 = 0,double Zp1 = 0,double Xv1 = 0,double Yv1 = 0,double Zv1 = 0, double Xp2 = 0, double Yp2 = 0,double Zp2 = 0,double Xv2 = 0,double Yv2 = 0,double Zv2 = 0, double Xp3 = 0, double Yp3 = 0,double Zp3 = 0,double Xv3 = 0,double Yv3 = 0,double Zv3 = 0, double Xp4 = 0, double Yp4 = 0,double Zp4 = 0,double Xv4 = 0,double Yv4 = 0,double Zv4 = 0, double Xp5 = 0, double Yp5 = 0,double Zp5 = 0,double Xv5 = 0,double Yv5 = 0,double Zv5 = 0, double reftime=0,double r0 = 0, double r1 = 0, double r2 = 0, double r3 = 0, double r4 = 0 ); // extern "C" void RDProcess_demSloperGPU( double* demX, double* demY, double* demZ, // 处理入射坐标 double* demSloperX, double* demSloperY, double* demSloperZ, // 处理入射坐标 float* InRidx, //float* InCidx, // 输出 行列数 float* outIncAngle, long rowcount, long colcount, double starttime, double nearRange, double farRange, double PRF, //double Fs, //double fact_lamda, // lamda 倒数 double Xp0 = 0, double Yp0 = 0, double Zp0 = 0, double Xv0 = 0, double Yv0 = 0, double Zv0 = 0, // 轨道参数 double Xp1 = 0, double Yp1 = 0, double Zp1 = 0, double Xv1 = 0, double Yv1 = 0, double Zv1 = 0, double Xp2 = 0, double Yp2 = 0, double Zp2 = 0, double Xv2 = 0, double Yv2 = 0, double Zv2 = 0, double Xp3 = 0, double Yp3 = 0, double Zp3 = 0, double Xv3 = 0, double Yv3 = 0, double Zv3 = 0, double Xp4 = 0, double Yp4 = 0, double Zp4 = 0, double Xv4 = 0, double Yv4 = 0, double Zv4 = 0, double Xp5 = 0, double Yp5 = 0, double Zp5 = 0, double Xv5 = 0, double Yv5 = 0, double Zv5 = 0 ); extern "C" void RDProcess_dopplerGPU_InSARImagePlaneXYZR( double* demX, double* demY, double* demZ, double* outR, long rowcount, long colcount, double starttime, double nearRange, double farRange, double PRF, double Fs, double fact_lamda, double Xp0, double Yp0, double Zp0, double Xv0, double Yv0, double Zv0, double Xp1, double Yp1, double Zp1, double Xv1, double Yv1, double Zv1, double Xp2, double Yp2, double Zp2, double Xv2, double Yv2, double Zv2, double Xp3, double Yp3, double Zp3, double Xv3, double Yv3, double Zv3, double Xp4, double Yp4, double Zp4, double Xv4, double Yv4, double Zv4, double Xp5, double Yp5, double Zp5, double Xv5, double Yv5, double Zv5, double reftime, double r0, double r1, double r2, double r3, double r4 );