             if (convexEdgeSegmentSize > param_windowSizeOnInnerEllipticSegment) {
                 int write_index = atomicAdd( d_ring_counter, 1 );
                 if( write_index <= d_ring_counter_max ) {
-                    printf("The number of points reached from (%d,%d): %d (average vote %f)\n", p->coord.x, p->coord.y, i, averageVote );
+                    printf("From (%d,%d): %d (average vote %f) - accept, edge segment size %d\n", p->coord.x, p->coord.y, i, averageVote, convexEdgeSegmentSize );
                     buf.copy( d_ring_output, write_index );
                 } else {
                     printf("From (%d,%d): %d (average vote %f) - skip, max number of arcs reached (%d)\n", p->coord.x, p->coord.y, i, averageVote, d_ring_counter_max );

                        int*                         d_ring_counter,
                        int                          d_ring_counter_max,
                        cv::cuda::PtrStepSzInt2      d_ring_output,
                        size_t param_windowSizeOnInnerEllipticSegment,
                        float  param_averageVoteMin )
{
    Direction direction       = Left;
    Direction other_direction = Right;

    size_t    ct;
    float     angle_diff;

    __device__ RingBuffer( Direction dir, const size_t size ) {
        assert( size < EDGE_LINKING_MAX_RING_BUFFER_SIZE );
        direction   = dir;
        max_size    = size;
