←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#
Objective-C
C++/CLI
Java
Python
+ (nullable LTCountLookupTableColorsResult*)countLookupTableColors:(nullable NSArray<LTRasterColor *> *)lookupTable 
                                                              type:(LTCountLookupTableColorsType)type 
                                                             error:(NSError **)error 
public static CountLookupTableColorsResult countLookupTableColors( 
   RasterColor[] lookupTable, 
   CountLookupTableColorsType type 
); 
def CountLookupTableColors(self,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#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
 
 
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:\LEADTOOLS23\Resources\Images"; 
} 
 
import static org.junit.Assert.assertTrue; 
 
import java.io.File; 
import java.io.IOException; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.imageprocessing.core.*; 
 
 
public void countLookupTableColorsExample() { 
 
      final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
 
      // Load an image 
      RasterCodecs codecs = new RasterCodecs(); 
      codecs.setThrowExceptionsOnInvalidImages(true); 
      RasterImage image = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "DICOM\\image1.dcm")); 
 
      // Set the new lookup table 
      image.setUseLookupTable(true); 
      image.setLookupTable(new RasterColor[3]); 
 
      // Prepare the command 
      CountLookupTableColorsResult command = CoreUtilities.countLookupTableColors(image.getLookupTable(), 
                  CountLookupTableColorsType.UNSIGNED); 
      System.out.println("First Index = " + command.getFirstIndex() + "\n" + 
                  "Number Of Entries = " + command.getNumberOfEntries()); 
 
      codecs.save(image, combine(LEAD_VARS_IMAGES_DIR, "Result.jpg"), RasterImageFormat.DICOM_COLOR, 0); 
 
      assertTrue(new File(combine(LEAD_VARS_IMAGES_DIR, "Result.jpg")).exists()); 
      System.out.println("Image successfully saved to " + combine(LEAD_VARS_IMAGES_DIR, "Result.jpg")); 
 
} 
Requirements

Target Platforms

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

Leadtools.ImageProcessing.Core Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.