GDCM: gdcm::BaseRootQuery Class Reference

GDCM 3.2.11

Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
gdcm::BaseRootQuery Class Referenceabstract

BaseRootQuery. More...

`#include <gdcmBaseRootQuery.h>`

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

## Public Member Functions
| ~BaseRootQuery () override=default
EQueryLevel | GetQueryLevelFromQueryRoot (ERootType roottype)
virtual std::vector< Tag > | GetTagListByLevel (const EQueryLevel &inQueryLevel)=0
virtual void | InitializeDataSet (const EQueryLevel &inQueryLevel)=0
bool | ValidateQuery (bool inStrict=true) const override=0
Public Member Functions inherited from gdcm::BaseQuery
| ~BaseQuery () override
void | AddQueryDataSet (const DataSet &ds)
virtual UIDs::TSName | GetAbstractSyntaxUID () const =0
DataSet & | GetQueryDataSet ()
DataSet const & | GetQueryDataSet () const
| Set/Get the internal representation of the query as a DataSet.
std::string | GetSOPInstanceUID () const
void | Print (std::ostream &os) const override
void | SetSearchParameter (const std::string &inKeyword, const std::string &inValue)
void | SetSearchParameter (const Tag &inTag, const std::string &inValue)
void | SetSOPInstanceUID (const std::string &iSopInstanceUID)
const std::ostream & | WriteHelpFile (std::ostream &os)
bool | WriteQuery (const std::string &inFileName)
Public Member Functions inherited from gdcm::Object
| Object ()
| Object (const Object &)
| Special requirement for copy/cstor, assignment operator.
virtual | ~Object ()
void | operator= (const Object &)

## Static Public Member Functions
static QueryBase * | Construct (ERootType inRootType, EQueryLevel qlevel)
static int | GetQueryLevelFromString (const char *str)
static const char * | GetQueryLevelString (EQueryLevel ql)

## Protected Member Functions
| BaseRootQuery ()
Protected Member Functions inherited from gdcm::BaseQuery
| BaseQuery ()
void | SetSearchParameter (const Tag &inTag, const DictEntry &inDictEntry, const std::string &inValue)
bool | ValidDataSet (const DataSet &dataSetToValid, const DataSet &dataSetReference) const
Protected Member Functions inherited from gdcm::Object
void | Register ()
void | UnRegister ()

## Protected Attributes
std::string | mHelpDescription
QueryImage | mImage
QueryPatient | mPatient
ERootType | mRootType
QuerySeries | mSeries
QueryStudy | mStudy
Protected Attributes inherited from gdcm::BaseQuery
DataSet | mDataSet
std::string | mSopInstanceUID

## 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

## ◆ BaseRootQuery()

gdcm::BaseRootQuery::BaseRootQuery | ( |  | ) |
| protected

## ◆ ~BaseRootQuery()

gdcm::BaseRootQuery::~BaseRootQuery | ( |  | ) |
| overridedefault

## Member Function Documentation

## ◆ Construct()

QueryBase * gdcm::BaseRootQuery::Construct | ( | ERootType | inRootType,
|  | EQueryLevel | qlevel )
| static

## ◆ GetQueryLevelFromQueryRoot()

EQueryLevel gdcm::BaseRootQuery::GetQueryLevelFromQueryRoot | ( | ERootType | roottype | ) |

## ◆ GetQueryLevelFromString()

int gdcm::BaseRootQuery::GetQueryLevelFromString | ( | const char * | str | ) |
| static

## ◆ GetQueryLevelString()

const char * gdcm::BaseRootQuery::GetQueryLevelString | ( | EQueryLevel | ql | ) |
| static

## ◆ GetTagListByLevel()

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, gdcm::MoveStudyRootQuery, and gdcm::WLMFindQuery.

## ◆ InitializeDataSet()

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, gdcm::MoveStudyRootQuery, and gdcm::WLMFindQuery.

## ◆ ValidateQuery()

bool gdcm::BaseRootQuery::ValidateQuery | ( | bool | inStrict = true | ) | const
| overridepure 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.

Implements gdcm::BaseQuery.

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

## Friends And Related Symbol Documentation

## ◆ QueryFactory

friend class QueryFactory
| friend

References QueryFactory.

Referenced by QueryFactory.

## Member Data Documentation

## ◆ mHelpDescription

std::string gdcm::BaseRootQuery::mHelpDescription
| protected

## ◆ mImage

QueryImage gdcm::BaseRootQuery::mImage
| protected

## ◆ mPatient

QueryPatient gdcm::BaseRootQuery::mPatient
| protected

## ◆ mRootType

ERootType gdcm::BaseRootQuery::mRootType
| protected

## ◆ mSeries

QuerySeries gdcm::BaseRootQuery::mSeries
| protected

## ◆ mStudy

QueryStudy gdcm::BaseRootQuery::mStudy
| protected

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

- gdcmBaseRootQuery.h