 
   , int timesteps
   , int channels
+  , bool is_half_gcf
   >
 __device__ __inline__ void addBaselineToGrid(
     double scale


    int supp = uvo_shared[i].gcf_layer_supp;

    int wplane, wplane_m;
    wplane = uvo_shared[i].gcf_layer_w_plane;
    if (wplane < 0) wplane_m = -wplane; else wplane_m = wplane;
    complexd supportPixel =
      gcf_layer[wplane_m]
        [(uvo_shared[i].gcf_layer_over * supp + myConvU) * supp + myConvV];
    // if mirrored make conjugation
    if (wplane < 0)
      supportPixel.y = - supportPixel.y;

    if (myGridU != grid_point_u || myGridV != grid_point_v) {
      atomicAdd(&grid[grid_point_u][grid_point_v], sumXX, sumXY, sumYX, sumYY);

    , w_planes
    , timesteps
    , channels
    , is_half_gcf
    >(max_supp
    , gcf_layers
    , grid
