←Select platform

CountLookupTableColors Method

Summary

Gets the total number of entries between the start color and the end color, and the index of the last occurrence of the start color. The start and end colors are determined internally.

Syntax
C#
VB
Objective-C
C++
Java
Public Shared Function CountLookupTableColors( _ 
   ByVal lookupTable() As RasterColor, _ 
   ByVal type As CountLookupTableColorsType _ 
) As CountLookupTableColorsResult 
+ (nullable LTCountLookupTableColorsResult*)countLookupTableColors:(nullable NSArray<LTRasterColor *> *)lookupTable 
                                                              type:(LTCountLookupTableColorsType)type 
                                                             error:(NSError **)error 
public static CountLookupTableColorsResult countLookupTableColors( 
   RasterColor[] lookupTable,  
   CountLookupTableColorsType type 
)  

Parameters

lookupTable
8-bit lookup table array to be filled by this method.

type
Flag that indicates whether the LookupTable contains signed or unsigned data.

Remarks
  • Suppose you have a LookupTable with 4096 colors, the first 200 colors are black and the last 30 are white, the rest of the colors between black and white are gray. This is what the method will provide : NumberOfEntries (property of CountLookupTableColorsResult) : 3868. FirstIndex (property of CountLookupTableColorsResult) : 199.

  • In more detail this is: Total number of entries: 4096 (0 - 4095). First index of the end color: 4095 - 30 + 1 (+1 to add the first index of the end color to the range). Number of occurrences of the starting color: 200 (0 - 199). The last index of the start color: 199. Total number of entries: (4095 - 30 + 1) - 199 + 1.

  • This method supports 12 and 16-bit grayscale images. Support for 12 and 16-bit grayscale images is available only in the Document/Medical toolkits.

  • This method uses 8-bit lookup tables. See CountLookupTableColorsExt for a method that uses 16-bit lookup tables.

Example

Run the CountLookupTableColors method to get the number of entries and start index from the image.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
using LeadtoolsExamples.Common; 
 
public void CountLookupTableColorsExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "RGSRef.cmp")); 
 
   // Set the new lookup table 
   image.UseLookupTable = true; 
   image.SetLookupTable(new RasterColor[3]); 
 
   // Prepare the command 
   CountLookupTableColorsResult command = CoreUtilities.CountLookupTableColors(image.GetLookupTable(), CountLookupTableColorsType.Signed); 
   MessageBox.Show("First Index = " + command.FirstIndex + "\n" + 
      "Number Of Entries = " + command.NumberOfEntries); 
 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.Core 
 
Public Sub CountLookupTableColorsExample() 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
 
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "RGSRef.cmp")) 
 
   ' Set the new lookup table 
   leadImage.UseLookupTable = True 
   leadImage.SetLookupTable(New RasterColor(3) {}) 
 
   ' Prepare the command 
   Dim command As CountLookupTableColorsResult = CoreUtilities.CountLookupTableColors(leadImage.GetLookupTable, CountLookupTableColorsType.Signed) 
   MessageBox.Show("First Index = " + command.FirstIndex.ToString + Chr(13) + "Number Of Entries = " + command.NumberOfEntries.ToString) 
 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
c#[Silverlight C# Example] 
using Leadtools; 
using Leadtools.Examples; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
public void CountLookupTableColorsExample(RasterImage image) 
{ 
   // Prepare the command 
   CountLookupTableColorsResult command = CoreUtilities.CountLookupTableColors(image.GetLookupTable(), CountLookupTableColorsType.Signed); 
   Debug.WriteLine("First Index = " + command.FirstIndex + "\n" + 
      "Number Of Entries = " + command.NumberOfEntries); 
   image.Dispose(); 
} 
vb[Silverlight VB Example] 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.Core 
 
Public Sub CountLookupTableColorsExample(ByVal image As RasterImage) 
   ' Prepare the command 
   Dim command As CountLookupTableColorsResult = CoreUtilities.CountLookupTableColors(image.GetLookupTable(), CountLookupTableColorsType.Signed) 
   Debug.WriteLine("First Index = " & command.FirstIndex + Constants.vbLf & "Number Of Entries = " & command.NumberOfEntries) 
   image.Dispose() 
End Sub 

Requirements

Target Platforms

Help Version 20.0.2020.4.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ImageProcessing.Core Assembly