public static CountLookupTableColorsResult CountLookupTableColors(
RasterColor[] lookupTable,
CountLookupTableColorsType type
)
+ (nullable LTCountLookupTableColorsResult*)countLookupTableColors:(nullable NSArray<LTRasterColor *> *)lookupTable
type:(LTCountLookupTableColorsType)type
error:(NSError **)error
public static CountLookupTableColorsResult countLookupTableColors(
RasterColor[] lookupTable,
CountLookupTableColorsType type
);
public:
static CountLookupTableColorsResult CountLookupTableColors(
array<RasterColor>^ lookupTable,
CountLookupTableColorsType type
)
def CountLookupTableColors(self,type):
lookupTable
8-bit lookup table array to be filled by this method.
type
Flag that indicates whether the LookupTable contains signed or unsigned data.
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.
Run the CountLookupTableColors method to get the number of entries and start index from the image.
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"));
}
CountLookupTableColorsExt Method
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document