同步修改
parent
1dd16d0727
commit
32fe3efa80
|
@ -65,7 +65,7 @@ __global__ void kernel_TimeBPImageGridNet(double* antPx, double* antPy, double*
|
|||
imgx[idx] = P.x;
|
||||
imgy[idx] = P.y;
|
||||
imgz[idx] = P.z;
|
||||
|
||||
|
||||
}
|
||||
else {
|
||||
imgx[idx] = 1.0/0;
|
||||
|
|
|
@ -129,6 +129,19 @@ void CreatePixelXYZ(std::shared_ptr<EchoL0Dataset> echoL0ds, QString outPixelXYZ
|
|||
Rnear, dx, refRange
|
||||
);
|
||||
|
||||
DeviceToHost(h_demx.get(), d_demx.get(), sizeof(double) * prfcount * tempechocol);
|
||||
DeviceToHost(h_demy.get(), d_demy.get(), sizeof(double) * prfcount * tempechocol);
|
||||
DeviceToHost(h_demz.get(), d_demz.get(), sizeof(double) * prfcount * tempechocol);
|
||||
|
||||
#pragma omp parallel for
|
||||
for (long ii = 0; ii < prfcount; ii++) {
|
||||
for (long jj = 0; jj < tempechocol; jj++) {
|
||||
demx.get()[ii * tempechocol + jj]=h_demx.get()[ii * tempechocol + jj] ;
|
||||
demy.get()[ii * tempechocol + jj]=h_demy.get()[ii * tempechocol + jj] ;
|
||||
demz.get()[ii * tempechocol + jj]=h_demz.get()[ii * tempechocol + jj] ;
|
||||
}
|
||||
}
|
||||
|
||||
xyzRaster.saveImage(demx, 0, startcolidx,prfcount,tempechocol, 1);
|
||||
xyzRaster.saveImage(demy, 0, startcolidx,prfcount,tempechocol, 2);
|
||||
xyzRaster.saveImage(demz, 0, startcolidx,prfcount,tempechocol, 3);
|
||||
|
@ -411,7 +424,7 @@ void TBPImageAlgCls::EchoFreqToTime( )
|
|||
gdalImageComplex outTimeEchoImg = CreategdalImageComplexNoProj(this->TimeEchoDataPath,this->TimeEchoRowCount,this->TimeEchoColCount,1);
|
||||
|
||||
// ·Ö¿é
|
||||
long echoBlockline = Memory1GB / 8 / 2 / outColCount * 2; //1GB
|
||||
long echoBlockline = Memory1GB / 8 / 2 / outColCount * 3; //1GB
|
||||
echoBlockline = echoBlockline < 1 ? 1 : echoBlockline;
|
||||
|
||||
|
||||
|
@ -434,7 +447,6 @@ void TBPImageAlgCls::EchoFreqToTime( )
|
|||
for (long jj = 0; jj < inColCount; jj++) {
|
||||
host_echoArr.get()[ii* outColCount +jj] = make_cuComplex(echoArr.get()[ii * inColCount + jj].real(), echoArr.get()[ii * inColCount + jj].imag());
|
||||
}
|
||||
|
||||
}
|
||||
#pragma omp parallel for
|
||||
for (long ii = 0; ii < tempechoBlockline * outColCount; ii++) {
|
||||
|
@ -446,15 +458,15 @@ void TBPImageAlgCls::EchoFreqToTime( )
|
|||
|
||||
HostToDevice(host_echoArr.get(), device_echoArr.get(), sizeof(cuComplex) * tempechoBlockline * inColCount);
|
||||
HostToDevice(host_IFFTechoArr.get(), device_IFFTechoArr.get(), sizeof(cuComplex) * tempechoBlockline * outColCount);
|
||||
CUDAIFFT(device_echoArr.get(), device_IFFTechoArr.get(), tempechoBlockline, inColCount, outColCount);
|
||||
CUDAIFFT(device_echoArr.get(), device_IFFTechoArr.get(), tempechoBlockline, outColCount, outColCount);
|
||||
|
||||
DeviceToHost(host_IFFTechoArr.get(), device_IFFTechoArr.get(), sizeof(cuComplex) * tempechoBlockline * outColCount);
|
||||
|
||||
#pragma omp parallel for
|
||||
for (long ii = 0; ii < tempechoBlockline ; ii++) {
|
||||
for (long jj = 0; jj < outColCount; jj++) {
|
||||
IFFTArr.get()[ii * outColCount + jj] = std::complex<double>(host_IFFTechoArr.get()[ii * outColCount + jj].x,
|
||||
host_IFFTechoArr.get()[ii * outColCount + jj].y);
|
||||
IFFTArr.get()[ii * outColCount + jj] = std::complex<double>(host_IFFTechoArr.get()[ii * outColCount + jj].x, host_IFFTechoArr.get()[ii * outColCount + jj].y);
|
||||
//IFFTArr.get()[ii * outColCount + jj] = std::complex<double>(host_echoArr.get()[ii * outColCount + jj].x, host_echoArr.get()[ii * outColCount + jj].y);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue