←Select platform

CreateLayer Method

Summary
Adds a new item under the "Graphic Layer Sequence" (0070,0060) in the "Graphic Layer Module".
Syntax
C#
C++
public int CreateLayer( 
   DicomGraphicLayer graphicLayer 
) 
public: 
int CreateLayer(  
   DicomGraphicLayer^ graphicLayer 
)  

Parameters

graphicLayer
A Graphic Layer attributes , which holds the attributes of the layer to be created.

Return Value

The index of the newly created layer.

Remarks

If for example there are already 2 items under the "Graphic Layer Sequence" (0070,0060) and we call this method, then the index of the new layer will be 2. This method will fail and throw a DicomExceptionCode.Parameter exception if a layer with the same name as the new layer already exists in the Data Set.

Example

This example will initialize a new DICOM dataset, insert a new layer with one graphic object and one text object.

C#
using Leadtools; 
using Leadtools.Dicom; 
 
 
public void DicomLayerSample() 
{ 
   //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); 
 
      //We can remove individual layers by calling RemoveLayerByIndex and RemoveLayerByName 
      dicomDataset.RemoveAllLayers(true); 
 
      DicomGraphicLayer graphicLayer = new DicomGraphicLayer(); 
 
      graphicLayer.LayerOrder = 1; 
      graphicLayer.LayerDescription = "First Layer"; 
      graphicLayer.LayerName = "LAYER0"; 
      graphicLayer.Grayscale = 0; 
      graphicLayer.RgbLayerColor[0] = 255; 
 
      dicomDataset.CreateLayer(graphicLayer); 
 
      Debug.Assert(dicomDataset.GetLayerIndex("LAYER0") == 0); 
 
      DicomGraphicLayer graphicLayer1 = dicomDataset.GetLayerInformation(0); 
      Debug.Assert(graphicLayer1 != null); 
      Debug.Assert(graphicLayer1.LayerOrder == 1); 
 
      graphicLayer.LayerName = "LAYER1"; 
      dicomDataset.SetLayerInformation(0, graphicLayer); 
 
      Debug.Assert(dicomDataset.LayerCount == 1); 
 
      //  We can also call GetLayerElementByName to get the layer element 
      DicomElement layer = dicomDataset.GetLayerElementByIndex(0); 
      Debug.Assert(layer != null); 
 
      dicomDataset.RemoveLayerGraphicObjects(layer); 
      Debug.Assert(dicomDataset.GetLayerGraphicObjectCount(layer) == 0); 
 
      dicomDataset.RemoveLayerTextObjects(layer); 
      Debug.Assert(dicomDataset.GetLayerTextObjectCount(layer) == 0); 
 
      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"; 
} 
Requirements

Target Platforms

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

Leadtools.Dicom Assembly