修复 RTPC算法中后向散射系数部分 角度为线性值

pull/3/head
陈增辉 2024-12-24 15:33:46 +08:00
parent 7ad0acdd5d
commit 13e301d684
3 changed files with 3 additions and 3 deletions

View File

@ -337,7 +337,7 @@ __global__ void CUDA_InterpSigma(
CUDASigmaParam tempsigma = sigma0Paramslist[clsid]; CUDASigmaParam tempsigma = sigma0Paramslist[clsid];
//printf("cls:%d;localangle=%f;\n",clsid, localangle); //printf("cls:%d;localangle=%f;\n",clsid, localangle);
if (localangle < 0 || localangle >= 90) { if (localangle < 0 || localangle >= LAMP_CUDA_PI/2) {
sigmaAmp[idx] = 0; sigmaAmp[idx] = 0;
} }
else {} else {}

View File

@ -90,7 +90,6 @@ __global__ void CUDA_cosAngle_VA_AB(float* Ax, float* Ay, float* Az, float* Bx,
} }
} }
//´íÎóÌáʾ //´íÎóÌáʾ
extern "C" void checkCudaError(cudaError_t err, const char* msg) { extern "C" void checkCudaError(cudaError_t err, const char* msg) {
if (err != cudaSuccess) { if (err != cudaSuccess) {

View File

@ -830,13 +830,14 @@ ErrorCode RTPCProcessCls::RTPCMainProcess_GPU( )
CUDAmake_VectorA_B(antpx, antpy, antpz, d_dem_x, d_dem_y, d_dem_z, d_RstX, d_RstY, d_RstZ, pixelcount); // Rst = Rs - Rt; µØÃæ-> Ö¸Ïò CUDAmake_VectorA_B(antpx, antpy, antpz, d_dem_x, d_dem_y, d_dem_z, d_RstX, d_RstY, d_RstZ, pixelcount); // Rst = Rs - Rt; µØÃæ-> Ö¸Ïò
CUDANorm_Vector(d_RstX, d_RstY, d_RstZ, d_R, pixelcount); // R CUDANorm_Vector(d_RstX, d_RstY, d_RstZ, d_R, pixelcount); // R
CUDAcosAngle_VA_AB(d_RstX, d_RstY, d_RstZ, d_demsloper_x, d_demsloper_y, d_demsloper_z, d_localangle, pixelcount); // ¾Ö²¿ÈëÉä½Ç CUDAcosAngle_VA_AB(d_RstX, d_RstY, d_RstZ, d_demsloper_x, d_demsloper_y, d_demsloper_z, d_localangle, pixelcount); // 局部入射角 (线性)
SatelliteAntDirectNormal(d_RstX, d_RstY, d_RstZ, SatelliteAntDirectNormal(d_RstX, d_RstY, d_RstZ,
antXaxisX, antXaxisY, antXaxisZ, antXaxisX, antXaxisY, antXaxisZ,
antYaxisX, antYaxisY, antYaxisZ, antYaxisX, antYaxisY, antYaxisZ,
antZaxisX, antZaxisY, antZaxisZ, antZaxisX, antZaxisY, antZaxisZ,
antdirectx, antdirecty, antdirectz, antdirectx, antdirecty, antdirectz,
d_dem_theta, d_dem_phi, pixelcount);// ¼ÆËã½Ç¶È d_dem_theta, d_dem_phi, pixelcount);// ¼ÆËã½Ç¶È
#ifdef __PRFDEBUG__ #ifdef __PRFDEBUG__
//DeviceToHost(h_RstX, d_RstX, sizeof(float)* pixelcount); //DeviceToHost(h_RstX, d_RstX, sizeof(float)* pixelcount);
//DeviceToHost(h_RstY, d_RstY, sizeof(float)* pixelcount); //DeviceToHost(h_RstY, d_RstY, sizeof(float)* pixelcount);