               point_buffer );
         POP_CHK_CALL_IFSYNC;
 
-        popart::identification::getSignalsAllNearbyPoints
-            <<<grid,block,0,tagStream>>>
+        dim3 get_block( 32, vCutSize, 1 ); // we use this to sum up signals
+        dim3 get_grid( 1, gridNSample, gridNSample );
+
+        popart::identification::idGetSignals
+            <<<get_grid,get_block,0,tagStream>>>
             ( _d_plane,
               vCutSize,
               point_buffer,

 * once for every 
 */
__global__
void idGetSignals( NearbyPoint*         nPoint,
                   cv::cuda::PtrStepSzb src,
                   const CutStruct*     cut_buffer,
                   CutSignals*          signals,
                   const int            vCutSize )
{
    int myCutIdx = blockIdx.x * blockDim.y + threadIdx.y;

    if( myCutIdx >= vCutSize ) {
        // warps do never loose lockstep because of this
        return; // out of bounds
    }

    // OK
    // if( threadIdx.x == 0 ) { printf("My index: %d\n", myCutIdx ); }

    const CutStruct& myCut     = cut_buffer[myCutIdx];
    CutSignals*      mySignals = &signals[myCutIdx];

    nPoint->readable = true;
    ellipse.computeHomographyFromImagedCenter( nPoint->point, nPoint->mHomography );
    nPoint->mHomography.invert( nPoint->mInvHomography );
}

/* All the signals have been computed for the homographies rolled
