This class is available in Medical toolkits only. Supported in Silverlight, Windows Phone 7
Visual Basic (Declaration) | |
---|---|
Public Class WindowLevelCommand Inherits Leadtools.ImageProcessing.RasterCommand Implements IRasterCommand |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As WindowLevelCommand |
C# | |
---|---|
public class WindowLevelCommand : Leadtools.ImageProcessing.RasterCommand, IRasterCommand |
C++/CLI | |
---|---|
public ref class WindowLevelCommand : public Leadtools.ImageProcessing.RasterCommand, IRasterCommand |
Run the Leadtools.ImageProcessing.Core.WindowLevelCommand on an image.
Visual Basic | Copy Code |
---|---|
Public Sub WindowLevelCommandExample() Dim codecs As New RasterCodecs() codecs.ThrowExceptionsOnInvalidImages = True Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg")) ' Prepare the command 'Change the image to 16-bit grayscale Dim graycommand As GrayscaleCommand = New GrayscaleCommand(16) Dim command As WindowLevelCommand = New WindowLevelCommand graycommand.Run(leadImage) Dim minValue As Integer = leadImage.MinValue Dim maxValue As Integer = leadImage.MaxValue Dim minBit As Integer = leadImage.LowBit Dim maxBit As Integer = leadImage.HighBit Dim Size As Integer = (1 << (maxBit - minBit + 1)) Dim LookupTable() As RasterColor ReDim LookupTable(Size - 1) ' fill the first half of the LookupTable with RED. Dim x As Integer For x = 0 To Size \ 2 - 1 LookupTable(x) = New RasterColor(255, 0, 0) Next ' fill the rest with gray values. For x = Size \ 2 To Size - 1 Dim y As Byte = Convert.ToByte((x - minValue) * 255 / (maxValue - minValue)) LookupTable(x) = New RasterColor(y, y, y) Next command.HighBit = maxBit command.LowBit = minBit command.LookupTable = LookupTable command.Order = RasterByteOrder.Bgr command.Run(leadImage) End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class |
C# | Copy Code |
---|---|
public void WindowLevelCommandExample() { // Load an image RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg")); // Prepare the command int x; byte y; int Size; RasterColor [] LookupTable; //Change the image to 16-bit grayscale GrayscaleCommand graycommand = new GrayscaleCommand(16); MinMaxBitsCommand MinMaxBits = new MinMaxBitsCommand(); MinMaxValuesCommand MinMaxValues = new MinMaxValuesCommand(); WindowLevelCommand command = new WindowLevelCommand(); graycommand.Run(image); MinMaxBits.Run(image); MinMaxValues.Run(image); Size = (1 <<(MinMaxBits.MaximumBit - MinMaxBits.MinimumBit + 1)); LookupTable = new Leadtools.RasterColor[Size]; // fill the first half of the LookupTable with RED. for(x = 0; x < Size / 2; x++) LookupTable[x] = new Leadtools.RasterColor(255, 0, 0); // fill the rest with gray values. for(x = Size / 2; x < Size; x++) { y = (byte)((x - MinMaxValues.MinimumValue) * 255 / (MinMaxValues.MaximumValue - MinMaxValues.MinimumValue)); LookupTable[x] = new Leadtools.RasterColor(y, y, y); } command.HighBit = MinMaxBits.MaximumBit; command.LowBit = MinMaxBits.MinimumBit; command.LookupTable = LookupTable; command.Order = Leadtools.RasterByteOrder.Bgr; command.Run(image); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; } |
SilverlightCSharp | Copy Code |
---|---|
public void WindowLevelCommandExample(RasterImage image, Stream outStream) { // Prepare the command int x; byte y; int Size; RasterColor[] LookupTable; //Change the image to 16-bit grayscale GrayscaleCommand graycommand = new GrayscaleCommand(16); MinMaxBitsCommand MinMaxBits = new MinMaxBitsCommand(); MinMaxValuesCommand MinMaxValues = new MinMaxValuesCommand(); WindowLevelCommand command = new WindowLevelCommand(); graycommand.Run(image); MinMaxBits.Run(image); MinMaxValues.Run(image); Size = (1 << (MinMaxBits.MaximumBit - MinMaxBits.MinimumBit + 1)); LookupTable = new Leadtools.RasterColor[Size]; // fill the first half of the LookupTable with RED. for (x = 0; x < Size / 2; x++) LookupTable[x] = new Leadtools.RasterColor(255, 0, 0); // fill the rest with gray values. for (x = Size / 2; x < Size; x++) { y = (byte)((x - MinMaxValues.MinimumValue) * 255 / (MinMaxValues.MaximumValue - MinMaxValues.MinimumValue)); LookupTable[x] = new Leadtools.RasterColor(y, y, y); } command.HighBit = MinMaxBits.MaximumBit; command.LowBit = MinMaxBits.MinimumBit; command.LookupTable = LookupTable; command.Order = Leadtools.RasterByteOrder.Bgr; command.Run(image); // Save result image RasterCodecs codecs = new RasterCodecs(); codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24); image.Dispose(); } |
SilverlightVB | Copy Code |
---|---|
Public Sub WindowLevelCommandExample(ByVal image As RasterImage, ByVal outStream As Stream) ' Prepare the command Dim x As Integer Dim y As Byte Dim Size As Integer Dim LookupTable As RasterColor() 'Change the image to 16-bit grayscale Dim graycommand As GrayscaleCommand = New GrayscaleCommand(16) Dim MinMaxBits As MinMaxBitsCommand = New MinMaxBitsCommand() Dim MinMaxValues As MinMaxValuesCommand = New MinMaxValuesCommand() Dim command As WindowLevelCommand = New WindowLevelCommand() graycommand.Run(image) MinMaxBits.Run(image) MinMaxValues.Run(image) Size = (1 << (MinMaxBits.MaximumBit - MinMaxBits.MinimumBit + 1)) LookupTable = New RasterColor(Size - 1) {} ' fill the first half of the LookupTable with RED. x = 0 Do While x < Size / 2 LookupTable(x) = New RasterColor(255, 0, 0) x += 1 Loop ' fill the rest with gray values. x = Size / 2 Do While x < Size y = CByte((x - MinMaxValues.MinimumValue) * 255 / (MinMaxValues.MaximumValue - MinMaxValues.MinimumValue)) LookupTable(x) = New RasterColor(y, y, y) x += 1 Loop command.HighBit = MinMaxBits.MaximumBit command.LowBit = MinMaxBits.MinimumBit command.LookupTable = LookupTable command.Order = RasterByteOrder.Bgr command.Run(image) ' Save result image Dim codecs As RasterCodecs = New RasterCodecs() codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24) image.Dispose() End Sub |
- This command supports 12 and 16-bit grayscale. Support for 12 and 16-bit grayscale images is available only in the Document/Medical toolkits.
- This command does not support 32-bit grayscale images.
- Leadtools.RasterByteOrder.Romm and Leadtools.RasterByteOrder.Gray are not supported by this command.
See WindowLevelExtCommand for a version of this class using 16-bit lookup tables.
For more information, refer to Introduction to Image Processing With LEADTOOLS.
For more information, refer to Grayscale Images.
System.Object
Leadtools.ImageProcessing.RasterCommand
Leadtools.ImageProcessing.Core.WindowLevelCommand
Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)
Reference
WindowLevelCommand MembersLeadtools.ImageProcessing.Core Namespace
Introduction to Image Processing With LEADTOOLS
Grayscale Images
WindowLevelCommand Class
Leadtools.RasterPalette.WindowLevelFillLookupTable(Leadtools.RasterColor[],Leadtools.RasterColor,Leadtools.RasterColor,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,Leadtools.RasterPaletteWindowLevelFlags)
ApplyVoiLookupTableCommand Class
Leadtools.ImageProcessing.Color.ChannelMixerCommand
Leadtools.ImageProcessing.Effects.DeinterlaceCommand
Leadtools.ImageProcessing.Color.DesaturateCommand
Leadtools.ImageProcessing.Effects.EdgeDetectStatisticalCommand
Leadtools.ImageProcessing.Color.LightControlCommand
Leadtools.ImageProcessing.Effects.SmoothEdgesCommand
Leadtools.ImageProcessing.Color.LocalHistogramEqualizeCommand
Leadtools.ImageProcessing.Color.AddWeightedCommand
Leadtools.ImageProcessing.Color.ColorMergeCommand
Leadtools.ImageProcessing.Color.ColorSeparateCommand
Leadtools.ImageProcessing.Color.MultiplyCommand
Leadtools.ImageProcessing.Color.AutoColorLevelCommand
Leadtools.ImageProcessing.Color.ColorLevelCommand
CorrelationCommand Class
Leadtools.ImageProcessing.Color.GrayScaleToDuotoneCommand
Leadtools.ImageProcessing.Color.GrayScaleToMultitoneCommand
Leadtools.ImageProcessing.Effects.RegionHolesRemovalCommand
Leadtools.ImageProcessing.Color.SelectiveColorCommand
Leadtools.ImageProcessing.Effects.SkeletonCommand
Leadtools.ImageProcessing.Color.ChangeHueSaturationIntensityCommand
Leadtools.ImageProcessing.Color.ColorReplaceCommand
Leadtools.ImageProcessing.Color.ColorThresholdCommand
Leadtools.ImageProcessing.Color.MathematicalFunctionCommand
Leadtools.ImageProcessing.Color.SegmentCommand
Leadtools.ImageProcessing.Color.AdaptiveContrastCommand
Leadtools.ImageProcessing.Color.ApplyMathematicalLogicCommand
Leadtools.ImageProcessing.Color.ColorIntensityBalanceCommand
ColorizeGrayCommand Class
Leadtools.ImageProcessing.Color.ContrastBrightnessIntensityCommand
DigitalSubtractCommand Class
Leadtools.ImageProcessing.Color.DynamicBinaryCommand
Leadtools.ImageProcessing.Effects.EdgeDetectEffectCommand
Leadtools.ImageProcessing.SpecialEffects.FunctionalLightCommand
MultiscaleEnhancementCommand Class
SelectDataCommand Class
ShiftDataCommand Class