Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.3.25
|
Leadtools.Dicom Namespace > DicomDataSet Class : GetSignaturesCount Method |
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 )
function Leadtools.Dicom.DicomDataSet.GetSignaturesCount( item )
public: int GetSignaturesCount( DicomElement^ item )
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.
This example will enumerate all digital signatures in a DICOM dataset.
Imports Leadtools Imports Leadtools.Dicom <TestMethod> _ 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() Using dataset As New DicomDataSet() '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 For i As Integer = 0 To signaturesCount - 1 ExamineSignature(dataset, dataset.GetSignature(Nothing, i)) Next End Using DicomEngine.Shutdown() End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
using Leadtools; using Leadtools.Dicom; [TestMethod] 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"; }
using Leadtools.Dicom.Constants; using Leadtools; using Leadtools.Dicom; [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(); }