GDCM  2.2.3
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends
gdcm::BaseRootQuery Class Reference

BaseRootQuery contains: a baseclass which will produce a dataset for c-find and c-move with patient/study root. More...

#include <gdcmBaseRootQuery.h>

Inheritance diagram for gdcm::BaseRootQuery:
Inheritance graph
[legend]
Collaboration diagram for gdcm::BaseRootQuery:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual ~BaseRootQuery ()
void AddQueryDataSet (const DataSet &ds)
virtual UIDs::TSName GetAbstractSyntaxUID () const =0
DataSet const & GetQueryDataSet () const
 Set/Get the internal representation of the query as a DataSet.
DataSetGetQueryDataSet ()
EQueryLevel GetQueryLevelFromQueryRoot (ERootType roottype)
virtual std::vector< TagGetTagListByLevel (const EQueryLevel &inQueryLevel)=0
virtual void InitializeDataSet (const EQueryLevel &inQueryLevel)=0
void Print (std::ostream &os) const
void SetSearchParameter (const Tag &inTag, const std::string &inValue)
void SetSearchParameter (const std::string &inKeyword, const std::string &inValue)
virtual bool ValidateQuery (bool inStrict=true) const =0
const std::ostream & WriteHelpFile (std::ostream &os)
bool WriteQuery (const std::string &inFileName)

Static Public Member Functions

static QueryBaseConstruct (ERootType inRootType, EQueryLevel qlevel)
static int GetQueryLevelFromString (const char *str)
static const char * GetQueryLevelString (EQueryLevel ql)

Protected Member Functions

 BaseRootQuery ()
void SetSearchParameter (const Tag &inTag, const DictEntry &inDictEntry, const std::string &inValue)

Protected Attributes

DataSet mDataSet
std::string mHelpDescription
QueryImage mImage
QueryPatient mPatient
ERootType mRootType
QuerySeries mSeries
QueryStudy mStudy

Friends

class QueryFactory

Detailed Description

BaseRootQuery contains: a baseclass which will produce a dataset for c-find and c-move with patient/study root.

This class contains the functionality used in patient c-find and c-move queries. PatientRootQuery and StudyRootQuery derive from this class.

Namely: 1) list all tags associated with a particular query type 2) produce a query dataset via tag association

Eventually, it can be used to validate a particular dataset type.

The dataset held by this object (or, really, one of its derivates) should be passed to a c-find or c-move query.


Constructor & Destructor Documentation

virtual gdcm::BaseRootQuery::~BaseRootQuery ( ) [virtual]

Member Function Documentation

static QueryBase* gdcm::BaseRootQuery::Construct ( ERootType  inRootType,
EQueryLevel  qlevel 
) [static]
virtual UIDs::TSName gdcm::BaseRootQuery::GetAbstractSyntaxUID ( ) const [pure virtual]

Set/Get the internal representation of the query as a DataSet.

static int gdcm::BaseRootQuery::GetQueryLevelFromString ( const char *  str) [static]
static const char* gdcm::BaseRootQuery::GetQueryLevelString ( EQueryLevel  ql) [static]
virtual std::vector<Tag> gdcm::BaseRootQuery::GetTagListByLevel ( const EQueryLevel inQueryLevel) [pure virtual]

this function will return all tags at a given query level, so that they maybe selected for searching. The boolean forFind is true if the query is a find query, or false for a move query.

Implemented in gdcm::FindPatientRootQuery, gdcm::FindStudyRootQuery, gdcm::MovePatientRootQuery, and gdcm::MoveStudyRootQuery.

virtual void gdcm::BaseRootQuery::InitializeDataSet ( const EQueryLevel inQueryLevel) [pure virtual]

this function sets tag 8,52 to the appropriate value based on query level also fills in the right unique tags, as per the standard's requirements should allow for connection with dcmtk

Implemented in gdcm::FindPatientRootQuery, gdcm::FindStudyRootQuery, gdcm::MovePatientRootQuery, and gdcm::MoveStudyRootQuery.

void gdcm::BaseRootQuery::Print ( std::ostream &  os) const [virtual]

Reimplemented from gdcm::Object.

void gdcm::BaseRootQuery::SetSearchParameter ( const Tag inTag,
const DictEntry inDictEntry,
const std::string &  inValue 
) [protected]
void gdcm::BaseRootQuery::SetSearchParameter ( const Tag inTag,
const std::string &  inValue 
)
void gdcm::BaseRootQuery::SetSearchParameter ( const std::string &  inKeyword,
const std::string &  inValue 
)
virtual bool gdcm::BaseRootQuery::ValidateQuery ( bool  inStrict = true) const [pure virtual]

have to be able to ensure that 0x8,0x52 is set (which will be true if InitializeDataSet is called...) that the level is appropriate (ie, not setting PATIENT for a study query that the tags in the query match the right level (either required, unique, optional) by default, this function checks to see if the query is for finding, which is more permissive than for moving. For moving, only the unique tags are allowed. 10 Jan 2011: adding in the 'strict' mode. according to the standard (at least, how I've read it), only tags for a particular level should be allowed in a particular query (ie, just series level tags in a series level query). However, it seems that dcm4chee doesn't share that interpretation. So, if 'inStrict' is false, then tags from the current level and all higher levels are now considered valid. So, if you're doing a non-strict series-level query, tags from the patient and study level can be passed along as well.

Implemented in gdcm::FindStudyRootQuery, gdcm::MovePatientRootQuery, gdcm::MoveStudyRootQuery, and gdcm::FindPatientRootQuery.

const std::ostream& gdcm::BaseRootQuery::WriteHelpFile ( std::ostream &  os)
bool gdcm::BaseRootQuery::WriteQuery ( const std::string &  inFileName)

Friends And Related Function Documentation

friend class QueryFactory [friend]

Member Data Documentation

std::string gdcm::BaseRootQuery::mHelpDescription [protected]

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

Generated on Thu Nov 28 2013 07:02:51 for GDCM by doxygen 1.7.6.1
SourceForge.net Logo