slm: OpenCL code base  0.1
Functions
Channel and hillslope segmentation

Segment and subsegment hillslopes and adjacent channels into smallish zones. More...

Functions

__kernel void segment_hillslopes (__global const float2 *seed_point_array, __global const bool *mask_array, __global const float2 *uv_array, __global const uint *mapping_array, __global const uint *count_array, __global const uint *link_array, __global uint *label_array)
 TBD. More...
 
__kernel void subsegment_channel_edges (__global const float2 *seed_point_array, __global const bool *mask_array, __global const float2 *uv_array, __global uint *mapping_array, __global const uint *channel_label_array, __global const uint *link_array, __global uint *label_array)
 TBD. More...
 
__kernel void subsegment_flanks (__global const float2 *seed_point_array, __global const bool *mask_array, __global const float2 *uv_array, __global const uint *mapping_array, __global const uint *count_array, __global const uint *link_array, __global uint *label_array)
 TBD. More...
 

Detailed Description

Segment and subsegment hillslopes and adjacent channels into smallish zones.

Function Documentation

◆ segment_hillslopes()

__kernel void segment_hillslopes ( __global const float2 *  seed_point_array,
__global const bool *  mask_array,
__global const float2 *  uv_array,
__global const uint *  mapping_array,
__global const uint *  count_array,
__global const uint *  link_array,
__global uint *  label_array 
)

TBD.

Compiled if KERNEL_SEGMENT_HILLSLOPES is defined.

Parameters
[in]seed_point_arraylist of initial streamline point vectors, one allotted to each kernel instance
[in]mask_arraygrid pixel mask (padded), with true = masked, false = good
[in]uv_arrayflow unit velocity vector grid (padded)
[in]mapping_arrayflag grid recording status of each pixel (padded)
[in]count_arraycounter grid recording number of pixel steps downstream from dominant channel head (padded)
[in]link_arraylink grid providing the grid array index of the next downstream pixel (padded)
[in,out]label_arraylabel grid giving the ID of the subsegment to which this pixel belongs (padded); the MSB is set if left flank
Returns
void

Definition at line 108 of file segment.cl.

◆ subsegment_channel_edges()

__kernel void subsegment_channel_edges ( __global const float2 *  seed_point_array,
__global const bool *  mask_array,
__global const float2 *  uv_array,
__global uint *  mapping_array,
__global const uint *  channel_label_array,
__global const uint *  link_array,
__global uint *  label_array 
)

TBD.

Compiled if KERNEL_SUBSEGMENT_CHANNEL_EDGES is defined.

Parameters
[in]seed_point_arraylist of initial streamline point vectors, one allotted to each kernel instance
[in]mask_arraygrid pixel mask (padded), with true = masked, false = good
[in]uv_arrayflow unit velocity vector grid (padded)
[in,out]mapping_arrayflag grid recording status of each pixel (padded)
[in]channel_label_arraycopy of the label grid array
[in]link_arraylink grid providing the grid array index of the next downstream pixel (padded)
[in,out]label_arraylabel grid giving the ID of the subsegment to which this pixel belongs (padded); the MSB is set if left flank
Returns
void

Definition at line 169 of file segment.cl.

◆ subsegment_flanks()

__kernel void subsegment_flanks ( __global const float2 *  seed_point_array,
__global const bool *  mask_array,
__global const float2 *  uv_array,
__global const uint *  mapping_array,
__global const uint *  count_array,
__global const uint *  link_array,
__global uint *  label_array 
)

TBD.

Compiled if KERNEL_SUBSEGMENT_FLANKS is defined.

Parameters
[in]seed_point_arraylist of initial streamline point vectors, one allotted to each kernel instance
[in]mask_arraygrid pixel mask (padded), with true = masked, false = good
[in]uv_arrayflow unit velocity vector grid (padded)
[in,out]mapping_arrayflag grid recording status of each pixel (padded)
[in,out]count_arraycounter grid recording number of pixel steps downstream from dominant channel head (padded)
[in,out]link_arraylink grid providing the grid array index of the next downstream pixel (padded)
[in,out]label_arraylabel grid giving the ID of the subsegment to which this pixel belongs (padded); the MSB is set if left flank
Returns
void

Definition at line 272 of file segment.cl.