summaryrefslogtreecommitdiffstats
path: root/src/kernels/phase-retrieval.cl
diff options
context:
space:
mode:
authorTomas Farago <sensej007@email.cz>2020-06-25 09:20:38 +0200
committerGitHub <noreply@github.com>2020-06-25 09:20:38 +0200
commit2444279f92dbc057ff503f8800a5aa98d11b5130 (patch)
tree62234f42d6a69acc403a922196d3ea805b90bf0f /src/kernels/phase-retrieval.cl
parent04f1cf13aae8d6a18d0e7ad23dec93a5baa3e66f (diff)
parent00d89ee04293e93a467e6d8e2195b6af03d827c1 (diff)
downloadufo-filters-2444279f92dbc057ff503f8800a5aa98d11b5130.tar.gz
ufo-filters-2444279f92dbc057ff503f8800a5aa98d11b5130.tar.bz2
ufo-filters-2444279f92dbc057ff503f8800a5aa98d11b5130.tar.xz
ufo-filters-2444279f92dbc057ff503f8800a5aa98d11b5130.zip
Merge pull request #205 from ufo-kit/directional-phaseretrieval
phase retrieval: enable separate x and y distance
Diffstat (limited to 'src/kernels/phase-retrieval.cl')
-rw-r--r--src/kernels/phase-retrieval.cl10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/kernels/phase-retrieval.cl b/src/kernels/phase-retrieval.cl
index 6f43efb..fa6db33 100644
--- a/src/kernels/phase-retrieval.cl
+++ b/src/kernels/phase-retrieval.cl
@@ -29,14 +29,14 @@
float n_idy = (idy >= height >> 1) ? idy - height : idy; \
n_idx = n_idx / width; \
n_idy = n_idy / height; \
- float sin_arg = prefac * (n_idy * n_idy + n_idx * n_idx); \
+ float sin_arg = prefac.x * (n_idx * n_idx) + prefac.y * (n_idy * n_idy); \
#define COMMON_SETUP \
COMMON_SETUP_TIE; \
float sin_value = sin(sin_arg);
kernel void
-tie_method(float prefac, float regularize_rate, float binary_filter_rate, float frequency_cutoff, global float *output)
+tie_method(float2 prefac, float regularize_rate, float binary_filter_rate, float frequency_cutoff, global float *output)
{
COMMON_SETUP_TIE;
if (sin_arg >= frequency_cutoff)
@@ -46,7 +46,7 @@ tie_method(float prefac, float regularize_rate, float binary_filter_rate, float
}
kernel void
-ctf_method(float prefac, float regularize_rate, float binary_filter_rate, float frequency_cutoff, global float *output)
+ctf_method(float2 prefac, float regularize_rate, float binary_filter_rate, float frequency_cutoff, global float *output)
{
COMMON_SETUP;
@@ -57,7 +57,7 @@ ctf_method(float prefac, float regularize_rate, float binary_filter_rate, float
}
kernel void
-qp_method(float prefac, float regularize_rate, float binary_filter_rate, float frequency_cutoff, global float *output)
+qp_method(float2 prefac, float regularize_rate, float binary_filter_rate, float frequency_cutoff, global float *output)
{
COMMON_SETUP;
@@ -70,7 +70,7 @@ qp_method(float prefac, float regularize_rate, float binary_filter_rate, float f
}
kernel void
-qp2_method(float prefac, float regularize_rate, float binary_filter_rate, float frequency_cutoff, global float *output)
+qp2_method(float2 prefac, float regularize_rate, float binary_filter_rate, float frequency_cutoff, global float *output)
{
COMMON_SETUP;
float cacl_filter_value = 0.5f / (sin_value + pow(10, -regularize_rate));