LEADTOOLS Medical (Leadtools.Dicom assembly)
LEAD Technologies, Inc

GetSignaturesCount Method

Example 







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. .NET support WinRT support
Syntax
public int GetSignaturesCount( 
   DicomElement item
)
'Declaration
 
Public Function GetSignaturesCount( _
   ByVal item As DicomElement _
) As Integer
'Usage
 
Dim instance As DicomDataSet
Dim item As DicomElement
Dim value As Integer
 
value = instance.GetSignaturesCount(item)
public int GetSignaturesCount( 
   DicomElement item
)
ObjectiveC Syntax
 function Leadtools.Dicom.DicomDataSet.GetSignaturesCount( 
   item 
)
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.
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.

Example
Copy CodeCopy Code  
Public Sub EnumerateSignatures()
      Dim dicomFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "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

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
public void EnumerateSignatures()
   {
      string dicomFileName = Path.Combine(LEAD_VARS.ImagesDir, "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();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
[TestMethod]
public async Task EnumerateSignatures()
{
   //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
      string filePath = @"Assets\Dicom_digitallysigned.dcm";
      StorageFile file = await Tools.AppInstallFolder.GetFileAsync(filePath);
      ILeadStream stream = LeadStreamFactory.Create(file);
      bool success = await dataset.LoadAsync(stream, DicomDataSetLoadFlags.None);
      Debug.Assert(success);
      // We will enumerate the Digital Signatures in the main Data Set
      int signaturesCount = dataset.GetSignaturesCount(null);
      if (signaturesCount == 0)
      {
         Debug.WriteLine("No Digital Signatures in the main Data Set.");
         return;
      }
   }
   DicomEngine.Shutdown();
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

DicomDataSet Class
DicomDataSet Members
GetSignature Method
FindSignature Method
CreateSignature Method

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

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