Sets the attributes of the "Presentation State Module".
public void SetPresentationStateInformation(
DicomPresentationStateInformation presentationStateInformation
)
Public Sub SetPresentationStateInformation( _
ByVal presentationStateInformation As DicomPresentationStateInformation _
)
public void setPresentationStateInformation(DicomPresentationStateInformation presentationStateInformation)
public:
void SetPresentationStateInformation(
DicomPresentationStateInformation^ presentationStateInformation
)
presentationStateInformation
"Presentation State Module" attributes
This method will set the attributes of the "Presentation State Module".
This example will initialize a new DICOM dataset and update its presentation state information.
using Leadtools;
using Leadtools.Dicom;
public void DicomPresStateSample()
{
//Make sure to initialize the DICOM engine, this needs to be done only once
//In the whole application
DicomEngine.Startup();
using (DicomDataSet dicomDataset = new DicomDataSet())
{
dicomDataset.Initialize(DicomClassType.GrayscaleSoftcopyPresentationState, DicomDataSetInitializeType.ExplicitVRLittleEndian);
DicomPresentationStateInformation presentationStateInfo = new DicomPresentationStateInformation();
presentationStateInfo.InstanceNumber = 1;
presentationStateInfo.PresentationLabel = "LABEL";
presentationStateInfo.PresentationDescription = "Description";
presentationStateInfo.PresentationCreator = "Creator";
DicomDateValue presentationCreationDate = new DicomDateValue();
presentationCreationDate.Year = 2004;
presentationCreationDate.Month = 1;
presentationCreationDate.Day = 8;
DicomTimeValue presentationCreationTime = new DicomTimeValue();
presentationCreationTime.Hours = 2;
presentationCreationTime.Minutes = 3;
presentationCreationTime.Seconds = 5;
presentationStateInfo.PresentationCreationDate = presentationCreationDate;
presentationStateInfo.PresentationCreationTime = presentationCreationTime;
dicomDataset.SetPresentationStateInformation(presentationStateInfo);
DicomPresentationStateInformation presentationStateInfo1 = dicomDataset.GetPresentationStateInformation();
Debug.Assert(presentationStateInfo1 != null);
Debug.Assert(presentationStateInfo1.InstanceNumber == 1);
//RemovePresStateImageRefBySOPInstance can be used to remove indivual referened images
dicomDataset.RemoveAllPresentationStateImageReferences();
Debug.Assert(dicomDataset.GetPresentationStateImageReferenceCount(null) == 0);
// We can also load the dataset first and then call AddPresStateImageRefByDS
dicomDataset.AddPresentationStateImageReference(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm"), null, 0);
// We can also add the presentation state using a stream
using (FileStream stream = new FileStream(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm"), FileMode.Open))
{
dicomDataset.AddPresentationStateImageReference(stream, null, 0);
}
//We can also use FindNextPresStateRefSeriesItem to iterate through all items
DicomElement item = dicomDataset.FindFirstPresentationStateReferencedSeriesItem();
string imageRefSOPInstanceUID = dicomDataset.GetPresentationStateImageReferenceSOPInstance(item, 0);
Debug.Assert(imageRefSOPInstanceUID != null);
DicomElement item1 = dicomDataset.GetPresentationStateImageReference(imageRefSOPInstanceUID);
Debug.Assert(item1 != null);
dicomDataset.Save(Path.Combine(LEAD_VARS.ImagesDir, "PresentationState.dcm"), DicomDataSetSaveFlags.None);
}
DicomEngine.Shutdown();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools
Imports Leadtools.Dicom
Public Sub DicomPresStateSample()
'Make sure to initialize the DICOM engine, this needs to be done only once
'In the whole application
DicomEngine.Startup()
Using dicomDataset As New DicomDataSet()
dicomDataset.Initialize(DicomClassType.GrayscaleSoftcopyPresentationState, DicomDataSetInitializeType.ExplicitVRLittleEndian)
Dim presentationStateInfo As New DicomPresentationStateInformation()
presentationStateInfo.InstanceNumber = 1
presentationStateInfo.PresentationLabel = "LABEL"
presentationStateInfo.PresentationDescription = "Description"
presentationStateInfo.PresentationCreator = "Creator"
Dim presentationCreationDate As New DicomDateValue()
presentationCreationDate.Year = 2004
presentationCreationDate.Month = 1
presentationCreationDate.Day = 8
Dim presentationCreationTime As New DicomTimeValue()
presentationCreationTime.Hours = 2
presentationCreationTime.Minutes = 3
presentationCreationTime.Seconds = 5
presentationStateInfo.PresentationCreationDate = presentationCreationDate
presentationStateInfo.PresentationCreationTime = presentationCreationTime
dicomDataset.SetPresentationStateInformation(presentationStateInfo)
Dim presentationStateInfo1 As DicomPresentationStateInformation = dicomDataset.GetPresentationStateInformation()
Debug.Assert(presentationStateInfo1 IsNot Nothing)
Debug.Assert(presentationStateInfo1.InstanceNumber = 1)
'RemovePresStateImageRefBySOPInstance can be used to remove indivual referened images
dicomDataset.RemoveAllPresentationStateImageReferences()
Debug.Assert(dicomDataset.GetPresentationStateImageReferenceCount(Nothing) = 0)
' We can also load the dataset first and then call AddPresStateImageRefByDS
dicomDataset.AddPresentationStateImageReference(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm"), Nothing, 0)
' We can also add the presentation state using a stream
Using stream As New FileStream(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm"), FileMode.Open)
dicomDataset.AddPresentationStateImageReference(stream, Nothing, 0)
End Using
'We can also use FindNextPresStateRefSeriesItem to iterate through all items
Dim item As DicomElement = dicomDataset.FindFirstPresentationStateReferencedSeriesItem()
Dim imageRefSOPInstanceUID As String = dicomDataset.GetPresentationStateImageReferenceSOPInstance(item, 0)
Debug.Assert(imageRefSOPInstanceUID IsNot Nothing)
Dim item1 As DicomElement = dicomDataset.GetPresentationStateImageReference(imageRefSOPInstanceUID)
Debug.Assert(item1 IsNot Nothing)
dicomDataset.Save(Path.Combine(LEAD_VARS.ImagesDir, "PresentationState.dcm"), DicomDataSetSaveFlags.None)
End Using
DicomEngine.Shutdown()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
c#[Silverlight C# Example]
using Leadtools;
using Leadtools.Dicom;
using Leadtools.Examples;
public void DicomPresStateSample(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 dicomDataset = new DicomDataSet())
{
dicomDataset.Initialize(DicomClassType.GrayscaleSoftcopyPresentationState, DicomDataSetInitializeType.ExplicitVRLittleEndian);
DicomPresentationStateInformation presentationStateInfo = new DicomPresentationStateInformation();
presentationStateInfo.InstanceNumber = 1;
presentationStateInfo.PresentationLabel = "Label";
presentationStateInfo.PresentationDescription = "Description";
presentationStateInfo.PresentationCreator = "Creator";
DicomDateValue presentationCreationDate = new DicomDateValue();
presentationCreationDate.Year = 2004;
presentationCreationDate.Month = 1;
presentationCreationDate.Day = 8;
DicomTimeValue presentationCreationTime = new DicomTimeValue();
presentationCreationTime.Hours = 2;
presentationCreationTime.Minutes = 3;
presentationCreationTime.Seconds = 5;
presentationStateInfo.PresentationCreationDate = presentationCreationDate;
presentationStateInfo.PresentationCreationTime = presentationCreationTime;
dicomDataset.SetPresentationStateInformation(presentationStateInfo);
DicomPresentationStateInformation presentationStateInfo1 = dicomDataset.GetPresentationStateInformation();
Debug.Assert(presentationStateInfo1 != null);
Debug.Assert(presentationStateInfo1.InstanceNumber == 1);
//RemovePresStateImageRefBySOPInstance can be used to remove indivual referened images
dicomDataset.RemoveAllPresentationStateImageReferences();
Debug.Assert(dicomDataset.GetPresentationStateImageReferenceCount(null) == 0);
// We can also load the dataset first and then call AddPresStateImageRefByDS
dicomDataset.AddPresentationStateImageReference(dicomStream, null, 0);
//We can also use FindNextPresStateRefSeriesItem to itertate throgh all items
DicomElement item = dicomDataset.FindFirstPresentationStateReferencedSeriesItem();
string imageRefSOPInstanceUID = dicomDataset.GetPresentationStateImageReferenceSOPInstance(item, 0);
Debug.Assert(imageRefSOPInstanceUID != null);
DicomElement item1 = dicomDataset.GetPresentationStateImageReference(imageRefSOPInstanceUID);
Debug.Assert(item1 != null);
dicomDataset.Save(outputStream, DicomDataSetSaveFlags.None);
}
DicomEngine.Shutdown();
}
vb[Silverlight VB Example]
Imports Leadtools
Imports Leadtools.Dicom
Public Sub DicomPresStateSample(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 dicomDataset As DicomDataSet = New DicomDataSet()
dicomDataset.Initialize(DicomClassType.GrayscaleSoftcopyPresentationState, DicomDataSetInitializeType.ExplicitVRLittleEndian)
Dim presentationStateInfo As DicomPresentationStateInformation = New DicomPresentationStateInformation()
presentationStateInfo.InstanceNumber = 1
presentationStateInfo.PresentationLabel = "Label"
presentationStateInfo.PresentationDescription = "Description"
presentationStateInfo.PresentationCreator = "Creator"
Dim presentationCreationDate As DicomDateValue = New DicomDateValue()
presentationCreationDate.Year = 2004
presentationCreationDate.Month = 1
presentationCreationDate.Day = 8
Dim presentationCreationTime As DicomTimeValue = New DicomTimeValue()
presentationCreationTime.Hours = 2
presentationCreationTime.Minutes = 3
presentationCreationTime.Seconds = 5
presentationStateInfo.PresentationCreationDate = presentationCreationDate
presentationStateInfo.PresentationCreationTime = presentationCreationTime
dicomDataset.SetPresentationStateInformation(presentationStateInfo)
Dim presentationStateInfo1 As DicomPresentationStateInformation = dicomDataset.GetPresentationStateInformation()
Debug.Assert(Not presentationStateInfo1 Is Nothing)
Debug.Assert(presentationStateInfo1.InstanceNumber = 1)
'RemovePresStateImageRefBySOPInstance can be used to remove indivual referened images
dicomDataset.RemoveAllPresentationStateImageReferences()
Debug.Assert(dicomDataset.GetPresentationStateImageReferenceCount(Nothing) = 0)
' We can also load the dataset first and then call AddPresStateImageRefByDS
dicomDataset.AddPresentationStateImageReference(dicomStream, Nothing, 0)
'We can also use FindNextPresStateRefSeriesItem to itertate throgh all items
Dim item As DicomElement = dicomDataset.FindFirstPresentationStateReferencedSeriesItem()
Dim imageRefSOPInstanceUID As String = dicomDataset.GetPresentationStateImageReferenceSOPInstance(item, 0)
Debug.Assert(Not imageRefSOPInstanceUID Is Nothing)
Dim item1 As DicomElement = dicomDataset.GetPresentationStateImageReference(imageRefSOPInstanceUID)
Debug.Assert(Not item1 Is Nothing)
dicomDataset.Save(outputStream, DicomDataSetSaveFlags.None)
End Using
DicomEngine.Shutdown()
End Sub
GetPresentationStateInformation Method
AddPresentationStateImageReference(String,Int32[],Int32) Method
AddPresentationStateImageReference(DicomDataSet,Int32[],Int32) Method
RemovePresentationStateImageReference Method
RemoveAllPresentationStateImageReferences Method
GetPresentationStateImageReferenceSOPInstance Method
GetPresentationStateImageReferenceCount Method
FindFirstPresentationStateReferencedSeriesItem Method
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document