←Select platform

OverlayCount Property

Summary

Gets the number of overlays in the Data Set.

Syntax
C#
VB
C++
Java
public int OverlayCount { get; } 
Public ReadOnly Property OverlayCount As Integer 
public int getOverlayCount() 
public: 
property int OverlayCount { 
   int get(); 
} 

Property Value

The number of overlays in the Data Set.

Remarks

This property gets the number of overlays inside a Data Set by counting the number of repeating groups in the range (6000-601E).

Example

This example will read a DICOM dataset and update its overlay attributes and overlay image.

C#
VB
using Leadtools; 
using Leadtools.Dicom; 
 
public void TestOverlay() 
{ 
   string dicomFileName = Path.Combine(LEAD_VARS.ImagesDir, "Overlay.dcm"); 
   //Make sure to initialize the DICOM engine, this needs to be done only once  
   //In the whole application 
   DicomEngine.Startup(); 
   using (DicomDataSet ds = new DicomDataSet()) 
   { 
      //Load DICOM File 
      ds.Load(dicomFileName, DicomDataSetLoadFlags.None); 
 
      if (ds.OverlayCount > 0) 
      { 
         RasterOverlayAttributes attributes = ds.GetOverlayAttributes(0); 
         if (attributes != null) 
         { 
            // We can call in here methods like GetOverlayGroupNumber, IsOverlayInDataset  
            // and GetOverlayActivationLayer to get some further infromation about the overlay 
 
            //Let's get the overlay Image, If RasterOverlayAttributes.NumFramesInOverlay  
            //Is greater than 1 we can call GetOverlayImages to extract all the frames 
            RasterImage overlayImage = ds.GetOverlayImage(0); 
            if (overlayImage != null) 
            { 
               using (DicomDataSet ds1 = new DicomDataSet()) 
               { 
                  ds1.Initialize(DicomClassType.DXImageStoragePresentation, DicomDataSetInitializeType.ExplicitVRLittleEndian); 
                  ds1.SetOverlayAttributes(0, attributes, DicomSetOverlayFlags.None); 
                  ds1.SetOverlayImage(0, overlayImage);//We can call SetOverlayImages if the overlay has more than one frame 
                  ds1.Save(Path.Combine(LEAD_VARS.ImagesDir, "NewOverlay.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 TestOverlay() 
   Dim dicomFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Overlay.dcm") 
   'Make sure to initialize the DICOM engine, this needs to be done only once  
   'In the whole application 
   DicomEngine.Startup() 
 
   Dim ds As DicomDataSet = New DicomDataSet() 
   Using (ds) 
      'Load DICOM File 
      ds.Load(dicomFileName, DicomDataSetLoadFlags.None) 
 
      If ds.OverlayCount > 0 Then 
         Dim attributes As RasterOverlayAttributes = ds.GetOverlayAttributes(0) 
         If Not attributes Is Nothing Then 
            ' We can call in here methods like GetOverlayGroupNumber, IsOverlayInDataset  
            ' and GetOverlayActivationLayer to get some further infromation about the overlay 
 
            'Let's get the overlay Image, If RasterOverlayAttributes.NumFramesInOverlay  
            'Is greater than 1 we can call GetOverlayImages to extract all the frames 
            Dim overlayImage As RasterImage = ds.GetOverlayImage(0) 
            If Not overlayImage Is Nothing Then 
 
               Dim ds1 As DicomDataSet = New DicomDataSet() 
               Using (ds1) 
                  ds1.Initialize(DicomClassType.DXImageStoragePresentation, DicomDataSetInitializeType.ExplicitVRLittleEndian) 
                  ds1.SetOverlayAttributes(0, attributes, DicomSetOverlayFlags.None) 
                  ds1.SetOverlayImage(0, overlayImage) 'We can call SetOverlayImages if the overlay has more than one frame 
                  ds1.Save(Path.Combine(LEAD_VARS.ImagesDir, "NewOverlay.dcm"), DicomDataSetSaveFlags.None) 
               End Using 
 
            End If 
         End If 
      End If 
   End Using 
 
   DicomEngine.Shutdown() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

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

Leadtools.Dicom Assembly