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

#include <gdcmBaseRootQuery.h>

Inheritance diagram for gdcm::BaseRootQuery:
[legend]
Collaboration diagram for gdcm::BaseRootQuery:
[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 ()
virtual std::vector< TagGetTagListByLevel (const EQueryLevel &inQueryLevel)=0
virtual void InitializeDataSet (const EQueryLevel &inQueryLevel)=0
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
virtual const std::ostream & WriteHelpFile (std::ostream &os)
virtual bool WriteQuery (const std::string &inFileName)
- Public Member Functions inherited from gdcm::Object
 Object ()
 Object (const Object &)
 Special requirement for copy/cstor, assigment operator.
virtual ~Object ()
void operator= (const Object &)
virtual void Print (std::ostream &) const

Protected Member Functions

 BaseRootQuery ()
void SetSearchParameter (const Tag &inTag, const DictEntry &inDictEntry, const std::string &inValue)
- Protected Member Functions inherited from gdcm::Object
void Register ()
void UnRegister ()

Protected Attributes

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

Friends

class QueryFactory

Constructor & Destructor Documentation

gdcm::BaseRootQuery::BaseRootQuery ( )
protected
virtual gdcm::BaseRootQuery::~BaseRootQuery ( )
virtual

Member Function Documentation

void gdcm::BaseRootQuery::AddQueryDataSet ( const DataSet ds)
virtual UIDs::TSName gdcm::BaseRootQuery::GetAbstractSyntaxUID ( ) const
pure virtual
DataSet const& gdcm::BaseRootQuery::GetQueryDataSet ( ) const

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

DataSet& gdcm::BaseRootQuery::GetQueryDataSet ( )
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::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.

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

Friends And Related Function Documentation

friend class QueryFactory
friend

Member Data Documentation

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

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

Generated on Wed Jun 13 2012 20:40:38 for GDCM by doxygen 1.8.1
SourceForge.net Logo