DYT/Tool/3rdParty_x64/include/dcmtk/dcmsr/cmr/cid29e.h
2024-11-22 23:19:31 +08:00

95 lines
3.6 KiB
C++

/*
*
* Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* All rights reserved. See COPYRIGHT file for details.
*
* Header file for class CID29e_AcquisitionModality
*
* Author: Joerg Riesmeier
*
*/
#ifndef CMR_CID29E_H
#define CMR_CID29E_H
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/dcmsr/cmr/cid29.h"
/*---------------------*
* class declaration *
*---------------------*/
/** DCMR Context Group with enhanced functionality:
* CID 29 - Acquisition Modality.
*/
class DCMTK_CMR_EXPORT CID29e_AcquisitionModality
: public CID29_AcquisitionModality
{
public:
/** (default) constructor
** @param selectedValue coded entry to be selected as the current value (optional).
* Should be a valid code according to the DICOM definitions
* for this context group, i.e. no checks are performed.
* Call DSRContextGroup::checkSelectedValue() if needed.
*/
CID29e_AcquisitionModality(const DSRCodedEntryValue &selectedValue = DSRCodedEntryValue());
/** constructor
** @param selectedValue type mapped to a coded entry that is selected as the
* current value
** @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
*/
CID29e_AcquisitionModality(const EnumType selectedValue,
const OFBool enhancedEncodingMode = OFFalse);
/** select a coded entry given by its associated defined term as the current value
** @param selectedValue defined term for Modality (0008,0060) mapped to a coded
* entry that is selected as the current value
* @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
** @return status, EC_Normal if successful, an error code otherwise
*/
virtual OFCondition selectValue(const OFString &selectedValue,
const OFBool enhancedEncodingMode = OFFalse);
/** map a defined term for Modality (0008,0060) to the associated coded entry
** @param definedTerm defined term that should be mapped to a coded entry
* @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
** @return coded entry that is associated with the given defined term, or an empty value
* if none was found
*/
DSRCodedEntryValue mapModality(const OFString &definedTerm,
const OFBool enhancedEncodingMode = OFFalse) const;
/** map a defined term for Modality (0008,0060) to the associated coded entry
** @param definedTerm defined term that should be mapped to a coded entry
* @param codedEntryValue reference to variable where the resulting coded entry is
* stored. This variable is not cleared in case of error.
* @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
** @return status, EC_Normal if successful, an error code otherwise
*/
OFCondition mapModality(const OFString &definedTerm,
DSRCodedEntryValue &codedEntryValue,
const OFBool enhancedEncodingMode = OFFalse) const;
// --- reintroduce method from base class
using CID29_AcquisitionModality::selectValue;
};
/*-------------------*
* type definition *
*-------------------*/
// define short name for the context group class
typedef CID29e_AcquisitionModality CMR_CID29e;
#endif