private void bt_FilterMeasured(BatchFilter sender, Image input, Image output, Filter filter, SortedDictionary<string, object> configs, List<MetricResult> measures)
 {
     FilterMeasuredDelegate inv = new FilterMeasuredDelegate(bt_FilterMeasured_threadsafe_);
     this.Invoke(inv, sender, input, output, filter, configs, measures);
 }
 // MEASURED
 private void bt_FilterMeasured(BatchFilter sender, WeakImage input, WeakImage output, Filter filter, SortedDictionary<string, object> configs, List<MetricResult> measures, TimeSpan duration)
 {
     try
     {
         FilterMeasuredDelegate inv = new FilterMeasuredDelegate(bt_FilterMeasured_threadsafe_);
         this.Invoke(inv, sender, input, output, filter, configs, measures, duration);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.GetType().FullName, ex.Message);
     }
 }