public DicomWindowAttributes GetWindow(
int index
)
public DicomWindowAttributes getWindow(int index)
public:
DicomWindowAttributes^ GetWindow(
int index
)
index
The zero-based index of the window center, window width value, to retrieve. According to the DICOM standard, if multiple values are present for the window center and window width, both attributes shall have the same number of values and shall be considered as pairs.
The window-related attributes.
This method will retrieve the attributes that describe window center and window width. Window Center" (0028,1050) and "Window Width" (0028,1051) specify a linear conversion from stored pixel values (after any modality LUT or rescale slope and intercept specified in the IOD have been applied) to values to be displayed. Please see "VOI LUT Module Attributes" in the DICOM standard for more details.
This method will fail and throw a DicomExceptionCode.Parameter exception if the window count (number of values under the window center element) equals 0 or if index is greater or equal to the window count.
index is zero-based; if you pass 0 for example, this method will populate WindowCenter with the first value under the "Window Center" (0028,1050) element, WindowWidth with the first value under the "Window Width" (0028,1051) element, and Explanation with "Window Center and Width Explanation" (0028,1055) element if it exists.
using Leadtools;
using Leadtools.Dicom;
public void TestWCWW()
{
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())
{
//Load DICOM File
ds.Load(dicomFileName, DicomDataSetLoadFlags.None);
int bitsStored = 16;
bool add = false;//Add a new window or replace the existing one(s)
int windowIndex = 0;
DicomWindowAttributes windowAttributes = new DicomWindowAttributes();
if (ds.GetWindowCount(0) > 0)
{
DicomWindowAttributes attributes = ds.GetWindow(0);
if (attributes != null)
{
windowAttributes.WindowCenter = attributes.WindowCenter / 2;
windowAttributes.WindowWidth = attributes.WindowWidth / 2;
}
}
else
{
windowAttributes.WindowCenter = 1 << (bitsStored - 1);
windowAttributes.WindowWidth = 1 << bitsStored;
}
windowIndex = ds.GetWindowCount(0);
if (!add)
{
// Delete the existing window(s)
ds.DeleteWindow();
windowIndex = 0;
}
// Add the new window
ds.SetWindow(windowIndex, windowAttributes);
ds.Save(Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "WCWW.dcm"), DicomDataSetSaveFlags.None);
}
DicomEngine.Shutdown();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
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
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.