1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #define rotate() pixel.x -= x_center.x; \
- pixel.y -= y_center; \
- pixel.x = pixel.x * cos_roll + pixel.y * sin_roll; \
- pixel.y = -pixel.x * sin_roll + pixel.y * cos_roll; \
- pixel.x += x_center.x; \
- pixel.y += y_center;
- kernel void backproject_burst_{0} (
- {1}
- global float *volume,
- const sampler_t sampler,
- const int3 real_size,
- const float2 x_center,
- const float y_center,
- const float2 x_region,
- const float2 y_region,
- const float2 z_region,
- const float2 lamino_region,
- float sin_lamino,
- float cos_lamino,
- const float{2} sines,
- const float{2} cosines,
- const float norm_factor,
- const float sin_roll,
- const float cos_roll,
- const int cumulate)
- {{
- int idx = get_global_id (0);
- int idy = get_global_id (1);
- int idz = get_global_id (2);
- float result, tmp, tmp_x, tmp_y;
- float2 pixel;
- float3 voxel;
- if (idx < real_size.x && idy < real_size.y && idz < real_size.z) {{
- {3}
- if (cumulate) {{
- volume[idz * real_size.x * real_size.y + idy * real_size.x + idx] += result * norm_factor;
- }} else {{
- volume[idz * real_size.x * real_size.y + idy * real_size.x + idx] = result * norm_factor;
- }}
- }}
- }}
|