Gets the number of values under the window center element.
Syntax
Visual Basic (Usage) | Copy Code |
---|
Dim instance As DicomDataSet
Dim frameIndex As Integer
Dim value As Integer
value = instance.GetWindowCount(frameIndex)
|
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.
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 Basic | Copy Code |
---|
Public Sub TestWCWW()
Dim dicomFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "IMAGE3.dic"
DicomEngine.Startup()
Dim ds As DicomDataSet = New DicomDataSet()
Using (ds)
ds.Load(dicomFileName, DicomDataSetLoadFlags.None)
Dim bitsStored As Integer = 16
Dim add As Boolean = False
Dim windowIndex As Integer = 0
Dim windowAttributes As DicomWindowAttributes = New DicomWindowAttributes()
If ds.GetWindowCount(0) > 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.GetWindowCount(0)
If (Not add) Then
ds.DeleteWindow()
windowIndex = 0
End If
ds.SetWindow(windowIndex, windowAttributes)
ds.Save(LeadtoolsExamples.Common.ImagesPath.Path + "WCWW.dic", DicomDataSetSaveFlags.None)
End Using
DicomEngine.Shutdown()
End Sub |
C# | Copy Code |
---|
public void TestWCWW() { string dicomFileName = LeadtoolsExamples.Common.ImagesPath.Path + "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.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(LeadtoolsExamples.Common.ImagesPath.Path + "WCWW.dic", DicomDataSetSaveFlags.None); } DicomEngine.Shutdown(); } |
Remarks
Requirements
Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family
See Also