←Select platform

GetWindow(int,int) Method

Summary
Retrieves the attributes that describe the "Window Center" and "Window Width".
Syntax
C#
C++/CLI
Java
public DicomWindowAttributes GetWindow( 
   int frameIndex, 
   int index 
) 
public DicomWindowAttributes getWindow(int frameIndex, int index) 
public: 
DicomWindowAttributes^ GetWindow(  
   int frameIndex, 
   int index 
)  

Parameters

frameIndex
A zero-based index that identifies the frame number in the dataset. If the dataset does not support Multi-frames, this parameter is ignored.

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.

Return Value

The window-related attributes.

Remarks

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.

The Multi-frame Functional Groups module may have a Shared Functional Groups Sequence item, and/or a Per-frame Functional Groups Sequence item. Either of these items may have a Frame VOI LUT Sequence (0028,9132) item. If the following elements are not found at the top level in the dataset, this method looks in the Shared Functional Groups Sequence item and the Per-frame Functional Groups Sequence items.

Tag Name
(0028,1050) Window Center
(0028,1051) Window Width
(0028,1055) Window Center & Width Explanation

For a detailed discussion on Multi-frame Functional Groups see the topic Multi-frame Functional Groups.

Example
C#
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"; 
} 
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