📄 dsrnumvl.h
字号:
inline const OFString &getNumericValue() const { return NumericValue; } /** get measurement unit ** @return reference to current measurement unit code (might be invalid or empty) */ inline const DSRCodedEntryValue &getMeasurementUnit() const { return MeasurementUnit; } /** get numeric value qualifier (optional) ** @return reference to current numeric value qualifier code (might be invalid or empty) */ inline const DSRCodedEntryValue &getNumericValueQualifier() const { return ValueQualifier; } /** get copy of measurement unit ** @param measurementUnit reference to variable in which the code should be stored ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition getMeasurementUnit(DSRCodedEntryValue &measurementUnit) const; /** set numeric measurement value. * Before setting the value it is checked (see checkXXX()). If the value is invalid * the current value is not replaced and remains unchanged. ** @param numericMeasurement value to be set ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition setValue(const DSRNumericMeasurementValue &numericMeasurement); /** set numeric value and measurement unit. * Before setting the values they are checked (see checkXXX()). If the value pair is * invalid the current value pair is not replaced and remains unchanged. ** @param numericValue numeric value to be set * @param measurementUnit measurement unit to be set ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition setValue(const OFString &numericValue, const DSRCodedEntryValue &measurementUnit); /** set numeric value, measurement unit and numeric value qualifier. * Before setting the values they are checked (see checkXXX()). If one of the three * values is invalid the current numeric measurement value is not replaced and remains * unchanged. ** @param numericValue numeric value to be set * @param measurementUnit measurement unit to be set * @param valueQualifier numeric value qualifier to be set ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition setValue(const OFString &numericValue, const DSRCodedEntryValue &measurementUnit, const DSRCodedEntryValue &valueQualifier); /** set numeric value. * Before setting the value it is checked (see checkNumericValue()). If the value is * invalid the current value is not replaced and remains unchanged. ** @param numericValue numeric value to be set (VR=DS) ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition setNumericValue(const OFString &numericValue); /** set measurement unit. * Before setting the code it is checked (see checkMeasurementUnit()). If the code is * invalid the current code is not replaced and remains unchanged. ** @param measurementUnit measurement unit to be set ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition setMeasurementUnit(const DSRCodedEntryValue &measurementUnit); /** set numeric value qualifier. * This optional code specifies the qualification of the Numeric Value in the Measured * Value Sequence, or the reason for the absence of the Measured Value Sequence Item. * Before setting the code it is checked (see checkNumericValueQualifier()). If the * code is invalid the current code is not replaced and remains unchanged. ** @param valueQualifier numeric value qualifier to be set ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition setNumericValueQualifier(const DSRCodedEntryValue &valueQualifier); /** check if this value contains non-ASCII characters. * @return true if value contains non-ASCII characters, false otherwise */ OFBool valueContainsExtendedCharacters() const; protected: /** get pointer to numeric measurement value ** @return pointer to numeric measurement value (never NULL) */ inline DSRNumericMeasurementValue *getValuePtr() { return this; } /** read numeric measurement value from dataset ** @param dataset DICOM dataset from which the value should be read * @param logStream pointer to error/warning output stream (output disabled if NULL) ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition readItem(DcmItem &dataset, OFConsole *logStream); /** write numeric measurement value to dataset ** @param dataset DICOM dataset to which the value should be written * @param logStream pointer to error/warning output stream (output disabled if NULL) ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition writeItem(DcmItem &dataset, OFConsole *logStream) const; /** check the specified numeric value for validity. * Currently the only check that is performed is that the string is not empty. Later * on it might be checked whether the format conforms to the definition of DS. ** @param numericValue numeric value to be checked ** @return OFTrue if numeric value is valid, OFFalse otherwise */ virtual OFBool checkNumericValue(const OFString &numericValue) const; /** check the specified measurement unit for validity. * The isValid() method in class DSRCodedEntryValue is used for this purpose. ** @param measurementUnit measurement unit to be checked ** @return OFTrue if measurement unit is valid, OFFalse otherwise */ virtual OFBool checkMeasurementUnit(const DSRCodedEntryValue &measurementUnit) const; /** check the specified numeric value qualifier for validity. * The isEmpty() and isValid() methods in class DSRCodedEntryValue are used for this * purpose. The conformance with the Context Group 42 (as defined in the DICOM * standard) is not yet checked. ** @param valueQualifier numeric value qualifier to be checked ** @return OFTrue if value qualifier is valid, OFFalse otherwise */ virtual OFBool checkNumericValueQualifier(const DSRCodedEntryValue &valueQualifier) const; private: /// numeric value (VR=DS, type 1) OFString NumericValue; /// measurement unit (type 2) DSRCodedEntryValue MeasurementUnit; /// numeric value qualifier (type 3) DSRCodedEntryValue ValueQualifier;};#endif/* * CVS/RCS Log: * $Log: dsrnumvl.h,v $ * Revision 1.10 2005/12/08 16:05:11 meichel * Changed include path schema for all DCMTK header files * * Revision 1.9 2004/11/22 16:39:09 meichel * Added method that checks if the SR document contains non-ASCII characters * in any of the strings affected by SpecificCharacterSet. * * Revision 1.8 2003/08/07 12:43:44 joergr * Added readXML functionality. * * Revision 1.7 2002/12/10 13:20:07 joergr * Added support for the Numeric Value Qualifier Code Sequence (introduced with * CP 260). * * Revision 1.6 2001/09/26 13:04:09 meichel * Adapted dcmsr to class OFCondition * * Revision 1.5 2001/06/01 15:51:02 meichel * Updated copyright header * * Revision 1.4 2000/11/06 11:17:40 joergr * Moved some protected methods to public part. * * Revision 1.3 2000/11/01 16:23:22 joergr * Added support for conversion to XML. * * Revision 1.2 2000/10/18 17:05:12 joergr * Added methods allowing direct access to certain content item values. * Added doc++ comments. * Made some functions inline. * * Revision 1.1 2000/10/13 07:49:29 joergr * Added new module 'dcmsr' providing access to DICOM structured reporting * documents (supplement 23). Doc++ documentation not yet completed. * * */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -