SetPresentationStateInformation Method (original) (raw)

Summary

Sets the attributes of the "Presentation State Module".

Syntax

Parameters

presentationStateInformation
"Presentation State Module" attributes

Example

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, "DICOM", "IMAGE3.dcm"), null, 0); // We can also add the presentation state using a stream using (FileStream stream = new FileStream(Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "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, "DICOM", "PresentationState.dcm"), DicomDataSetSaveFlags.None); } DicomEngine.Shutdown(); } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }