static void FilterProgress(itkProcessObject sender, itkProgressEventArgs e)
 {
     if (e.Progress == 0F || e.Progress == 1F) return;
     if (lastprogress >= e.ProgressAsPercentage) return;
     if (e.ProgressAsPercentage % 10 == 0) Console.WriteLine();
     Console.Write(e.Progress.ToString("000% "));
     lastprogress = e.ProgressAsPercentage;
 }
 void FilterProgress(itkProcessObject sender, itkProgressEventArgs e)
 {
     // Make thread safe
     if (this.InvokeRequired)
     {
         this.Invoke(new itkProgressHandler(this.FilterProgress), 
                     sender, e);
         return;
     }
     
     // Update progress bar
     this.stripProgressBar.Value = e.ProgressAsPercentage;
 }
 static void filter_Progress(itkProcessObject sender, itkProgressEventArgs e)
 {
     if (e.ProgressAsPercentage % 10 == 0) Console.WriteLine();
     Console.Write(e.Progress.ToString("000% "));
 }
 static void filter_Started(itkObject sender, itkEventArgs e)
 {
     string message = "{0}: Started at {1}";
     itkProcessObject process = sender as itkProcessObject;
     Console.Write(String.Format(message, process.Name, DateTime.Now));
 }