Performs DICOM Instance retrieve operations against a DICOM database.
public class DbRetrieveClient : RetrieveClient Public Class DbRetrieveClientInherits RetrieveClient
public ref class DbRetrieveClient : public RetrieveClient
using LeadtoolsExamples.Common;using Leadtools;using Leadtools.Examples;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 machineclientInfo.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 databasedataAccess = 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 searchforeach (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:\Users\Public\Documents\LEADTOOLS Images";}
Imports LeadtoolsExamples.CommonImports LeadtoolsImports Leadtools.ExamplesImports Leadtools.CodecsImports Leadtools.DicomImports Leadtools.Dicom.Scu.CommonImports Leadtools.ImageProcessingImports Leadtools.Dicom.AddIn.CommonImports Leadtools.Dicom.ScuImports Leadtools.Medical.DataAccessLayerImports Leadtools.Medical.Storage.DataAccessLayerImports Leadtools.Medical.Storage.DataAccessLayer.ConfigurationImports Leadtools.Medical.Workstation.ClientImports Leadtools.Medical.Workstation.Client.LocalImports Leadtools.Medical.Workstation.Client.PacsPublic Sub RetrieveLocalDatabase()Leadtools.Examples.Support.SetLicense()Dim clientInfo As AeInfo = New AeInfo()clientInfo.Address = Dns.GetHostName() 'local machineclientInfo.AETitle = "TEST_CLIENT"clientInfo.Port = 1000Dim dataAccess As Medical.Storage.DataAccessLayer.IStorageDataAccessAgentDim fromConfiguration As BooleanfromConfiguration = FalseIf (fromConfiguration) Then'Make sure that the Sotrage Data Access is configured before creating an instance.dataAccess = DataAccessFactory.GetInstance(New StorageDataAccessConfigurationView()).CreateDataAccessAgent(Of IStorageDataAccessAgent)()ElseDim 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 databasedataAccess = 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_InstanceMovedclient.EnableLog = Trueclient.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt")PerformClientRetrieve(client)End SubSub client_InstanceMoved(ByVal sender As Object, ByVal e As InstanceMovedEventArgs)Console.WriteLine("Number of moved images: {0}", e.Completed)End SubPublic Sub PerformClientRetrieve(ByVal client As RetrieveClient)Dim images As IEnumerable(Of KeyValuePair(Of String, RetrievedDataSet))images = client.RetrieveImages("", "") 'perform a wild card searchFor Each imageInformation As KeyValuePair(Of String, RetrievedDataSet) In imagesConsole.WriteLine("SOPInstanceUID: {0}", imageInformation.Key)Console.WriteLine(imageInformation.Value.DataSetFilePath)Console.WriteLine("---------------------------------------------")Next imageInformationEnd SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS 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
