private void contrastButtonClick(object sender, RoutedEventArgs e)
        {
            if (imageHandler != null)
            {
                // TODO Background worker
                new Thread(() =>
                {
                    int contrast          = 50;
                    ContrastFilter filter = new ContrastFilter(contrast);
                    imageHandler.ApplyFilter(image => filter.ApplyFilter(image));

                    Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.ApplicationIdle, new Action(() =>
                    {
                        filteredImage.Source = BitmapLoader.loadBitmap(imageHandler.getFiltered());
                    }));
                }).Start();
            }
        }
 private Bitmap RenderImage()
 {
     if (!contrastStretchCB.Checked)
     {
         ContrastFilter filter = new ContrastFilter(valueTrackBar.Value);
         return(filter.ApplyFilter(new List <Bitmap>()
         {
             originalBitmap
         }));
     }
     else
     {
         ContrastStretchFilter filter = new ContrastStretchFilter();
         return(filter.ApplyFilter(new List <Bitmap>()
         {
             originalBitmap
         }));
     }
 }