 }
 
 __global__
-void idNearbyPointDispatcher( FrameMetaPtr                       meta,
-                              const int                          tagIndex,
-                              bool                               first_iteration,
-                              cv::cuda::PtrStepSzb               src,
-                              const popart::geometry::ellipse    ellipse,
-                              const popart::geometry::matrix3x3  mT,
-                              const popart::geometry::matrix3x3  mInvT,
-                              float2                             center,
-                              const int                          vCutsSize,
-                              const float                        neighbourSize,
-                              NearbyPoint*                       point_buffer,
-                              const identification::CutStruct*   cut_buffer,
-                              identification::CutSignals*        sig_buffer )
+void getSignalsAllNearbyPoints(
+    const int                          tagIndex,
+    bool                               first_iteration,
+    cv::cuda::PtrStepSzb               src,
+    const popart::geometry::ellipse    ellipse,
+    const popart::geometry::matrix3x3  mT,
+    // const popart::geometry::matrix3x3  mInvT,
+    float2                             center,
+    const int                          vCutsSize,
+    const float                        neighbourSize,
+    NearbyPoint*                       point_buffer,
+    const identification::CutStruct*   cut_buffer,
+    identification::CutSignals*        sig_buffer )
 {
     const size_t gridNSample = tagParam.gridNSample;
     const float  gridWidth   = neighbourSize;

    ellipse.computeHomographyFromImagedCenter( nPoint->point, nPoint->mHomography );
    nPoint->mHomography.invert( nPoint->mInvHomography );

    identification::CutSignals* signals = &sig_buffer[idx * vCutsSize];

    dim3 block( 32, // we use this to sum up signals
                32, // 32 cuts in one block
                1 );
    dim3 grid(  grid_divide( vCutsSize, 32 ), // ceil(#cuts/32) blocks needed
                1,
                1 );

#if 0
    cerr << "GPU: #vCuts=" << vCutsSize << " vCutMaxLen=" << vCutMaxVecLen

                   grid_divide( gridNSample, 32 ),
                   1 );

        popart::identification::getSignalsAllNearbyPoints
            <<<grid,block,0,_stream>>>
            ( tagIndex,
              first_iteration,
              _d_plane,
              ellipse,
              mT,
              // mInvT,
              center,
              vCutSize,
              neighSize,
              point_buffer,
              cut_buffer,
              signal_buffer );
        POP_CHK_CALL_IFSYNC;

        popart::identification::computeResultAllNearbyPoints
            <<<grid,block,0,_stream>>>
            ( tagIndex,
              vCutSize,
              point_buffer,
              cut_buffer,
              signal_buffer );
        POP_CHK_CALL_IFSYNC;

#if 0
// #ifdef CPU_GPU_COST_FUNCTION_COMPARE
