←Select platform

SetWindow(int,DicomWindowAttributes) Method

Summary
Sets the attributes that describe the "Window Center" and "Window Width".
Syntax
C#
C++/CLI
Java
public void SetWindow( 
   int index, 
   DicomWindowAttributes attributes 
) 
public void setWindow(int index, DicomWindowAttributes attributes) 
public: 
void SetWindow(  
   int index, 
   DicomWindowAttributes^ attributes 
)  

Parameters

index
The zero-based index of the window center, window width value, to update. 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.

attributes
The window-related attributes to set.

Remarks

This method will set the attributes that describe window center and window width.

If "Window Center" (0028,1050) does not already exist in the Data Set, this method will insert it and set its value to WindowCenter.

If "Window Width" (0028,1051) does not already exist in the Data Set, this method will insert it and set its value to WindowWidth.

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
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.