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 )
ObjectiveC Syntax
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.
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(); }
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