Public Types | Static Public Member Functions

gdcm::CompositeNetworkFunctions Class Reference

Composite Network Functions These functions provide a generic API to the DICOM functions implemented in GDCM. Advanced users can use this code as a template for building their own versions of these functions (for instance, to provide progress bars or some other way of handling returned query information), but for most users, these functions should be sufficient to interface with a PACS to a local machine. Note that these functions are not contained within a static class or some other class-style interface, because multiple connections can be instantiated in the same program. The DICOM standard is much more function oriented rather than class oriented in this instance, so the design of this API reflects that functional approach. These functions implements the following SCU operations: More...

#include <gdcmCompositeNetworkFunctions.h>

List of all members.

Public Types

typedef std::vector
< KeyValuePairType
KeyValuePairArrayType
typedef std::pair< Tag,
std::string > 
KeyValuePairType

Static Public Member Functions

static bool CEcho (const char *remote, uint16_t portno, const char *aetitle=NULL, const char *call=NULL)
static bool CFind (const char *remote, uint16_t portno, const BaseRootQuery *query, std::vector< DataSet > &retDataSets, const char *aetitle=NULL, const char *call=NULL)
static bool CMove (const char *remote, uint16_t portno, const BaseRootQuery *query, uint16_t portscp, const char *aetitle=NULL, const char *call=NULL, const char *outputdir=NULL)
static BaseRootQueryConstructQuery (ERootType inRootType, EQueryLevel inQueryLevel, const DataSet &queryds, bool inMove=false)
static BaseRootQueryConstructQuery (ERootType inRootType, EQueryLevel inQueryLevel, const KeyValuePairArrayType &keys, bool inMove=false)
static bool CStore (const char *remote, uint16_t portno, const Directory::FilenamesType &filenames, const char *aetitle=NULL, const char *call=NULL)

Detailed Description

Composite Network Functions These functions provide a generic API to the DICOM functions implemented in GDCM. Advanced users can use this code as a template for building their own versions of these functions (for instance, to provide progress bars or some other way of handling returned query information), but for most users, these functions should be sufficient to interface with a PACS to a local machine. Note that these functions are not contained within a static class or some other class-style interface, because multiple connections can be instantiated in the same program. The DICOM standard is much more function oriented rather than class oriented in this instance, so the design of this API reflects that functional approach. These functions implements the following SCU operations:


Member Typedef Documentation

typedef std::pair<Tag, std::string> gdcm::CompositeNetworkFunctions::KeyValuePairType

Member Function Documentation

static bool gdcm::CompositeNetworkFunctions::CEcho ( const char *  remote,
uint16_t  portno,
const char *  aetitle = NULL,
const char *  call = NULL 
) [static]

The most basic network function. Use this function to ensure that the remote server is responding on the given IP and port number as expected.

Parameters:
aetitle when not set will default to 'GDCMSCU'
call when not set will default to 'ANY-SCP' This is an error to set remote to NULL or portno to 0
Returns:
true if it worked.
static bool gdcm::CompositeNetworkFunctions::CFind ( const char *  remote,
uint16_t  portno,
const BaseRootQuery query,
std::vector< DataSet > &  retDataSets,
const char *  aetitle = NULL,
const char *  call = NULL 
) [static]

This function will use the provided query to determine what files a remote server contains that match the query strings. The return is a vector of datasets that contain tags as reported by the server. If the dataset is empty, then it is possible that an error condition was encountered; in which case, the user should monitor the error and warning streams.

Parameters:
aetitle when not set will default to 'GDCMSCU'
call when not set will default to 'ANY-SCP' This is an error to set remote to NULL or portno to 0
Returns:
true if it worked.
static bool gdcm::CompositeNetworkFunctions::CMove ( const char *  remote,
uint16_t  portno,
const BaseRootQuery query,
uint16_t  portscp,
const char *  aetitle = NULL,
const char *  call = NULL,
const char *  outputdir = NULL 
) [static]

This function will use the provided query to get files from a remote server. NOTE that this functionality is essentially equivalent to C-GET in the DICOM standard; however, C-GET has been deprecated, so this function allows for the user to ask a remote server for files matching a query and return them to the local machine. Files will be written to the given output directory. If the operation succeeds, the function returns true. This function is a prime candidate for being overwritten by expert users; if the datasets should remain in memory, for instance, that behavior can be changed by creating a user-level version of this function.

Parameters:
aetitle when not set will default to 'GDCMSCU'
call when not set will default to 'ANY-SCP' This is an error to set remote to NULL or portno to 0 when
outputdir is not set default to current dir ('.')
Returns:
true if it worked.
static BaseRootQuery* gdcm::CompositeNetworkFunctions::ConstructQuery ( ERootType  inRootType,
EQueryLevel  inQueryLevel,
const DataSet queryds,
bool  inMove = false 
) [static]

This function will take a list of strings and tags and fill in a query that can be used for either CFind or CMove (depending on the input boolean

Parameters:
inMove). Note that the caller is responsible for deleting the constructed query. This function is used to build both a move and a find query (true for inMove if it's move, false if it's find)
static BaseRootQuery* gdcm::CompositeNetworkFunctions::ConstructQuery ( ERootType  inRootType,
EQueryLevel  inQueryLevel,
const KeyValuePairArrayType keys,
bool  inMove = false 
) [static]
static bool gdcm::CompositeNetworkFunctions::CStore ( const char *  remote,
uint16_t  portno,
const Directory::FilenamesType filenames,
const char *  aetitle = NULL,
const char *  call = NULL 
) [static]

This function will place the provided files into the remote server. The function returns true if it worked for all files.

Warning:
the server side can refuse an association on a given file
Parameters:
aetitle when not set will default to 'GDCMSCU'
call when not set will default to 'ANY-SCP' This is an error to set remote to NULL or portno to 0
Returns:
true if it worked for all files

The documentation for this class was generated from the following file:

Generated on Mon Jul 29 2013 11:24:23 for GDCM by doxygen 1.7.1
SourceForge.net Logo