Welcome Guest! To enable all features, please Login or Register.

Notification

Icon
Error

Options
View
Last Go to last post Unread Go to first unread post
#1 Posted : Tuesday, July 31, 2012 5:02:02 AM(UTC)

Travis  
Travis

Groups: Registered, Tech Support
Posts: 215

Was thanked: 3 time(s) in 3 post(s)

This sample code shows you how to make a bare bones application that uses the PacsQueryClient class to query a remote PACS, then use the PacsRetrieveClient to retrieve the dataset, load and display the image(s) in the Workstation Viewer.

How to use:
Once running, you can enter the PACS Server AE Title, IP Address, and listening port as well as the client's AE Title, and listening port for the retrieve operation.  In the search tab, enter the Patient ID and Study Instance UID then press the search button.  If any series are found for the instance, the application will load the first one in the returned results.

The code:
The PacsRetrieveClient class was designed for use with a database.  Typically when creating a workstation, there is a local listening service where the dataset's are temporarily stored.  This is done using the IStorageDataAccessAgent.  To perform the same functionality, without the database, we must implement our own IStorageDataAccessAgent, and register it with the DataAccessServices.

This project provides a derived class called FileSystemStorageDataAccessAgent which implements all the necessary functions.  However, all of them are empty except for the QueryCompositeInstances which requires a real value to be returned.  I simply return a new instance of the CompositeInstanceDataSet. 

This is all that is required in the derived class to allow the WorkstationViewer to use the MedicalViewerLoader with the PacsRetrieveClient to load images from a Remote PACS. 

In order to have the PacRetrieveClient use the derived class you have to first register it with the DataAccessAgents class.  I do this in the constructor of the MainForm using the generic static function DataAccessServices.RegisterDataAccessService. 

Next, you must pass an instance of the derived class to the constructor of the PacsRetrieveClient, then finally you must set the PacsRetrieveClient.StoreRetrievedImages property to true, telling the PacsRetrieve class that we wish to store the images locally.  This will cause the PacsRetrieveClient class to use a registered instance of the IStorageDataAccessAgent, which will ultimately use our derived class. After the images have been moved locally, the viewer will load the images because we also set the PacsRetrieveClient.LoadDataSetOnRetrieve to true.

The C# project is in Visual Studio 2008 using LEADTOOLS 17.5


File Attachment(s):
Travis Montgomery
Senior Sales Engineer
LEAD Logo
 

Try the latest version of LEADTOOLS for free for 60 days by downloading the evaluation: https://www.leadtools.com/downloads

Wanna join the discussion? Login to your LEADTOOLS Support accountor Register a new forum account.

You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Powered by YAF.NET | YAF.NET © 2003-2017, Yet Another Forum.NET
This page was generated in 0.138 seconds.