Leadtools.Dicom Requires Medical product license | Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.10.31
WindowCount Property
See Also  Example
Leadtools.Dicom Namespace > DicomDataSet Class : WindowCount Property




Gets the number of values under the window center element.

Syntax

Visual Basic (Declaration) 
Public ReadOnly Property WindowCount As Integer
Visual Basic (Usage)Copy Code
Dim instance As DicomDataSet
Dim value As Integer
 
value = instance.WindowCount
C# 
public int WindowCount {get;}
Managed Extensions for C++ 
public: __property int get_WindowCount();
C++/CLI 
public:
property int WindowCount {
   int get();
}

Return Value

The number of values under the window center element.

Example

This example will load a DICOM dataset, extract the window center and window width and then update their values.

Visual BasicCopy Code
Public Sub TestWCWW()
  Dim dicomFileName As String = "C:\Program Files\LEAD Technologies, Inc\LEADTOOLS 14.5\Images\IMAGE3.dic"
  'Make sure to initialize the DICOM engine, this needs to be done only once
  'In the whole application
  DicomEngine.Startup()

  Dim ds As DicomDataSet = New DicomDataSet()
    Using (ds)
       'Load DICOM File
       ds.Load(dicomFileName, DicomDataSetLoadFlags.None)

       Dim bitsStored As Integer = 16
       Dim add As Boolean = False 'Add a new window or replace the existing one(s)
       Dim windowIndex As Integer = 0
       Dim windowAttributes As DicomWindowAttributes = New DicomWindowAttributes()
       If ds.WindowCount > 0 Then
          Dim attributes As DicomWindowAttributes = ds.GetWindow(0)
          If Not attributes Is Nothing Then
             windowAttributes.WindowCenter = attributes.WindowCenter / 2
             windowAttributes.WindowWidth = attributes.WindowWidth / 2
          End If
       Else
          windowAttributes.WindowCenter = 1 << (bitsStored - 1)
          windowAttributes.WindowWidth = 1 << bitsStored
       End If
       windowIndex = ds.WindowCount
       If (Not add) Then
          ' Delete the existing window(s)
          ds.DeleteWindow()
          windowIndex = 0
       End If

       ' Add the new window
       ds.SetWindow(windowIndex, windowAttributes)
       ds.Save("C:\WCWW.dic", DicomDataSetSaveFlags.None)

    End Using

    DicomEngine.Shutdown()
 End Sub
C#Copy Code
public void TestWCWW() 

   string dicomFileName = @"C:\Program Files\LEAD Technologies, Inc\LEADTOOLS 14.5\Images\IMAGE3.dic"; 
   //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.WindowCount > 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.WindowCount; 
      if (!add) 
      { 
         // Delete the existing window(s)  
         ds.DeleteWindow(); 
         windowIndex = 0; 
      } 
 
      // Add the new window 
      ds.SetWindow(windowIndex, windowAttributes); 
      ds.Save(@"C:\WCWW.dic", DicomDataSetSaveFlags.None); 
 
   } 
   DicomEngine.Shutdown(); 
}

Remarks

This property gets the number of values under the Window Center (0028,1050) element; this should also equal the number of values under the Window Width (0028,1051) element.

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

Leadtools.Dicom requires a Medical toolkit license and unlock key. For more information, refer to: Raster Pro/Document/Medical Features