aboutsummaryrefslogtreecommitdiff
path: root/data/diffraction.cl
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2010-02-19 18:07:44 +0100
committerThomas White <taw@physics.org>2010-02-19 18:07:44 +0100
commit3542ac97a332f2657c7a69b93bf1133ca81967cb (patch)
treeb88c84c54df1b0f38681a2d0169186b6378a44a5 /data/diffraction.cl
parentab3573ec308bd8d4e4790ab2c7e54ad4b6b81710 (diff)
Simplify sampling a bit - preventing some indexing issues
Diffstat (limited to 'data/diffraction.cl')
-rw-r--r--data/diffraction.cl10
1 files changed, 5 insertions, 5 deletions
diff --git a/data/diffraction.cl b/data/diffraction.cl
index babfc6b7..138af028 100644
--- a/data/diffraction.cl
+++ b/data/diffraction.cl
@@ -52,8 +52,8 @@ float4 get_q(int x, int y, float cx, float cy, float res, float clen, float k,
float ttx, tty, tt;
float4 q;
- rx = ((float)x - cx)/res;
- ry = ((float)y - cy)/res;
+ rx = ((float)x - sampling*cx)/(res*sampling);
+ ry = ((float)y - sampling*cy)/(res*sampling);
r = sqrt(pow(rx, 2.0) + pow(ry, 2.0));
@@ -134,8 +134,8 @@ kernel void diffraction(global float2 *diff, global float *tt, float k,
int xmin, int ymin, int sampling, local float2 *tmp)
{
float ttv;
- const int x = get_global_id(0) + xmin;
- const int y = get_global_id(1) + ymin;
+ const int x = get_global_id(0) + (xmin*sampling);
+ const int y = get_global_id(1) + (ymin*sampling);
float f_lattice;
float2 f_molecule;
float4 q;
@@ -165,7 +165,7 @@ kernel void diffraction(global float2 *diff, global float *tt, float k,
diff[ax+w*ay] = sum / (sampling*sampling);
- /* Leader thread also records 2theta value.
+ /* Leader thread also records the 2theta value.
* This should really be averaged across all pixels, but
* I strongly suspect this would be a waste of time. */
tt[ax+w*ay] = ttv;