public enum CurveType | Value | Member | Description | 
|---|---|---|
| 0 | Linear | LUT is leaner | 
| 1 | Logarithmic | LUT is logarithmic. | 
| 2 | Exponential | LUT is exponential. | 
| 3 | Sigmoid | LUT is sigmoid. | 
This enumeration is used as the type for the WindowLevelEffect.CurveType property.
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.Windows.Controls;using Leadtools.Windows.Media;using Leadtools.Windows.Media.Effects;class WindowLevelEffectExampleWindow : Window{public WindowLevelEffectExampleWindow(){StackPanel sp = new StackPanel();Content = sp;RasterImageViewer theViewer = new RasterImageViewer();theViewer.HorizontalAlignment = HorizontalAlignment.Center;theViewer.VerticalAlignment = VerticalAlignment.Top;theViewer.ImageHorizontalAlignment = HorizontalAlignment.Left;theViewer.ImageVerticalAlignment = VerticalAlignment.Top;sp.Children.Add(theViewer);// Load an image into the viewerusing (RasterCodecs codecs = new RasterCodecs()){theViewer.Image = codecs.Load(System.IO.Path.Combine(LEAD_VARS.ImagesDir, "Image3.dcm"));}// Create the slidersTextBlock tb = new TextBlock();tb.HorizontalAlignment = HorizontalAlignment.Center;tb.Text = "Window Width:";sp.Children.Add(tb);Slider windowWidthSlider = new Slider();windowWidthSlider.Minimum = 0.0;windowWidthSlider.Maximum = Math.Pow(2, theViewer.Image.BitsPerPixel - 1);windowWidthSlider.Width = 400;windowWidthSlider.Orientation = Orientation.Horizontal;windowWidthSlider.IsSnapToTickEnabled = true;windowWidthSlider.TickPlacement = System.Windows.Controls.Primitives.TickPlacement.BottomRight;windowWidthSlider.TickFrequency = 0.1;windowWidthSlider.AutoToolTipPrecision = 2;windowWidthSlider.AutoToolTipPlacement = System.Windows.Controls.Primitives.AutoToolTipPlacement.BottomRight;sp.Children.Add(windowWidthSlider);tb = new TextBlock();tb.HorizontalAlignment = HorizontalAlignment.Center;tb.Text = "Window Center:";sp.Children.Add(tb);Slider windowCenterSlider = new Slider();windowCenterSlider.Minimum = 0.0;windowCenterSlider.Maximum = Math.Pow(2, theViewer.Image.BitsPerPixel - 1);windowCenterSlider.Width = 400;windowCenterSlider.Orientation = Orientation.Horizontal;windowCenterSlider.IsSnapToTickEnabled = true;windowCenterSlider.TickPlacement = System.Windows.Controls.Primitives.TickPlacement.BottomRight;windowCenterSlider.TickFrequency = 0.1;windowCenterSlider.AutoToolTipPrecision = 2;windowCenterSlider.AutoToolTipPlacement = System.Windows.Controls.Primitives.AutoToolTipPlacement.BottomRight;sp.Children.Add(windowCenterSlider);// Setup the effectWindowLevelEffect effect = new WindowLevelEffect();// Set the textureeffect.FillGrayTexture(theViewer.Image);effect.Start = Colors.Black;effect.End = Colors.White;effect.CurveType = CurveType.Linear;effect.Factor = 0.0;effect.WindowWidth = Math.Pow(2, theViewer.Image.MaxValue - theViewer.Image.MinValue);effect.WindowCenter = effect.WindowWidth / 2;theViewer.ImageEffect = effect;// Bind the propertiesBinding bind = new Binding();bind.Source = effect;bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;bind.Path = new PropertyPath("WindowWidth");windowWidthSlider.SetBinding(Slider.ValueProperty, bind);bind = new Binding();bind.Source = effect;bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;bind.Path = new PropertyPath("WindowCenter");windowCenterSlider.SetBinding(Slider.ValueProperty, bind);Title = "Using WindowLevelEffect";}}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}