Gets the number of values under the window center element.
Supported in Silverlight, Windows Phone 7.
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.dcm"
'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.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
' Delete the existing window(s)
ds.DeleteWindow()
windowIndex = 0
End If
' Add the new window
ds.SetWindow(windowIndex, windowAttributes)
ds.Save(LeadtoolsExamples.Common.ImagesPath.Path + "WCWW.dcm", DicomDataSetSaveFlags.None)
End Using
DicomEngine.Shutdown()
End Sub |
C# | Copy Code |
---|
public void TestWCWW()
{
string dicomFileName = LeadtoolsExamples.Common.ImagesPath.Path + "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(LeadtoolsExamples.Common.ImagesPath.Path + "WCWW.dcm", DicomDataSetSaveFlags.None);
}
DicomEngine.Shutdown();
} |
SilverlightCSharp | Copy Code |
---|
public void TestWCWW(Stream dicomStream, Stream outputStream)
{
//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(dicomStream, 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(outputStream, DicomDataSetSaveFlags.None);
}
DicomEngine.Shutdown();
} |
SilverlightVB | Copy Code |
---|
Public Sub TestWCWW(ByVal dicomStream As Stream, ByVal outputStream As Stream)
'Make sure to initialize the DICOM engine, this needs to be done only once
'In the whole application
DicomEngine.Startup()
Using ds As DicomDataSet = New DicomDataSet()
'Load DICOM File
ds.Load(dicomStream, 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.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
' Delete the existing window(s)
ds.DeleteWindow()
windowIndex = 0
End If
' Add the new window
ds.SetWindow(windowIndex, windowAttributes)
ds.Save(outputStream, DicomDataSetSaveFlags.None)
End Using
DicomEngine.Shutdown()
End Sub |
Remarks
Requirements
Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)
See Also