Leadtools.ImageProcessing.Core Namespace : WindowLevelExtCommand Class |
public class WindowLevelExtCommand : Leadtools.ImageProcessing.RasterCommand, Leadtools.ImageProcessing.IRasterCommand
'Declaration Public Class WindowLevelExtCommand Inherits Leadtools.ImageProcessing.RasterCommand Implements Leadtools.ImageProcessing.IRasterCommand
'Usage Dim instance As WindowLevelExtCommand
public sealed class WindowLevelExtCommand : Leadtools.ImageProcessing.IRasterCommand
@interface LTWindowLevelExtCommand : LTRasterCommand
public class WindowLevelExtCommand extends RasterCommand
function Leadtools.ImageProcessing.Core.WindowLevelExtCommand()
public ref class WindowLevelExtCommand : public Leadtools.ImageProcessing.RasterCommand, Leadtools.ImageProcessing.IRasterCommand
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing Imports Leadtools.ImageProcessing.Core Public Sub WindowLevelExtCommandExample() 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 WindowLevelExtCommand = New WindowLevelExtCommand 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 RasterColor16 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 RasterColor16(RasterColor16.MaximumComponent, 0, 0) Next ' fill the rest with gray values. For x = Size \ 2 To Size - 1 Dim y As Integer = Convert.ToInt32((x - minValue) * RasterColor16.MaximumComponent / (maxValue - minValue)) LookupTable(x) = New RasterColor16(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
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Core; public void WindowLevelExtCommandExample() { // Load an image RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image2.dcm")); // Prepare the command int x; int y; int Size; RasterColor16 [] LookupTable; MinMaxBitsCommand MinMaxBits = new MinMaxBitsCommand(); MinMaxValuesCommand MinMaxValues = new MinMaxValuesCommand(); WindowLevelExtCommand command = new WindowLevelExtCommand(); MinMaxBits.Run(image); MinMaxValues.Run(image); Size = (1 <<(MinMaxBits.MaximumBit - MinMaxBits.MinimumBit + 1)); LookupTable = new Leadtools.RasterColor16[Size]; // fill the first half of the LookupTable with RED. for(x = 0; x < Size / 2; x++) LookupTable[x] = new Leadtools.RasterColor16(Leadtools.RasterColor16.MaximumComponent, 0, 0); // fill the rest with gray values. for(x = Size / 2; x < Size; x++) { y = (int)((x - MinMaxValues.MinimumValue) * Leadtools.RasterColor16.MaximumComponent / (MinMaxValues.MaximumValue - MinMaxValues.MinimumValue)); LookupTable[x] = new Leadtools.RasterColor16(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"; }
function WindowLevelExtCommandExample() { var codecs = new Leadtools.Codecs.RasterCodecs(); codecs.throwExceptionsOnInvalidImages = true; // Load the image var srcFileName = "Assets\\Image2.dcm"; var processedImage; return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) { return codecs.loadAsync(Leadtools.LeadStreamFactory.create(loadFile)); }).then(function (image) { // Prepare the command with (Leadtools.ImageProcessing.Core) { var x; var y; var Size; var LookupTable = new Array(); var MinMaxBits = new MinMaxBitsCommand(); var MinMaxValues = new MinMaxValuesCommand(); var command = new WindowLevelExtCommand(); MinMaxBits.run(image); MinMaxValues.run(image); Size = (1 << (MinMaxBits.maximumBit - MinMaxBits.minimumBit + 1)); // fill the first half of the LookupTable with RED. for (x = 0; x < Size / 2; x++) LookupTable[x] = Leadtools.RasterColor16Helper.create(Leadtools.RasterColor16Helper.maximumComponent, 0, 0); // fill the rest with gray values. for (x = Size / 2; x < Size; x++) { y = (x - MinMaxValues.minimumValue) * Leadtools.RasterColor16Helper.maximumComponent / (MinMaxValues.maximumValue - MinMaxValues.minimumValue); LookupTable[x] = Leadtools.RasterColor16Helper.create(y, y, y); } command.highBit = MinMaxBits.maximumBit; command.lowBit = MinMaxBits.minimumBit; command.lookupTable = LookupTable; command.order = Leadtools.RasterByteOrder.bgr; command.run(image); } }); }
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing.Core; public async Task WindowLevelExtCommandExample() { // Load an image RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; // Load the image string srcFileName = @"Assets\Image2.dcm"; StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); // Prepare the command int x; int y; int Size; RasterColor16 [] LookupTable; MinMaxBitsCommand MinMaxBits = new MinMaxBitsCommand(); MinMaxValuesCommand MinMaxValues = new MinMaxValuesCommand(); WindowLevelExtCommand command = new WindowLevelExtCommand(); MinMaxBits.Run(image); MinMaxValues.Run(image); Size = (1 <<(MinMaxBits.MaximumBit - MinMaxBits.MinimumBit + 1)); LookupTable = new Leadtools.RasterColor16[Size]; // fill the first half of the LookupTable with RED. for(x = 0; x < Size / 2; x++) LookupTable[x] = Leadtools.RasterColor16Helper.Create(Leadtools.RasterColor16Helper.MaximumComponent, 0, 0); // fill the rest with gray values. for(x = Size / 2; x < Size; x++) { y = (int)((x - MinMaxValues.MinimumValue) * Leadtools.RasterColor16Helper.MaximumComponent / (MinMaxValues.MaximumValue - MinMaxValues.MinimumValue)); LookupTable[x] = Leadtools.RasterColor16Helper.Create(y, y, y); } command.HighBit = MinMaxBits.MaximumBit; command.LowBit = MinMaxBits.MinimumBit; command.LookupTable = LookupTable; command.Order = Leadtools.RasterByteOrder.Bgr; command.Run(image); }
using Leadtools; using Leadtools.Examples; using Leadtools.Codecs; using Leadtools.ImageProcessing.Core; public void WindowLevelExtCommandExample(RasterImage image, Stream outStream) { // Prepare the command int x; int y; int Size; RasterColor16[] LookupTable; MinMaxBitsCommand MinMaxBits = new MinMaxBitsCommand(); MinMaxValuesCommand MinMaxValues = new MinMaxValuesCommand(); WindowLevelExtCommand command = new WindowLevelExtCommand(); MinMaxBits.Run(image); MinMaxValues.Run(image); Size = (1 << (MinMaxBits.MaximumBit - MinMaxBits.MinimumBit + 1)); LookupTable = new Leadtools.RasterColor16[Size]; // fill the first half of the LookupTable with RED. for (x = 0; x < Size / 2; x++) LookupTable[x] = new Leadtools.RasterColor16(Leadtools.RasterColor16.MaximumComponent, 0, 0); // fill the rest with gray values. for (x = Size / 2; x < Size; x++) { y = (int)((x - MinMaxValues.MinimumValue) * Leadtools.RasterColor16.MaximumComponent / (MinMaxValues.MaximumValue - MinMaxValues.MinimumValue)); LookupTable[x] = new Leadtools.RasterColor16(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(); }
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing.Core Public Sub WindowLevelExtCommandExample(ByVal image As RasterImage, ByVal outStream As Stream) ' Prepare the command Dim x As Integer Dim y As Integer Dim Size As Integer Dim LookupTable As RasterColor16() Dim MinMaxBits As MinMaxBitsCommand = New MinMaxBitsCommand() Dim MinMaxValues As MinMaxValuesCommand = New MinMaxValuesCommand() Dim command As WindowLevelExtCommand = New WindowLevelExtCommand() MinMaxBits.Run(image) MinMaxValues.Run(image) Size = (1 << (MinMaxBits.MaximumBit - MinMaxBits.MinimumBit + 1)) LookupTable = New RasterColor16(Size - 1) {} ' fill the first half of the LookupTable with RED. x = 0 Do While x < Size / 2 LookupTable(x) = New RasterColor16(RasterColor16.MaximumComponent, 0, 0) x += 1 Loop ' fill the rest with gray values. x = Size / 2 Do While x < Size y = CInt((x - MinMaxValues.MinimumValue) * RasterColor16.MaximumComponent / (MinMaxValues.MaximumValue - MinMaxValues.MinimumValue)) LookupTable(x) = New RasterColor16(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
WindowLevelExtCommand Members
Leadtools.ImageProcessing.Core Namespace
Introduction to Image Processing With LEADTOOLS
Grayscale Images
WindowLevelCommand Class
ApplyVoiLookupTableCommand 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)
Leadtools.ImageProcessing.Color.GrayScaleToDuotoneCommand
Leadtools.ImageProcessing.Color.GrayScaleToMultitoneCommand
SelectDataCommand Class
ShiftDataCommand Class