←Select platform

DeleteWindow(int,DicomSetImageFlags) Method

Summary
Deletes all the elements that describe "window center" and "window width".
Syntax
C#
C++/CLI
Java
public void DeleteWindow( 
   int frameIndex, 
   DicomSetImageFlags flags 
) 
public void deleteWindow(int frameIndex, int dicomSetImageFlags) 
public: 
void DeleteWindow(  
   int frameIndex, 
   DicomSetImageFlags flags 
)  

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.

flags
determines how the VOI LUT is deleted

Remarks

This method will delete the following elements:

Window Center (0028,1050)

Window Width (0028,1051)

Window Center and Width Explanation (0028,1055)

If the DICOM dataset has a Multi-frame Functional Groups module, the Window information will be found in the Frame VOI LUT Sequence. The Frame VOI LUT Sequencewill be under an item in either:

  • (5200,9229) Shared Functional Groups Sequence
  • (5200,9230) Per-frame Functional Groups Sequence

If the Frame VOI LUT Sequence is found under the Per-frame Functional Groups Sequence, parameter uFrameIndex must be set to the correct frame number so that the proper Frame VOI LUT Sequence is removed. If the Frame VOI LUT Sequence is found under the Shared Functional Groups Sequence, parameter uFrameIndex is ignored. However, the DicomSetImageFlags.MfgOverwriteShared flag must be included to remove the Frame VOI LUT Sequence. The specific elements deleted are shown below: (0028,9132) Frame VOI LUT Sequence Child Elements

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

Valid flags are DicomSetImageFlags.None and DicomSetImageFlags.MfgOverwriteShared. All other flags are ignored. 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:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

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

Leadtools.Dicom Assembly