←Select platform

GetVoiLut Method

Summary
Retrieves the attributes that describe the VOI LUT.
Syntax
C#
C++/CLI
Java
public DicomVoiLutAttributes GetVoiLut( 
   int index 
) 
public DicomVoiLutAttributes getVoiLut(int index) 
public: 
DicomVoiLutAttributes^ GetVoiLut(  
   int index 
)  

Parameters

index
The zero-based index of the VOI LUT to retrieve. According to the DICOM standard, one or more items could exist under one VOI LUT Sequence (0028,3010); use this index to specify the item from which to retrieve the attributes.

Return Value

The VOI LUT attributes.

Remarks

Before calling this method, access VoiLutCount to see if a VOI LUT Sequence (0028,3010) exists in the DICOM Data Set and to obtain the number of items under that sequence. index is zero-based. If you pass 0, this method will populate DicomVoiLutAttributes with the values of the "LUT Descriptor"(0028,3002) under the first item in the "VOI LUT Sequence" and LutExplanation with the value of the "LUT Explanation" (0028,3003) element, if it exists.

Example
C#
using Leadtools; 
using Leadtools.Dicom; 
 
 
public void TestVoiLut() 
{ 
   string dicomFileName = Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "IMAGE3.dcm"); 
   //Make sure to initialize the DICOM engine, this needs to be done only once  
   //In the whole application 
   DicomEngine.Startup(); 
   using (DicomDataSet ds = new DicomDataSet()) 
   { 
      int VoiLutSize = 65536; 
 
      //Load DICOM File 
      ds.Load(dicomFileName, DicomDataSetLoadFlags.None); 
      ds.DeleteVoiLut(); 
 
      DicomVoiLutAttributes VoiLutAttributes = new DicomVoiLutAttributes(); 
      VoiLutAttributes.FirstStoredPixelValueMapped = 0; 
      VoiLutAttributes.EntryBits = 16; 
      VoiLutAttributes.NumberOfEntries = VoiLutSize; 
 
      int[] LutData = new int[VoiLutSize]; 
      for (int i = 0; i < VoiLutSize; i++) 
      { 
         LutData[i] = i; 
      } 
      ds.SetVoiLut(0, VoiLutAttributes, LutData); 
 
      Debug.Assert(ds.VoiLutCount == 1); 
 
      DicomVoiLutAttributes attributes = ds.GetVoiLut(0); 
      if (attributes != null) 
      { 
         Debug.Assert(attributes.FirstStoredPixelValueMapped == 0); 
         Debug.Assert(attributes.EntryBits == 16); 
         Debug.Assert(attributes.NumberOfEntries == VoiLutSize); 
 
         int[] data = ds.GetVoiLutData(0); 
         // Do something with the data 
      } 
      ds.Save(Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "VOILut.dcm"), DicomDataSetSaveFlags.None); 
 
   } 
   DicomEngine.Shutdown(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
Requirements

Target Platforms

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

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