Public Function New( _
ByVal clientInfo As AeInfo, _
ByVal dataAccess As IStorageDataAccessAgent _
)
public:
DbRetrieveClient(
AeInfo^ clientInfo,
IStorageDataAccessAgent^ dataAccess
)
clientInfo
The Leadtools.Dicom.AddIn.Common.AeInfo for the calling client.
dataAccess
An object of type Leadtools.Medical.Storage.DataAccessLayer.IStorageDataAccessAgent used to query the DICOM Datasets being retrieved.
using LeadtoolsExamples.Common;
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;
public void RetrieveLocalDatabase()
{
Leadtools.Examples.Support.SetLicense();
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);
}
DbRetrieveClient client = new DbRetrieveClient(clientInfo, dataAccess);
client.InstanceMoved += new EventHandler<InstanceMovedEventArgs>(client_InstanceMoved);
client.EnableLog = true;
client.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt");
client.LoadDataSetOnRetrieve = false;//Enable this if you need to read information from the DICOM dataset.
PerformClientRetrieve(client);
}
void client_InstanceMoved(object sender, InstanceMovedEventArgs e)
{
Console.WriteLine("Number of moved images: {0}", e.Completed);
}
public void PerformClientRetrieve(RetrieveClient client)
{
IEnumerable<KeyValuePair<string, RetrievedDataSet>> images = client.RetrieveImages("", ""); //perform a wild card search
foreach (KeyValuePair<string, RetrievedDataSet> imageInformation in images)
{
Console.WriteLine("SOPInstanceUID: {0}", imageInformation.Key);
Console.WriteLine(imageInformation.Value.DataSetFilePath);
Console.WriteLine("---------------------------------------------");
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images";
}
Imports LeadtoolsExamples.Common
Imports Leadtools
Imports Leadtools.Examples
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
Public Sub RetrieveLocalDatabase()
Leadtools.Examples.Support.SetLicense()
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 MoveAddIn is configured properly before using this class.
Dim client As DbRetrieveClient = New DbRetrieveClient(clientInfo, dataAccess)
client.LoadDataSetOnRetrieve = False 'Enable this if you need to read information from the DICOM dataset.
AddHandler client.InstanceMoved, AddressOf client_InstanceMoved
client.EnableLog = True
client.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt")
PerformClientRetrieve(client)
End Sub
Sub client_InstanceMoved(ByVal sender As Object, ByVal e As InstanceMovedEventArgs)
Console.WriteLine("Number of moved images: {0}", e.Completed)
End Sub
Public Sub PerformClientRetrieve(ByVal client As RetrieveClient)
Dim images As IEnumerable(Of KeyValuePair(Of String, RetrievedDataSet))
images = client.RetrieveImages("", "") 'perform a wild card search
For Each imageInformation As KeyValuePair(Of String, RetrievedDataSet) In images
Console.WriteLine("SOPInstanceUID: {0}", imageInformation.Key)
Console.WriteLine(imageInformation.Value.DataSetFilePath)
Console.WriteLine("---------------------------------------------")
Next imageInformation
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images"
End Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document