 
     for( int i=0; i<num_layers; i++ ) {
         bool success;
+        #ifndef NDEBUG
         time_gauss[i]->start();
+        #endif // not NDEBUG
         _frame[i]->applyGauss( params ); // async
+        #ifndef NDEBUG
         time_gauss[i]->stop();
-        POP_CHK_CALL_IFSYNC;
-
+        #endif // not NDEBUG
+        POP_CHK_CALL_IFSYNC;
+
+        #ifndef NDEBUG
         time_mag[i]->start();
+        #endif // not NDEBUG
         _frame[i]->applyMag(   params );  // async
+        #ifndef NDEBUG
         time_mag[i]->stop();
-        POP_CHK_CALL_IFSYNC;
-
+        #endif // not NDEBUG
+        POP_CHK_CALL_IFSYNC;
+
+        #ifndef NDEBUG
         time_hyst[i]->start();
+        #endif // not NDEBUG
         _frame[i]->applyHyst(  params );  // async
+        #ifndef NDEBUG
         time_hyst[i]->stop();
-        POP_CHK_CALL_IFSYNC;
-
+        #endif // not NDEBUG
+        POP_CHK_CALL_IFSYNC;
+
+        #ifndef NDEBUG
         time_thin[i]->start();
+        #endif // not NDEBUG
         _frame[i]->applyThinning(  params );  // async
+        #ifndef NDEBUG
         time_thin[i]->stop();
-        POP_CHK_CALL_IFSYNC;
-
+        #endif // not NDEBUG
+        POP_CHK_CALL_IFSYNC;
+
+        #ifndef NDEBUG
         time_desc[i]->start();
+        #endif // not NDEBUG
         success = _frame[i]->applyDesc(  params );  // async
+        #ifndef NDEBUG
         time_desc[i]->stop();
+        #endif // not NDEBUG
         POP_CHK_CALL_IFSYNC;
 
         if( not success ) continue;
 
+        #ifndef NDEBUG
         time_vote[i]->start();
+        #endif // not NDEBUG
         _frame[i]->applyVote(  params );  // async
+        #ifndef NDEBUG
         time_vote[i]->stop();
+        #endif // not NDEBUG
         POP_CHK_CALL_IFSYNC;
         // _frame[i]->applyLink(  params );  // async
     }

    t.stop();
    t.report( "Time for all frames " );

    for( int i=0; i<num_layers; i++ ) {
        time_gauss[i]->report( "time for Gauss " );
        time_mag  [i]->report( "time for Mag   " );

        time_thin [i]->report( "time for Thin  " );
        time_desc [i]->report( "time for Desc  " );
        time_vote [i]->report( "time for Vote  " );
        delete time_gauss[i];
        delete time_mag  [i];
        delete time_hyst [i];
        delete time_thin [i];
        delete time_desc [i];
        delete time_vote [i];
    }
#endif // not NDEBUG

    // cerr << "Leave " << __FUNCTION__ << endl;
}
