Visual Basic (Declaration) | |
---|---|
Public Function FindFirstGraphicAnnSQItem() As DicomElement |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As DicomDataSet Dim value As DicomElement value = instance.FindFirstGraphicAnnSQItem() |
C# | |
---|---|
public DicomElement FindFirstGraphicAnnSQItem() |
C++/CLI | |
---|---|
public: DicomElement^ FindFirstGraphicAnnSQItem(); |
Return Value
The first item under the "Graphic Annotation Sequence" (0070,0001) in the "Graphic Annotation Module". null if No items were found.This example will initialize a new DICOM dataset, cerate a graphic annotation sequence and add a graphic object and text object under that sequence.
Visual Basic | Copy Code |
---|---|
Public Sub GraphicAnnSequenceSample() 'Make sure to initialize the DICOM engine, this needs to be done only once 'In the whole application DicomEngine.Startup() Dim dicomDataset As DicomDataSet = New DicomDataSet() Using (dicomDataset) ' We can also initialize in here the "Grayscale Softcopy Presentation State" class dicomDataset.Initialize(DicomClassType.Undefined, DicomDataSetInitializeType.ExplicitVRLittleEndian) dicomDataset.CreateGraphicAnnSQItem(0, "Layer0") Dim firstGraphicAnnSQItem As DicomElement = dicomDataset.FindFirstGraphicAnnSQItem() Debug.Assert(Not firstGraphicAnnSQItem Is Nothing) 'If there was more than one item we can use 'FindNextGraphicAnnSQItem to enumerate these items dicomDataset.SetLayerName(firstGraphicAnnSQItem, "Layer1") Debug.Assert(dicomDataset.GetLayerName(firstGraphicAnnSQItem) = "Layer1") ' We can also call RemoveAllImageRefFromAllLayers or call ' RemoveImageRefFromLayer to remove the referenced images one by one. ' In any case this is for demonstration purposes only, since the dataset ' doesn't have any referenced images right now. dicomDataset.RemoveAllImageReferencesFromLayer(firstGraphicAnnSQItem) dicomDataset.AddPresentationStateImageReference(LeadtoolsExamples.Common.ImagesPath.Path + "IMAGE2.dcm", Nothing, 0) ' We know that the SOP instance UID for the dataset IMAGE2.dcm is ' 1.2.840.114257.3.6.5.5.18900282 dicomDataset.AddLayerImageReference(firstGraphicAnnSQItem, "1.2.840.114257.3.6.5.5.18900282") Debug.Assert(dicomDataset.GetLayerImageReferenceCount(firstGraphicAnnSQItem) = 1) Debug.Assert(dicomDataset.GetLayerImageReferenceSOPInstance(firstGraphicAnnSQItem, 0) = "1.2.840.114257.3.6.5.5.18900282") Debug.Assert(Not dicomDataset.GetLayerImageReferenceElement(firstGraphicAnnSQItem, "1.2.840.114257.3.6.5.5.18900282") Is Nothing) '//////This section is for DICOM Graphic Object/////////////////// Dim graphicObject As DicomGraphicObject = New DicomGraphicObject() Dim annotationPoints As DicomAnnotationPoint() = New DicomAnnotationPoint(4) {} annotationPoints(0).X = 480.0F annotationPoints(0).Y = 226.0F annotationPoints(1).X = 480.0F annotationPoints(1).Y = 418.0F annotationPoints(2).X = 488.0F annotationPoints(2).Y = 418.0F annotationPoints(3).X = 488.0F annotationPoints(3).Y = 226.0F annotationPoints(4).X = 480.0F annotationPoints(4).Y = 226.0F graphicObject.SetAnnotationPoints(annotationPoints, 5) graphicObject.Filled = False graphicObject.Type = DicomAnnotationType.Polyline graphicObject.LayerName = "Layer1" graphicObject.Units = DicomAnnotationUnitsRelativityType.Pixel Debug.Assert(graphicObject.AnnotationPointCount = 5) 'Start Clean! 'Can also call RemoveGraphicObject to remove individual objects dicomDataset.RemoveAllGraphicObjects(firstGraphicAnnSQItem) dicomDataset.CreateGraphicObject(firstGraphicAnnSQItem, graphicObject, False) Debug.Assert(dicomDataset.GetGraphicObjectCount(firstGraphicAnnSQItem) = 1) Debug.Assert(Not dicomDataset.GetGraphicObjElement(firstGraphicAnnSQItem, 0) Is Nothing) Debug.Assert(dicomDataset.GetGraphicObjPointCount(firstGraphicAnnSQItem, 0) = 5) Dim graphicObject1 As DicomGraphicObject = dicomDataset.GetGraphicObjectInformation(firstGraphicAnnSQItem, 0) Debug.Assert(Not graphicObject1 Is Nothing) graphicObject1.Filled = True dicomDataset.SetGraphicObjectInformation(firstGraphicAnnSQItem, 0, graphicObject1) '//////This section is for DICOM Text Object/////////////////// 'Can also call RemoveTextObject to remove individual objects dicomDataset.RemoveAllTextObjects(firstGraphicAnnSQItem) Dim textObject As DicomTextObject = New DicomTextObject() textObject.AnchorPointVisible = True textObject.AnchorPoint = New DicomAnnotationPoint(1.1F, 1.1F) textObject.BRHCorner = New DicomAnnotationPoint(521.251343F, 328.190216F) textObject.TLHCorner = New DicomAnnotationPoint(466.642242F, 300.443268F) textObject.TextValue = "Text Value 1" textObject.AnchorPointUnits = DicomAnnotationUnitsRelativityType.Pixel textObject.BoundingBoxUnits = DicomAnnotationUnitsRelativityType.Pixel textObject.LayerName = "Layer1" textObject.TextJustification = TextAnnotationJustificationType.Left dicomDataset.CreateTextObject(firstGraphicAnnSQItem, textObject, False) Debug.Assert(dicomDataset.GetTextObjectCount(firstGraphicAnnSQItem) = 1) Debug.Assert(Not dicomDataset.GetTextObjElement(firstGraphicAnnSQItem, 0) Is Nothing) Dim textObject1 As DicomTextObject = dicomDataset.GetTextObjectInformation(firstGraphicAnnSQItem, 0) Debug.Assert(Not textObject1 Is Nothing) textObject1.TextJustification = TextAnnotationJustificationType.Right dicomDataset.SetTextObjectInformation(firstGraphicAnnSQItem, 0, textObject1) dicomDataset.Save(LeadtoolsExamples.Common.ImagesPath.Path + "GraphicAnnSequence.dcm", DicomDataSetSaveFlags.None) End Using DicomEngine.Shutdown() End Sub |
C# | Copy Code |
---|---|
public void GraphicAnnSequenceSample() { //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()) { // We can also initialize in here the "Grayscale Softcopy Presentation State" class dicomDataset.Initialize(DicomClassType.Undefined, DicomDataSetInitializeType.ExplicitVRLittleEndian); dicomDataset.CreateGraphicAnnSQItem(0, "Layer0"); DicomElement firstGraphicAnnSQItem = dicomDataset.FindFirstGraphicAnnSQItem(); Debug.Assert(firstGraphicAnnSQItem != null); //If there was more than one item we can use //FindNextGraphicAnnSQItem to enumerate these items dicomDataset.SetLayerName(firstGraphicAnnSQItem, "Layer1"); Debug.Assert(dicomDataset.GetLayerName(firstGraphicAnnSQItem) == "Layer1"); // We can also call RemoveAllImageRefFromAllLayers or call // RemoveImageRefFromLayer to remove the referenced images one by one. // In any case this is for demonstration purposes only, since the dataset // doesn't have any referenced images right now. dicomDataset.RemoveAllImageReferencesFromLayer(firstGraphicAnnSQItem); dicomDataset.AddPresentationStateImageReference(LeadtoolsExamples.Common.ImagesPath.Path + "IMAGE2.dcm", null, 0); // We know that the SOP instance UID for the dataset IMAGE2.dcm is // 1.2.840.114257.3.6.5.5.18900282 dicomDataset.AddLayerImageReference(firstGraphicAnnSQItem, "1.2.840.114257.3.6.5.5.18900282"); Debug.Assert(dicomDataset.GetLayerImageReferenceCount(firstGraphicAnnSQItem) == 1); Debug.Assert(dicomDataset.GetLayerImageReferenceSOPInstance(firstGraphicAnnSQItem, 0) == "1.2.840.114257.3.6.5.5.18900282"); Debug.Assert(dicomDataset.GetLayerImageReferenceElement(firstGraphicAnnSQItem, "1.2.840.114257.3.6.5.5.18900282") != null); ////////This section is for DICOM Graphic Object/////////////////// DicomGraphicObject graphicObject = new DicomGraphicObject(); DicomAnnotationPoint[] annotationPoints = new DicomAnnotationPoint[5]; annotationPoints[0].X = 480.00F; annotationPoints[0].Y = 226.00F; annotationPoints[1].X = 480.00F; annotationPoints[1].Y = 418.00F; annotationPoints[2].X = 488.00F; annotationPoints[2].Y = 418.00F; annotationPoints[3].X = 488.00F; annotationPoints[3].Y = 226.00F; annotationPoints[4].X = 480.00F; annotationPoints[4].Y = 226.00F; graphicObject.SetAnnotationPoints(annotationPoints, 5); graphicObject.Filled = false; graphicObject.Type = DicomAnnotationType.Polyline; graphicObject.LayerName = "Layer1"; graphicObject.Units = DicomAnnotationUnitsRelativityType.Pixel; Debug.Assert(graphicObject.AnnotationPointCount == 5); //Start Clean! //Can also call RemoveGraphicObject to remove individual objects dicomDataset.RemoveAllGraphicObjects(firstGraphicAnnSQItem); dicomDataset.CreateGraphicObject(firstGraphicAnnSQItem, graphicObject, false); Debug.Assert(dicomDataset.GetGraphicObjectCount(firstGraphicAnnSQItem) == 1); Debug.Assert(dicomDataset.GetGraphicObjElement(firstGraphicAnnSQItem, 0) != null); Debug.Assert(dicomDataset.GetGraphicObjPointCount(firstGraphicAnnSQItem, 0) == 5); DicomGraphicObject graphicObject1 = dicomDataset.GetGraphicObjectInformation(firstGraphicAnnSQItem, 0); Debug.Assert(graphicObject1 != null); graphicObject1.Filled = true; dicomDataset.SetGraphicObjectInformation(firstGraphicAnnSQItem, 0, graphicObject1); ////////This section is for DICOM Text Object/////////////////// //Can also call RemoveTextObject to remove individual objects dicomDataset.RemoveAllTextObjects(firstGraphicAnnSQItem); DicomTextObject textObject = new DicomTextObject(); textObject.AnchorPointVisible = true; textObject.AnchorPoint = new DicomAnnotationPoint(1.1F, 1.1F); textObject.BRHCorner = new DicomAnnotationPoint(521.251343F, 328.190216F); textObject.TLHCorner = new DicomAnnotationPoint(466.642242F, 300.443268F); textObject.TextValue = "Text Value 1"; textObject.AnchorPointUnits = DicomAnnotationUnitsRelativityType.Pixel; textObject.BoundingBoxUnits = DicomAnnotationUnitsRelativityType.Pixel; textObject.LayerName = "Layer1"; textObject.TextJustification = TextAnnotationJustificationType.Left; dicomDataset.CreateTextObject(firstGraphicAnnSQItem, textObject, false); Debug.Assert(dicomDataset.GetTextObjectCount(firstGraphicAnnSQItem) == 1); Debug.Assert(dicomDataset.GetTextObjElement(firstGraphicAnnSQItem, 0) != null); DicomTextObject textObject1 = dicomDataset.GetTextObjectInformation(firstGraphicAnnSQItem, 0); Debug.Assert(textObject1 != null); textObject1.TextJustification = TextAnnotationJustificationType.Right; dicomDataset.SetTextObjectInformation(firstGraphicAnnSQItem, 0, textObject1); dicomDataset.Save(LeadtoolsExamples.Common.ImagesPath.Path + "GraphicAnnSequence.dcm", DicomDataSetSaveFlags.None); } DicomEngine.Shutdown(); } |
SilverlightCSharp | Copy Code |
---|---|
public void GraphicAnnSequenceSample(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()) { // We can also initialize in here the "Grayscale Softcopy Presentation State" class dicomDataset.Initialize(DicomClassType.Undefined, DicomDataSetInitializeType.ExplicitVRLittleEndian); dicomDataset.CreateGraphicAnnSQItem(0, "Layer0"); DicomElement firstGraphicAnnSQItem = dicomDataset.FindFirstGraphicAnnSQItem(); Debug.Assert(firstGraphicAnnSQItem != null); //If there was more than one item we can use //FindNextGraphicAnnSQItem to enumerate these items dicomDataset.SetLayerName(firstGraphicAnnSQItem, "Layer1"); Debug.Assert(dicomDataset.GetLayerName(firstGraphicAnnSQItem) == "Layer1"); // We can also call RemoveAllImageRefFromAllLayers or call // RemoveImageRefFromLayer to remove the referenced images one by one. // In any case this is for demonstration purposes only, since the dataset // doesn't have any referenced images right now. dicomDataset.RemoveAllImageReferencesFromLayer(firstGraphicAnnSQItem); dicomDataset.AddPresentationStateImageReference(SampleDicomFile.Get(SampleDicomFileNames.Image2_dcm), null, 0); // We know that the SOP instance UID for the dataset IMAGE2.dic is // 1.2.840.114257.3.6.5.5.18900282 dicomDataset.AddLayerImageReference(firstGraphicAnnSQItem, "1.2.840.114257.3.6.5.5.18900282"); Debug.Assert(dicomDataset.GetLayerImageReferenceCount(firstGraphicAnnSQItem) == 1); Debug.Assert(dicomDataset.GetLayerImageReferenceSOPInstance(firstGraphicAnnSQItem, 0) == "1.2.840.114257.3.6.5.5.18900282"); Debug.Assert(dicomDataset.GetLayerImageReferenceElement(firstGraphicAnnSQItem, "1.2.840.114257.3.6.5.5.18900282") != null); ////////This section is for DICOM Graphic Object/////////////////// DicomGraphicObject graphicObject = new DicomGraphicObject(); DicomAnnotationPoint[] annotationPoints = new DicomAnnotationPoint[5]; annotationPoints[0].X = 480.00F; annotationPoints[0].Y = 226.00F; annotationPoints[1].X = 480.00F; annotationPoints[1].Y = 418.00F; annotationPoints[2].X = 488.00F; annotationPoints[2].Y = 418.00F; annotationPoints[3].X = 488.00F; annotationPoints[3].Y = 226.00F; annotationPoints[4].X = 480.00F; annotationPoints[4].Y = 226.00F; graphicObject.SetAnnotationPoints(annotationPoints, 5); graphicObject.Filled = false; graphicObject.Type = DicomAnnotationType.Polyline; graphicObject.LayerName = "Layer1"; graphicObject.Units = DicomAnnotationUnitsRelativityType.Pixel; Debug.Assert(graphicObject.AnnotationPointCount == 5); //Start Clean! //Can also call RemoveGraphicObject to remove individual objects dicomDataset.RemoveAllGraphicObjects(firstGraphicAnnSQItem); dicomDataset.CreateGraphicObject(firstGraphicAnnSQItem, graphicObject, false); Debug.Assert(dicomDataset.GetGraphicObjectCount(firstGraphicAnnSQItem) == 1); Debug.Assert(dicomDataset.GetGraphicObjElement(firstGraphicAnnSQItem, 0) != null); Debug.Assert(dicomDataset.GetGraphicObjPointCount(firstGraphicAnnSQItem, 0) == 5); DicomGraphicObject graphicObject1 = dicomDataset.GetGraphicObjectInformation(firstGraphicAnnSQItem, 0); Debug.Assert(graphicObject1 != null); graphicObject1.Filled = true; dicomDataset.SetGraphicObjectInformation(firstGraphicAnnSQItem, 0, graphicObject1); ////////This section is for DICOM Text Object/////////////////// //Can also call RemoveTextObject to remove individual objects dicomDataset.RemoveAllTextObjects(firstGraphicAnnSQItem); DicomTextObject textObject = new DicomTextObject(); textObject.AnchorPointVisible = true; textObject.AnchorPoint = new DicomAnnotationPoint(1.1F, 1.1F); textObject.BRHCorner = new DicomAnnotationPoint(521.251343F, 328.190216F); textObject.TLHCorner = new DicomAnnotationPoint(466.642242F, 300.443268F); textObject.TextValue = "Text Value 1"; textObject.AnchorPointUnits = DicomAnnotationUnitsRelativityType.Pixel; textObject.BoundingBoxUnits = DicomAnnotationUnitsRelativityType.Pixel; textObject.LayerName = "Layer1"; textObject.TextJustification = TextAnnotationJustificationType.Left; dicomDataset.CreateTextObject(firstGraphicAnnSQItem, textObject, false); Debug.Assert(dicomDataset.GetTextObjectCount(firstGraphicAnnSQItem) == 1); Debug.Assert(dicomDataset.GetTextObjElement(firstGraphicAnnSQItem, 0) != null); DicomTextObject textObject1 = dicomDataset.GetTextObjectInformation(firstGraphicAnnSQItem, 0); Debug.Assert(textObject1 != null); textObject1.TextJustification = TextAnnotationJustificationType.Right; dicomDataset.SetTextObjectInformation(firstGraphicAnnSQItem, 0, textObject1); dicomDataset.Save(outputStream, DicomDataSetSaveFlags.None); } DicomEngine.Shutdown(); } |
SilverlightVB | Copy Code |
---|---|
Public Sub GraphicAnnSequenceSample(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() ' We can also initialize in here the "Grayscale Softcopy Presentation State" class dicomDataset.Initialize(DicomClassType.Undefined, DicomDataSetInitializeType.ExplicitVRLittleEndian) dicomDataset.CreateGraphicAnnSQItem(0, "Layer0") Dim firstGraphicAnnSQItem As DicomElement = dicomDataset.FindFirstGraphicAnnSQItem() Debug.Assert(Not firstGraphicAnnSQItem Is Nothing) 'If there was more than one item we can use 'FindNextGraphicAnnSQItem to enumerate these items dicomDataset.SetLayerName(firstGraphicAnnSQItem, "Layer1") Debug.Assert(dicomDataset.GetLayerName(firstGraphicAnnSQItem) = "Layer1") ' We can also call RemoveAllImageRefFromAllLayers or call ' RemoveImageRefFromLayer to remove the referenced images one by one. ' In any case this is for demonstration purposes only, since the dataset ' doesn't have any referenced images right now. dicomDataset.RemoveAllImageReferencesFromLayer(firstGraphicAnnSQItem) dicomDataset.AddPresentationStateImageReference(SampleDicomFile.Get(SampleDicomFileNames.Image2_dcm), Nothing, 0) ' We know that the SOP instance UID for the dataset IMAGE2.dic is ' 1.2.840.114257.3.6.5.5.18900282 dicomDataset.AddLayerImageReference(firstGraphicAnnSQItem, "1.2.840.114257.3.6.5.5.18900282") Debug.Assert(dicomDataset.GetLayerImageReferenceCount(firstGraphicAnnSQItem) = 1) Debug.Assert(dicomDataset.GetLayerImageReferenceSOPInstance(firstGraphicAnnSQItem, 0) = "1.2.840.114257.3.6.5.5.18900282") Debug.Assert(Not dicomDataset.GetLayerImageReferenceElement(firstGraphicAnnSQItem, "1.2.840.114257.3.6.5.5.18900282") Is Nothing) '//////This section is for DICOM Graphic Object/////////////////// Dim graphicObject As DicomGraphicObject = New DicomGraphicObject() Dim annotationPoints As DicomAnnotationPoint() = New DicomAnnotationPoint(4){} annotationPoints(0).X = 480.00F annotationPoints(0).Y = 226.00F annotationPoints(1).X = 480.00F annotationPoints(1).Y = 418.00F annotationPoints(2).X = 488.00F annotationPoints(2).Y = 418.00F annotationPoints(3).X = 488.00F annotationPoints(3).Y = 226.00F annotationPoints(4).X = 480.00F annotationPoints(4).Y = 226.00F graphicObject.SetAnnotationPoints(annotationPoints, 5) graphicObject.Filled = False graphicObject.Type = DicomAnnotationType.Polyline graphicObject.LayerName = "Layer1" graphicObject.Units = DicomAnnotationUnitsRelativityType.Pixel Debug.Assert(graphicObject.AnnotationPointCount = 5) 'Start Clean! 'Can also call RemoveGraphicObject to remove individual objects dicomDataset.RemoveAllGraphicObjects(firstGraphicAnnSQItem) dicomDataset.CreateGraphicObject(firstGraphicAnnSQItem, graphicObject, False) Debug.Assert(dicomDataset.GetGraphicObjectCount(firstGraphicAnnSQItem) = 1) Debug.Assert(Not dicomDataset.GetGraphicObjElement(firstGraphicAnnSQItem, 0) Is Nothing) Debug.Assert(dicomDataset.GetGraphicObjPointCount(firstGraphicAnnSQItem, 0) = 5) Dim graphicObject1 As DicomGraphicObject = dicomDataset.GetGraphicObjectInformation(firstGraphicAnnSQItem, 0) Debug.Assert(Not graphicObject1 Is Nothing) graphicObject1.Filled = True dicomDataset.SetGraphicObjectInformation(firstGraphicAnnSQItem, 0, graphicObject1) '//////This section is for DICOM Text Object/////////////////// 'Can also call RemoveTextObject to remove individual objects dicomDataset.RemoveAllTextObjects(firstGraphicAnnSQItem) Dim textObject As DicomTextObject = New DicomTextObject() textObject.AnchorPointVisible = True textObject.AnchorPoint = New DicomAnnotationPoint(1.1F, 1.1F) textObject.BRHCorner = New DicomAnnotationPoint(521.251343F, 328.190216F) textObject.TLHCorner = New DicomAnnotationPoint(466.642242F, 300.443268F) textObject.TextValue = "Text Value 1" textObject.AnchorPointUnits = DicomAnnotationUnitsRelativityType.Pixel textObject.BoundingBoxUnits = DicomAnnotationUnitsRelativityType.Pixel textObject.LayerName = "Layer1" textObject.TextJustification = TextAnnotationJustificationType.Left dicomDataset.CreateTextObject(firstGraphicAnnSQItem, textObject, False) Debug.Assert(dicomDataset.GetTextObjectCount(firstGraphicAnnSQItem) = 1) Debug.Assert(Not dicomDataset.GetTextObjElement(firstGraphicAnnSQItem, 0) Is Nothing) Dim textObject1 As DicomTextObject = dicomDataset.GetTextObjectInformation(firstGraphicAnnSQItem, 0) Debug.Assert(Not textObject1 Is Nothing) textObject1.TextJustification = TextAnnotationJustificationType.Right dicomDataset.SetTextObjectInformation(firstGraphicAnnSQItem, 0, textObject1) dicomDataset.Save(outputStream, DicomDataSetSaveFlags.None) End Using DicomEngine.Shutdown() End Sub |
This method returns the first item under the "Graphic Annotation Sequence" (0070,0001) in the "Graphic Annotation Module". Call this method along with Leadtools.Dicom.DicomDataSet.FindNextGraphicAnnSQItem in order to enumerate all the items under the "Graphic Annotation Sequence" (0070,0001) in the "Graphic Annotation Module".
Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)
Reference
DicomDataSet ClassDicomDataSet Members
FindNextGraphicAnnSQItem Method
GetLayerName Method
SetLayerName Method
CreateGraphicAnnSQItem Method
AddLayerImageReference Method
GetLayerImageReferenceCount Method
RemoveImageReferenceFromLayer Method
RemoveAllImageReferencesFromLayer Method
RemoveAllImageReferences Method
GetLayerImageReferenceElement Method