common.in 1.4 KB

1234567891011121314151617181920212223242526272829303132
  1. kernel void backproject_burst_{0} (
  2. {1}
  3. global float *volume,
  4. const sampler_t sampler,
  5. const int3 real_size,
  6. const float2 x_center,
  7. const float y_center,
  8. const float2 x_region,
  9. const float2 y_region,
  10. const float2 z_region,
  11. const float2 lamino_region,
  12. float sin_lamino,
  13. float cos_lamino,
  14. const float{2} sines,
  15. const float{2} cosines,
  16. const float norm_factor,
  17. const int cumulate)
  18. {{
  19. int idx = get_global_id (0);
  20. int idy = get_global_id (1);
  21. int idz = get_global_id (2);
  22. float result, tmp, tmp_x, tmp_y;
  23. float old = cumulate ? volume[idz * real_size.x * real_size.y + idy * real_size.x + idx] : 0.0f;
  24. float2 pixel;
  25. float3 voxel;
  26. if (idx < real_size.x && idy < real_size.y && idz < real_size.z) {{
  27. {3}
  28. volume[idz * real_size.x * real_size.y + idy * real_size.x + idx] = old + result * norm_factor;
  29. }}
  30. }}