   thrust::device_vector<float> dLambdas(BS * NY * NX);
   thrust::device_vector<float> dExpLambdas(NY * NX);
   thrust::device_vector<float> dLogLs(NY * NX);
-  thrust::device_vector<float> dIntensity(BS * 24 * 32 * 32);
-  thrust::host_vector<float> hIntensity(BS * 24 * 32 * 32);
-  thrust::device_vector<float> dIntensity2(BS * 24 * 32 * 32);
-  thrust::host_vector<float> hIntensity2(BS * 24 * 32 * 32);
+  thrust::device_vector<float> dIntensity(BS * 3 * 48 * 32 * 32);
+  thrust::host_vector<float> hIntensity(BS * 3 * 48 * 32 * 32);
+  thrust::device_vector<float> dIntensity2(BS * 3 * 48 * 32 * 32);
+  thrust::host_vector<float> hIntensity2(BS * 3 * 48 * 32 * 32);
   thrust::device_vector<int> dpsum(BS);
   thrust::device_vector<float> dlsum(BS);
   thrust::host_vector<long long> hPhc(BS * 3);


    cufftComplex val;
    val.y = 0.f;

    float r2 = r * r - qx * qx - qy * qy;
    if (r2 < 0.f)

	      for (int dy = -0.6 * reals.sigma; dy <= 0.6 * reals.sigma; dy+= 4)
		{
		  if (dx == 0 && dy > 0) continue;
/*		  int dx = 0;
		  int dy = 0;*/
		  reals.x = dx;
		  reals.y = dy;
		  thrust::tabulate(thrust::device, d_complexSpace.data(), d_complexSpace.data() + FX * FY, reals);
