←Select platform

SetPresentationStateInformation Method

Summary

Sets the attributes of the "Presentation State Module".

Syntax
C#
VB
Java
C++
public void SetPresentationStateInformation( 
   DicomPresentationStateInformation presentationStateInformation 
) 
Public Sub SetPresentationStateInformation( _ 
   ByVal presentationStateInformation As DicomPresentationStateInformation _ 
)  
public void setPresentationStateInformation(DicomPresentationStateInformation presentationStateInformation) 
public: 
void SetPresentationStateInformation(  
   DicomPresentationStateInformation^ presentationStateInformation 
)  

Parameters

presentationStateInformation
"Presentation State Module" attributes

Remarks

This method will set the attributes of the "Presentation State Module".

Example

This example will initialize a new DICOM dataset and update its presentation state information.

C#
VB
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 

Requirements

Target Platforms

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

Leadtools.Dicom Assembly