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

FindSignature Method

Example 







Character string that contains the Digital Signature UID of the Digital Signature for which to search.
Returns the Digital Signatures Sequence Item that corresponds to the Digital Signature that has the specified Digital Signature UID, if found in the Data Set. .NET support WinRT support
Syntax
public DicomElement FindSignature( 
   string signatureUID
)
'Declaration
 
Public Function FindSignature( _
   ByVal signatureUID As String _
) As DicomElement
'Usage
 
Dim instance As DicomDataSet
Dim signatureUID As String
Dim value As DicomElement
 
value = instance.FindSignature(signatureUID)
public DicomElement FindSignature( 
   string signatureUID
)
ObjectiveC Syntax
 function Leadtools.Dicom.DicomDataSet.FindSignature( 
   signatureUID 
)
public:
DicomElement^ FindSignature( 
   String^ signatureUID
) 

Parameters

signatureUID
Character string that contains the Digital Signature UID of the Digital Signature for which to search.

Return Value

The Digital Signatures Sequence Item that corresponds to the Digital Signature with the specified Digital Signature UID, or a null reference (Nothing in Visual Basic) if no such Digital Signature was found in the Data Set.
Remarks
Each Digital Signature should be uniquely identified by a UID specified by the Digital Signature UID (0400,0100) under the corresponding Digital Signatures Sequence Item. Call this method to search the whole Data Set for a Digital Signature by its Digital Signature UID.

Once the Digital Signatures Sequence Item is obtained, the following methods can be used to verify, delete, or get information about the Digital Signature:

VerifySignature

DeleteSignature

GetSignatureUID

GetSignatureDateTime

GetSignedElementsCount

GetSignedElement

GetMacTransferSyntax

GetMacAlgorithm

SaveCertificate

Call the GetSignaturesCount and GetSignature methods to enumerate the Digital Signatures in the main Data Set or in an item of a Sequence of Items.

Example
Copy CodeCopy Code  
Public Sub FindSignature()
      Dim dicomFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.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)
         Dim signatureUID As String = "1.2.840.114257.0.130573664"
         ' Search the whole Data Set for the Digital Signature with the
         ' specified Digital Signature UID
         Dim signatureItem As DicomElement = ds.FindSignature(signatureUID)
         If Not signatureItem Is Nothing Then
            ds.DeleteSignature(signatureItem)
            MessageBox.Show("The Digital Signature was found and got deleted.", "Sample")
         Else
            MessageBox.Show("The Digital Signature could not be found.", "Sample")
         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
public void FindSignature()
   {
      string dicomFileName = Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.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);
         string signatureUID = "1.2.840.114257.0.130573664";
         // Search the whole Data Set for the Digital Signature with the
         // specified Digital Signature UID
         DicomElement signatureItem = ds.FindSignature(signatureUID);
         if (signatureItem != null)
         {
            ds.DeleteSignature(signatureItem);
            MessageBox.Show("The Digital Signature was found and got deleted.", "Sample");
         }
         else
         {
            MessageBox.Show("The Digital Signature could not be found.", "Sample");
         }
      }
      DicomEngine.Shutdown();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
[TestMethod]
public async Task FindSignature()
{
   //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
      string filePath = @"Assets\Dicom_digitallysigned.dcm";
      StorageFile file = await Tools.AppInstallFolder.GetFileAsync(filePath);
      ILeadStream stream = LeadStreamFactory.Create(file);
      bool success = await ds.LoadAsync(stream, DicomDataSetLoadFlags.None);
      Debug.Assert(success);
      string signatureUID = "1.2.840.114257.0.13002946704035050457818467253101580800041";
      // Search the whole Data Set for the Digital Signature with the
      // specified Digital Signature UID
      DicomElement signatureItem = ds.FindSignature(signatureUID);
      if (signatureItem != null)
      {
         ds.DeleteSignature(signatureItem);
         Debug.WriteLine("FindSignature: The Digital Signature was found and got deleted.");
      }
      else
      {
         Debug.WriteLine("FindSignature: The Digital Signature could not be found.");
      }
   }
   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
GetSignaturesCount Method
GetSignature Method
VerifySignature Method
DeleteSignature Method
GetSignatureUID Method
GetSignatureDateTime Method
GetSignedElementsCount Method
GetSignedElement Method
GetMacTransferSyntax Method
GetMacAlgorithm Method
SaveCertificate 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