public DicomModalityLutAttributes GetModalityLutAttributes()
public DicomModalityLutAttributes getModalityLutAttributes()
Modality LUT attributes.
If the method does not find any of the attributes of the "Modality LUT Module" it will set both IsModalityLutSequence and IsRescaleSlopeIntercept to false. In this case, the rest of the members of the DicomModalityLutAttributes class are undefined. If the method finds the "Rescale Intercept" (0028,1052) and "Rescale Slope" (0028,1053) elements, it will set IsRescaleSlopeIntercept to true and populate RescaleIntercept, RescaleSlope, and RescaleType with the values retrieved from the DICOM Data Set.
If the method finds "Modality LUT Sequence" (0028,3000), it will set IsModalityLutSequence to true and populate FirstStoredPixelValueMapped, NumberOfEntries, EntryBits, LutExplanation, and LutType with the values retrieved from the DICOM Data Set.
It is prohibited by the DICOM standard for both "Rescale Intercept" and "Modality LUT Sequence" to exist in the same DICOM Data Set. However, if this method encounters such a Data Set, it will ignore "Modality LUT Sequence" and assume that only "Rescale Intercept" exists.
This example will extract the modality LUT information from a DICOM dataset.
public void TestGetModalityLutAttributes()
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
using (DicomDataSet ds = new DicomDataSet())
//Load DICOM File
DicomModalityLutAttributes modalityLutAttributes = ds.GetModalityLutAttributes();
if (modalityLutAttributes != null && modalityLutAttributes.IsModalityLutSequence)
int ModalityLutData = ds.GetModalityLutData();
static class LEAD_VARS
public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";