slm: OpenCL code base
0.1
|
Kernels to map provisional channel heads and the prune those not on thin channels. More...
Go to the source code of this file.
Macros | |
#define | CHECK_IS_THINCHANNEL(idx) ((mapping_array[idx] & IS_THINCHANNEL)>0) |
#define | CHECK_IS_MASKED(idx) (mask_array[idx]) |
#define | CHECK_THINCHANNEL(nbr_vec) |
#define | CHECK_E(vec) CHECK_THINCHANNEL((float2)( vec[0]+1.0f, vec[1] )) |
#define | CHECK_NE(vec) CHECK_THINCHANNEL((float2)( vec[0]+1.0f, vec[1]+1.0f )) |
#define | CHECK_N(vec) CHECK_THINCHANNEL((float2)( vec[0] , vec[1]+1.0f )) |
#define | CHECK_NW(vec) CHECK_THINCHANNEL((float2)( vec[0]-1.0f, vec[1]+1.0f )) |
#define | CHECK_W(vec) CHECK_THINCHANNEL((float2)( vec[0]-1.0f, vec[1] )) |
#define | CHECK_SW(vec) CHECK_THINCHANNEL((float2)( vec[0]-1.0f, vec[1]-1.0f )) |
#define | CHECK_S(vec) CHECK_THINCHANNEL((float2)( vec[0] , vec[1]-1.0f )) |
#define | CHECK_SE(vec) CHECK_THINCHANNEL((float2)( vec[0]+1.0f, vec[1]-1.0f )) |
Functions | |
__kernel void | map_channel_heads (__global const float2 *seed_point_array, __global const bool *mask_array, __global const float2 *uv_array, __global uint *mapping_array) |
Map provisional channel heads, even including those not on an IS_THINCHANNEL pixel and thus extraneous. More... | |
__kernel void | prune_channel_heads (__global const float2 *seed_point_array, __global const bool *mask_array, __global const float2 *uv_array, __global uint *mapping_array) |
Keep only those provisional channel heads that lie on the 'thin channel' skeletonized network and have only one such thin channel pixel neighbor. More... | |
Kernels to map provisional channel heads and the prune those not on thin channels.
Definition in file channelheads.cl.
#define CHECK_E | ( | vec | ) | CHECK_THINCHANNEL((float2)( vec[0]+1.0f, vec[1] )) |
Definition at line 103 of file channelheads.cl.
#define CHECK_IS_MASKED | ( | idx | ) | (mask_array[idx]) |
Definition at line 97 of file channelheads.cl.
#define CHECK_IS_THINCHANNEL | ( | idx | ) | ((mapping_array[idx] & IS_THINCHANNEL)>0) |
Definition at line 96 of file channelheads.cl.
#define CHECK_N | ( | vec | ) | CHECK_THINCHANNEL((float2)( vec[0] , vec[1]+1.0f )) |
Definition at line 105 of file channelheads.cl.
#define CHECK_NE | ( | vec | ) | CHECK_THINCHANNEL((float2)( vec[0]+1.0f, vec[1]+1.0f )) |
Definition at line 104 of file channelheads.cl.
#define CHECK_NW | ( | vec | ) | CHECK_THINCHANNEL((float2)( vec[0]-1.0f, vec[1]+1.0f )) |
Definition at line 106 of file channelheads.cl.
#define CHECK_S | ( | vec | ) | CHECK_THINCHANNEL((float2)( vec[0] , vec[1]-1.0f )) |
Definition at line 109 of file channelheads.cl.
#define CHECK_SE | ( | vec | ) | CHECK_THINCHANNEL((float2)( vec[0]+1.0f, vec[1]-1.0f )) |
Definition at line 110 of file channelheads.cl.
#define CHECK_SW | ( | vec | ) | CHECK_THINCHANNEL((float2)( vec[0]-1.0f, vec[1]-1.0f )) |
Definition at line 108 of file channelheads.cl.
#define CHECK_THINCHANNEL | ( | nbr_vec | ) |
Definition at line 98 of file channelheads.cl.
#define CHECK_W | ( | vec | ) | CHECK_THINCHANNEL((float2)( vec[0]-1.0f, vec[1] )) |
Definition at line 107 of file channelheads.cl.