←Select platform

StoreSeries Method

Summary

Start the operation of storing the DICOM instances with the provided parameters.

Syntax

C#
VB
C++
public void StoreSeries(  
   string studyInstanceUid, 
   string seriesInstanceUid 
) 
Public Sub StoreSeries( _ 
   ByVal studyInstanceUid As String, _ 
   ByVal seriesInstanceUid As String _ 
) 
public: 
void StoreSeries(  
   String^ studyInstanceUid, 
   String^ seriesInstanceUid 
) 

Parameters

studyInstanceUid
The Study Instance UID System.String value to match in the DICOM database to be stored. This can be null or System.String.Empty.

seriesInstanceUid
The Series Instance UID System.String value to match in the DICOM database to be stored. This can be null or System.String.Empty.

Example

C#
VB
Imports Leadtools 
         Imports Leadtools.Codecs 
         Imports Leadtools.Dicom 
         Imports Leadtools.Dicom.Scu.Common 
         Imports Leadtools.ImageProcessing 
         Imports Leadtools.Dicom.AddIn.Common 
         Imports Leadtools.Dicom.Scu 
         Imports Leadtools.Medical.DataAccessLayer 
         Imports Leadtools.Medical.Storage.DataAccessLayer 
         Imports Leadtools.Medical.Storage.DataAccessLayer.Configuration 
         Imports Leadtools.Medical.Workstation.Client 
         Imports Leadtools.Medical.Workstation.Client.Local 
         Imports Leadtools.Medical.Workstation.Client.Pacs 
 
         <TestMethod()> _ 
         Public Sub StoreDicom() 
#If LEADTOOLS_V175_OR_LATER Then 
                Leadtools.Examples.Support.SetLicense() 
#Else 
         Leadtools.Examples.Support.Unlock() 
#End If ''' #if LEADTOOLS_V175_OR_LATER 
            Dim clientInfo As AeInfo = New AeInfo() 
 
            clientInfo.Address = Dns.GetHostName() 'local machine 
            clientInfo.AETitle = "TEST_CLIENT" 
            clientInfo.Port = 1000 
 
            Dim dataAccess As Medical.Storage.DataAccessLayer.IStorageDataAccessAgent 
 
            Dim fromConfiguration As Boolean 
 
            fromConfiguration = False 
            If (fromConfiguration) Then 
 
               'Make sure that the Sotrage Data Access is configured before creating an instance. 
               dataAccess = DataAccessFactory.GetInstance(New StorageDataAccessConfigurationView()).CreateDataAccessAgent(Of IStorageDataAccessAgent)() 
            Else 
 
               Dim connectionString As String = "Data Source=local;Initial Catalog=DicomStorage;Integrated Security=True;User ID=;Password=;Pooling=True" 
               'or you can directly create the data access object which works with your database 
               dataAccess = New StorageSqlDbDataAccessAgent(connectionString) 
            End If 
 
 
            'Make sure that the FindAddIn is configured properly before using this class. 
            Dim queryClient As DbQueryClient = New DbQueryClient(clientInfo, dataAccess) 
 
            queryClient.EnableLog = True 
            queryClient.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt") 
 
            Dim series As DicomDataSet() = queryClient.FindSeries(New FindQuery()) 
 
            If series.Length > 0 Then 
               Dim scpInfo As DicomScp = New DicomScp() 
 
               scpInfo.AETitle = "LEAD_SERVER" 
               scpInfo.Port = 104 
               scpInfo.Timeout = 30 
 
               Dim addressFound As Boolean 
               Dim addresses As IPAddress() 
 
               addressFound = False 
               addresses = Dns.GetHostAddresses(Dns.GetHostName()) 
 
               For Each address As IPAddress In addresses 
                  'we need to get an IP V4, won't work with IP V6 
                  If address.AddressFamily = System.Net.Sockets.AddressFamily.InterNetwork Then 
                     addressFound = True 
 
                     scpInfo.PeerAddress = address 
 
                     Exit For 
                  End If 
               Next address 
 
               If (Not addressFound) Then 
                  Throw New ArgumentException("Couldn't resolve a valid host Address. Address must conform to IP version 4") 
               End If 
 
               Dim client As StoreClient = New StoreClient(clientInfo, scpInfo, Compression.Native, dataAccess) 
 
               client.EnableLog = True 
               client.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt") 
 
               client.StoreSeries(series(0).GetValue(Of String)(DicomTag.StudyInstanceUID, String.Empty), series(0).GetValue(Of String)(DicomTag.SeriesInstanceUID, String.Empty)) 
 
               Console.WriteLine("Series {0} has been stored successfully.", series(0).GetValue(Of String)(DicomTag.SeriesInstanceUID, String.Empty)) 
            End If 
         End Sub 
 
         Public NotInheritable Class LEAD_VARS 
         Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
         End Class 
using Leadtools; 
         using Leadtools.Codecs; 
         using Leadtools.Dicom; 
         using Leadtools.Dicom.Scu.Common; 
         using Leadtools.ImageProcessing; 
         using Leadtools.Dicom.AddIn.Common; 
         using Leadtools.Dicom.Scu; 
         using Leadtools.Medical.Workstation.Client; 
         using Leadtools.Medical.Workstation.Client.Local; 
         using Leadtools.Medical.Workstation.Client.Pacs; 
         using Leadtools.Medical.Storage.DataAccessLayer; 
         using Leadtools.Medical.DataAccessLayer; 
         using Leadtools.Medical.Storage.DataAccessLayer.Configuration; 
 
         [TestMethod] 
         public void StoreDicom() 
         { 
#if LEADTOOLS_V175_OR_LATER 
            Leadtools.Examples.Support.SetLicense(); 
#else 
            Leadtools.Examples.Support.Unlock(); 
#endif // #if LEADTOOLS_V175_OR_LATER 
            AeInfo clientInfo = new AeInfo(); 
 
            clientInfo.Address = Dns.GetHostName(); //local machine 
            clientInfo.AETitle = "TEST_CLIENT"; 
            clientInfo.Port = 1000; 
 
            IStorageDataAccessAgent dataAccess = null; 
            bool fromConfiguration = false; 
 
            if (fromConfiguration) 
            { 
               //Make sure that the Sotrage Data Access is configured before creating an instance. 
               dataAccess = DataAccessFactory.GetInstance(new StorageDataAccessConfigurationView()).CreateDataAccessAgent<IStorageDataAccessAgent>(); 
            } 
            else 
            { 
               string connectionString = @"Data Source=local;Initial Catalog=DicomStorage;Integrated Security=True;User ID=;Password=;Pooling=True"; 
               //or you can directly create the data access object which works with your database 
               dataAccess = new StorageSqlDbDataAccessAgent(connectionString); 
            } 
 
            DbQueryClient queryClient = new DbQueryClient(clientInfo, dataAccess); 
 
            queryClient.EnableLog = true; 
            queryClient.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt"); 
 
            DicomDataSet[] series = queryClient.FindSeries(new FindQuery()); 
 
            if ( series.Length > 0 ) 
            { 
               DicomScp scpInfo = new DicomScp(); 
 
               scpInfo.AETitle = "LEAD_SERVER"; 
               scpInfo.Port = 104; 
               scpInfo.Timeout = 30; 
 
               bool addressFound; 
               IPAddress [] addresses ; 
 
               addressFound = false; 
               addresses = Dns.GetHostAddresses ( Dns.GetHostName ( ) ) ; 
 
               foreach (IPAddress address in addresses) 
               { 
                  //we need to get an IP V4, won't work with IP V6 
                  if (address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) 
                  { 
                     addressFound = true; 
 
                     scpInfo.PeerAddress = address; 
 
                     break; 
                  } 
               } 
 
               if (!addressFound) 
               { 
                  throw new ArgumentException("Couldn't resolve a valid host Address. Address must conform to IP version 4"); 
               } 
 
               StoreClient client = new StoreClient(clientInfo, scpInfo, Compression.Native, dataAccess); 
 
               client.EnableLog = true ; 
               client.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt"); 
 
               client.StoreSeries ( series [ 0 ].GetValue <string> ( DicomTag.StudyInstanceUID, string.Empty ),  
                                    series [ 0 ].GetValue <string> ( DicomTag.SeriesInstanceUID, string.Empty ) ) ; 
 
               Console.WriteLine ( "Series {0} has been stored successfully.", series [ 0 ].GetValue <string> ( DicomTag.SeriesInstanceUID, string.Empty ) ) ; 
            } 
         } 
 
         static class LEAD_VARS 
         { 
         public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
         } 

Requirements

Target Platforms

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.Medical.Workstation.Client Assembly
Click or drag to resize