Click or drag to resize

ApplyLutCommand Class

Apply a Look-Up-Table to an image. A Look-Up-Table is an array of 256 byte values which are used to substitute for the image pixel data. This allows you to modify each pixel component value.
Inheritance Hierarchy

Namespace:  Atalasoft.Imaging.ImageProcessing.Channels
Assembly:  Atalasoft.dotImage (in Atalasoft.dotImage.dll) Version: 11.0.0.0.0.297 (.NET 4.5.2, x86)
Syntax
[SerializableAttribute]
public class ApplyLutCommand : ApplyLutCommandBase, 
	IThreadableCommand, ICloneable

The ApplyLutCommand type exposes the following members.

Constructors
  NameDescription
Public methodApplyLutCommand
Creates a new instance of ApplyLutCommand.
Public methodApplyLutCommand(Byte)
Creates a new instance of ApplyLutCommand specifying channel1.
Public methodApplyLutCommand(Int32)
Creates a new instance of ApplyLutCommand specifying channel1 for two byte per pixel images.
Public methodApplyLutCommand(Byte, Byte)
Creates a new instance of ApplyLutCommand specifying channel1 and channel2.
Protected methodApplyLutCommand(SerializationInfo, StreamingContext)
Creates a new instance of ApplyLutCommand from serialization information.
Public methodApplyLutCommand(Byte, Byte, Byte)
Creates a new instance of ApplyLutCommand specifying channel1, channel2 and channel3.
Public methodApplyLutCommand(Int32, Int32, Int32)
Creates a new instance of ApplyLutCommand specifying channel1, channel2 and channel3 for two byte per pixel images.
Public methodApplyLutCommand(Byte, Byte, Byte, Byte)
Creates a new instance of ApplyLutCommand specifying channel1, channel2, channel3, and channel4.
Public methodApplyLutCommand(Int32, Int32, Int32, Int32)
Creates a new instance of ApplyLutCommand specifying channel1, channel2, channel3, and channel4 for two byte per pixel images.
Top
Properties
  NameDescription
Public propertyApplyToAnyPixelFormat
Reports whether or not this command will be applied to any supplied PixelFormat image
(Inherited from ImageCommand.)
Public propertyAutoThread
If set to true the IThreadableCommand will automatically parallelize image processing.
Public propertyCanApplyToAnyPixelFormat
Returns true if the command can be applied to any PixelFormat.
(Inherited from ImageCommand.)
Public propertyInPlaceProcessing
Indicates whether or not the command will operate on the source image alone.
(Inherited from ApplyLutCommandBase.)
Public propertyProgress
Gets or sets the ProgressEventHandler delegate which can be used to view or cancel the progress of the current process.
(Inherited from ImageCommand.)
Public propertyRegionOfInterest

Gets or sets a RegionOfInterest which will only process the indicated region of the image.

(Inherited from ImageRegionCommand.)
Public propertySupportedPixelFormats
Returns an array of PixelFormats supported by this command.
(Inherited from ApplyLutCommandBase.)
Top
Methods
  NameDescription
Public methodAdjustBands

Sets the image area which will be processed and also defines the bands or chunks of the image of which each will be sent to a separate thread for processing.

Public methodApply
Apply the command to the given image.
(Inherited from ImageCommand.)
Public methodApplyToImage Obsolete.
Applies the command to the source AtalaImage.
(Inherited from ImageCommand.)
Public methodClone

Creates a new object that is a copy of the current instance.

Protected methodConstructChangedSourceImage
The method is called by the default implementation of Apply. It determines if it is necessary to create a copy of the source image in a different pixel format and if so, determines the best new pixel format and allocates that image.
(Inherited from ImageCommand.)
Protected methodConstructFinalImage
Called by the default implementation of Apply, ConstructFinalImage constructs the image that will be used as the destination image for the command.
(Inherited from ImageCommand.)
Protected methodConstructImageResults
Constructs the results object for this command.
(Inherited from ImageCommand.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Protected methodGetChangedPixelFormat
This method is called to change the pixel format of the source image.
(Inherited from ImageCommand.)
Public methodGetChannelLut
Returns the look-up-table for a single channel.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetObjectData

Populates a SerializationInfo with the data needed to serialize the target object.

(Overrides ApplyLutCommandBaseGetObjectData(SerializationInfo, StreamingContext).)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodImageCommandGetObjectData
Aggregates ImageCommand data into the supplied SerializationInfo object.
(Inherited from ImageCommand.)
Protected methodImplementMe
Future use.
(Overrides ApplyLutCommandBaseImplementMe.)
Protected methodInternalActualCommand
InternalActualCommand does the actual work of the image processing command.
Public methodIsPixelFormatSupported
Returns a value indicating if the specified pixel format is supported.
(Inherited from ImageCommand.)
Protected methodLLClearChannelLut
Low-level implementation to clear the channel lookup table.
(Inherited from ApplyLutCommandBase.)
Protected methodLLGetChannelLut
Returns the loop-up-table for a single channel.
(Inherited from ApplyLutCommandBase.)
Protected methodLLSetChannelLut(ChannelFlags, Byte)
Sets the loop-up-table for a single channel.
(Inherited from ApplyLutCommandBase.)
Protected methodLLSetChannelLut(ChannelFlags, Int32)
Low-level implementation of set channel look up table.
(Inherited from ApplyLutCommandBase.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodPerformActualCommand
PerformActualCommand does the actual work of the image processing command.
(Overrides ApplyLutCommandBasePerformActualCommand(AtalaImage, AtalaImage, Rectangle, ImageResults).)
Public methodPerformSectionCommand
Performs the command on a specified section of the image.
Protected methodSelectBestAlternatePixelFormat
Choose the best pixel format to use for this command when the supplied source image's pixel format is unacceptable.
(Inherited from ImageCommand.)
Protected methodSelectPreferredPixelFormat
Chooses a pixel format that is preferred for this command.
(Inherited from ImageCommand.)
Public methodSetChannelLut(ChannelFlags, Byte)
Sets a lookup table for a single channel.
Public methodSetChannelLut(ChannelFlags, Int32)
Sets a lookup table for a single channel.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Protected methodVerifyImage
Verify the integrity of an AtalaImage.
(Inherited from ImageCommand.)
Protected methodVerifyProperties
Verify the integrity of properties in the command before processing an image.
(Inherited from ApplyLutCommandBase.)
Top
Remarks
This command will not work on 1-bit or 4-bit images.
Examples
ApplyLut (C#)
// Load a 24-bit image.
AtalaImage image = new AtalaImage("in.jpg");

// Create a negative LUT.
byte[] lut = new byte[256];
for (int i = 0; i < 256; i++)
    lut[i] = (byte)(255 - i);

// Apply this LUT to the Blue and Red channels.
ApplyLutCommand cmd = new ApplyLutCommand(lut, null, lut);
ImageResults results = cmd.Apply(image);
results.Image.Save("out.jpg", new JpegEncoder(), null);
ApplyLutVB (Visual Basic)
' Load a 24-bit image.
Dim image As AtalaImage = New AtalaImage("in.jpg")

' Create a negative LUT.
Dim lut(255) As Byte
For i As Integer = 0 To 255
    lut(i) = 255 - i
Next

' Apply this LUT to the Blue and Red channels.
Dim cmd As ApplyLutCommand = New ApplyLutCommand(lut, Nothing, lut)
Dim results As ImageResults = cmd.Apply(image)
results.Image.Save("out.jpg", New Atalasoft.Imaging.Codec.JpegEncoder(), Nothing)
See Also