Leadtools.Dicom Requires Medical product license | Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
GetSignaturesCount Method
See Also  Example
Leadtools.Dicom Namespace > DicomDataSet Class : GetSignaturesCount Method



item
An item of a sequence of items in the Data Set. The method returns the number of Digital Signatures in this Item. If this parameter is set to null, the method will return the number of Digital Signatures in the main Data Set.
item
An item of a sequence of items in the Data Set. The method returns the number of Digital Signatures in this Item. If this parameter is set to null, the method will return the number of Digital Signatures in the main Data Set.
Returns the number of Digital Signatures in the main Data Set or in an item of a sequence of items.

Syntax

Visual Basic (Declaration) 
Public Function GetSignaturesCount( _
   ByVal item As DicomElement _
) As Integer
Visual Basic (Usage)Copy Code
Dim instance As DicomDataSet
Dim item As DicomElement
Dim value As Integer
 
value = instance.GetSignaturesCount(item)
C# 
public int GetSignaturesCount( 
   DicomElement item
)
C++/CLI 
public:
int GetSignaturesCount( 
   DicomElement^ item
) 

Parameters

item
An item of a sequence of items in the Data Set. The method returns the number of Digital Signatures in this Item. If this parameter is set to null, the method will return the number of Digital Signatures in the main Data Set.

Return Value

The number of Digital Signatures in the specified item, or in the main Data Set if no item is specified.

Example

This example will enumerate all digital signatures in a DICOM dataset.

Visual BasicCopy Code
Public Sub EnumerateSignatures()
   Dim dicomFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Signed.dcm"
   'Make sure to initialize the DICOM engine, this needs to be done only once
   'In the whole application
   DicomEngine.Startup()

   Dim dataset As DicomDataSet = New DicomDataSet()
   Using (dataset)
      'Load DICOM File
      dataset.Load(dicomFileName, DicomDataSetLoadFlags.None)
      ' We will enumerate the Digital Signatures in the main Data Set
      Dim signaturesCount As Integer = dataset.GetSignaturesCount(Nothing)
      If signaturesCount = 0 Then
         MessageBox.Show("No Digital Signatures in the main Data Set.")
         Return
      End If
      Dim msg As String
      If signaturesCount = 1 Then
         msg = "There is 1 Digital Signature in the main Data Set.Do you want to examine it?"
      Else
         msg = String.Format("There are {0} Digital Signatures in the main Data Set. Do you want to examine them?", signaturesCount)
      End If
      If MessageBox.Show(msg, "Sample", MessageBoxButtons.YesNo) <> DialogResult.Yes Then
         Return
      End If
      Dim i As Integer = 0
      Do While i < signaturesCount
         ExamineSignature(dataset, dataset.GetSignature(Nothing, i))
         i += 1
      Loop
   End Using

   DicomEngine.Shutdown()
End Sub
C#Copy Code
public void EnumerateSignatures() 

   string dicomFileName = LeadtoolsExamples.Common.ImagesPath.Path + "Signed.dcm"; 
   //Make sure to initialize the DICOM engine, this needs to be done only once  
   //In the whole application 
   DicomEngine.Startup(); 
   using (DicomDataSet dataset = new DicomDataSet()) 
   { 
      //Load DICOM File 
      dataset.Load(dicomFileName, DicomDataSetLoadFlags.None); 
      // We will enumerate the Digital Signatures in the main Data Set 
      int signaturesCount = dataset.GetSignaturesCount(null); 
      if (signaturesCount == 0) 
      { 
         MessageBox.Show("No Digital Signatures in the main Data Set."); 
         return; 
      } 
      string msg; 
      if (signaturesCount == 1) 
      { 
         msg = "There is 1 Digital Signature in the main Data Set.Do you want to examine it?"; 
      } 
      else 
      { 
         msg = String.Format("There are {0} Digital Signatures in the main Data Set. Do you want to examine them?", signaturesCount); 
      } 
      if (MessageBox.Show(msg, "Sample", MessageBoxButtons.YesNo) != DialogResult.Yes) 
      { 
         return; 
      } 
      for (int i = 0; i < signaturesCount; i++) 
      { 
         ExamineSignature(dataset, dataset.GetSignature(null, i)); 
      } 
   } 
   DicomEngine.Shutdown(); 
}

Remarks

The method computes the number of Digital Signatures by counting the number of items under the Digital Signatures sequence (FFFA,FFFA) which is located under the item specified by item or on the root of the Data Set if the parameter is set to null. The method will return 0 if this sequence does not exist.

One way of enumerating the Digital Signatures in the main Data Set or in an item of a sequence of items is by using this method along with the GetSignature method.

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also

Leadtools.Dicom requires a Medical toolkit server license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features