57 const unsigned char *tagData,
81 const unsigned char *&tagData,
83 bool decodeImplicitSeqVR,
85 bool translateStdIdToName)
const;
100 unsigned int elementId,
101 std::string &retName,
102 std::string &retVr)
const;
110 const unsigned char *
_findStr(
const unsigned char *buffer,
111 const std::string &str,
112 size_t bufferSize)
const;
135 bool showStartAddress =
true,
136 bool showHexDump =
true,
137 bool showASCII =
true,
138 size_t maxRowSize = 16,
139 char defaultNonReadableChar =
'.');
155 const unsigned char *&tagData,
159 bool translateStdIdToName)
const;
178 void _decodeATTagData(
const std::string &prefix,
bool useImplicitVR,
const unsigned char *tagData,
182 void _decodeDLTagData(
const std::string &prefix,
bool useImplicitVR,
const unsigned char *tagData,
186 void _decodeFDTagData(
const std::string &prefix,
bool useImplicitVR,
const unsigned char *tagData,
190 void _decodeFLTagData(
const std::string &prefix,
bool useImplicitVR,
const unsigned char *tagData,
194 void _decodeOXTagData(
const std::string &prefix,
bool useImplicitVR,
const unsigned char *tagData,
199 const std::string &VRstr)
const;
202 void _decodeSQTagData(
const std::string &prefix,
bool useImplicitVR,
const unsigned char *tagData,
204 bool decodeImplicitSeqVR,
205 bool translateStdIdToName)
const;
208 void _decodeSLTagData(
const std::string &prefix,
bool useImplicitVR,
const unsigned char *tagData,
212 void _decodeSSTagData(
const std::string &prefix,
bool useImplicitVR,
const unsigned char *tagData,
216 void _decodeULTagData(
const std::string &prefix,
bool useImplicitVR,
const unsigned char *tagData,
220 void _decodeUSTagData(
const std::string &prefix,
bool useImplicitVR,
const unsigned char *tagData,
227 void _decodeUNTagData(
const std::string &prefix,
bool useImplicitVR,
const unsigned char *tagData,
231 void _decodeStrLikeTagData(
const std::string &prefix,
bool useImplicitVR,
const unsigned char *tagData,
236 std::string &strValue)
const;
252 bool _decodeVrTagData(
const std::string &prefix,
254 const unsigned char *tagData,
259 bool decodeImplicitSeqVR,
260 const std::string &vr,
261 std::string &strValue,
262 bool translateStdIdToName)
const;
The GenericPrivateDICOMTagDecoder class is a default decoder usable for all private DICOM tags as wel...
static void dumpHexArea(const std::string &prefix, const unsigned char *tagData, size_t tagDataSize, PrivateDICOMTagValueFields &resultFields, size_t rowSize=16)
Add a range of bytes as a hex dump to the PrivateDICOMTagValueFields resultFields as "otherInfo" tag ...
GenericPrivateDICOMTagDecoder()
Constructor doing nothing.
PrivateDICOMTagDecoderPluginBase::DecodeStates extractTag(const std::string &prefix, const unsigned char *&tagData, MLuint32 &tagDataSize, bool decodeImplicitSeqVR, PrivateDICOMTagValueFields &resultFields, bool translateStdIdToName) const
Assume a DICOM tag as binary data and add human readable information to resultFields of the tag id,...
~GenericPrivateDICOMTagDecoder() override
PrivateDICOMTagDecoderPluginBase::DecodeStates _decodeSequenceTagData(const std::string &prefix, const unsigned char *&tagData, MLuint32 &tagDataSize, bool implicit, PrivateDICOMTagValueFields &resultFields, bool translateStdIdToName) const
Extract a sequence of DICOM tag values whose value representations are given in VRs.
PrivateDICOMTagDecoderPluginBase::DecodeStates decodePrivateTag(const std::string &privateCreator, DCMTree::Const_TagPtr tagPtr, PrivateDICOMTagValueFields &resultFields) override
If a private Toshiba PMTF header tag is passed then this routine converts its data element(s) to fiel...
static std::string _dumpRange(const unsigned char *start, size_t num=16, bool showStartAddress=true, bool showHexDump=true, bool showASCII=true, size_t maxRowSize=16, char defaultNonReadableChar='.')
Creates a string containing one row with a hexadecimal start address of the buffer,...
bool _getTagNameAndVrFromId(unsigned int groupId, unsigned int elementId, std::string &retName, std::string &retVr) const
Determines the tag name and value representation corresponding to a tag id given by groupId and eleme...
const unsigned char * _findStr(const unsigned char *buffer, const std::string &str, size_t bufferSize) const
Returns the pointer to the first occurrence of str in the buffer given by buffer and bufferSize.
static bool isValidVRString(const std::string &vrStr)
Returns true if the passed VR string is a valid known one, otherwise false.
Base class for plugins decoding private DICOM tags to a PrivateDICOMTagValueFields container.
DecodeStates
Return states of decoding.
List type managing and maintaining a number of PrivateDICOMTagValueFields::PrivateTagField containers...
#define ML_CLASS_HEADER(className)
Same like ML_CLASS_HEADER_EXPORTED with a non existing export symbol.
boost::shared_ptr< const Tag > Const_TagPtr