LEADTOOLS Support
General
General Questions
Using the WorkstationViewer class in a stand alone application with the PacsQueryClient and PacsRetr
This topic and its replies were posted before the current version of LEADTOOLS was released and may no longer be applicable.
#1
Posted
:
Tuesday, July 31, 2012 4:57:02 AM(UTC)
Groups: Registered, Tech Support
Posts: 207
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
Travis Montgomery
Senior Sales Engineer
LEADTOOLS Support
General
General Questions
Using the WorkstationViewer class in a stand alone application with the PacsQueryClient and PacsRetr
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.