An experimental DICOM tag decoder class for private Toshiba PMTF tags.
More...
#include <mlPMTFToshibaPrivateDICOMTagDecoders.h>
|
| void | _decodeTagArea (const std::string &prefix, const unsigned char *&tagDataOrig, MLuint32 &tagDataSize, PrivateDICOMTagValueFields &resultFields) const |
| void | _analyzeAndDump (const unsigned char *tagData, MLuint32 tagDataSize, PrivateDICOMTagValueFields &resultFields, bool isLastSection) const |
| bool | _extractDump (const DCMTree::Value &tagVal, PrivateDICOMTagValueFields &resultFields) const |
| bool | _getTagNameAndVrFromId (unsigned int groupId, unsigned int elementId, std::string &retName, std::string &retVr) const |
| const unsigned char * | _findStr (const unsigned char *buffer, const std::string &str, size_t bufferSize) const |
| PrivateDICOMTagDecoderPluginBase::DecodeStates | _decodeSequenceTagData (const std::string &prefix, const unsigned char *&tagData, MLuint32 &tagDataSize, bool implicit, PrivateDICOMTagValueFields &resultFields, bool translateStdIdToName) const |
| | GenericPrivateDICOMTagDecoder ()=default |
| | Constructor doing nothing.
|
| | GenericPrivateDICOMTagDecoder (const GenericPrivateDICOMTagDecoder &)=default |
| | Default copy constructor.
|
| GenericPrivateDICOMTagDecoder & | operator= (const GenericPrivateDICOMTagDecoder &)=default |
| | Default assignment operator.
|
| | ~GenericPrivateDICOMTagDecoder () override |
| | Destructor.
|
| PrivateDICOMTagDecoderPluginBase::DecodeStates | decodePrivateTag (const std::string &privateCreator, DCMTree::Const_TagPtr tagPtr, PrivateDICOMTagValueFields &resultFields) override |
| PrivateDICOMTagDecoderPluginBase::DecodeStates | extractTag (const std::string &prefix, const unsigned char *&tagData, MLuint32 &tagDataSize, bool decodeImplicitSeqVR, PrivateDICOMTagValueFields &resultFields, bool translateStdIdToName) const |
|
| 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='.') |
| static void | dumpHexArea (const std::string &prefix, const unsigned char *tagData, size_t tagDataSize, PrivateDICOMTagValueFields &resultFields, size_t rowSize=16, size_t maxBytesToDump=ML_SIZE_T_MAX) |
| static bool | isValidVRString (const std::string &vrStr) |
| | Returns true if the passed VR string is a valid known one, otherwise false.
|
An experimental DICOM tag decoder class for private Toshiba PMTF tags.
Definition at line 20 of file mlPMTFToshibaPrivateDICOMTagDecoders.h.
◆ PMTFToshibaPrivateDICOMTagDecoders()
| ml::PMTFToshibaPrivateDICOMTagDecoders::PMTFToshibaPrivateDICOMTagDecoders |
( |
| ) |
|
◆ ~PMTFToshibaPrivateDICOMTagDecoders()
| ml::PMTFToshibaPrivateDICOMTagDecoders::~PMTFToshibaPrivateDICOMTagDecoders |
( |
| ) |
|
|
override |
◆ _analyzeAndDump()
| void ml::PMTFToshibaPrivateDICOMTagDecoders::_analyzeAndDump |
( |
const unsigned char * | tagData, |
|
|
MLuint32 | tagDataSize, |
|
|
PrivateDICOMTagValueFields & | resultFields, |
|
|
bool | isLastSection ) const |
|
protected |
Expects the data of a private Toshiba PMTF tag value and tries to decode it as far as possible as human readable information appended to resultFields.
- Parameters
-
| tagData | The pointer to the tag value data to be decoded, may be nullptr. |
| tagDataSize | The number of bytes in tagData to be dumped. |
| resultFields | The container to be extended by decoded tag information. |
| isLastSection | If it is the last decoded section of the tag value then true must be passed, otherwise false. All successfully decoded tag information is appended as additional elements to resultFields. On failure or inappropriate input data resultFields is left unchanged. |
◆ _decodeTagArea()
| void ml::PMTFToshibaPrivateDICOMTagDecoders::_decodeTagArea |
( |
const std::string & | prefix, |
|
|
const unsigned char *& | tagDataOrig, |
|
|
MLuint32 & | tagDataSize, |
|
|
PrivateDICOMTagValueFields & | resultFields ) const |
|
protected |
Assume a range of DICOM tags in binary storage format used by Toshiba private tags and decode and add the tags inside of the area as human readable information to resultFields as far as possible. Note that this function expects the data in reverse order as it is stored in Toshiba private PMTF tags.
- Parameters
-
| prefix | String added before each entry added to resultFields. |
| tagDataOrig | The pointer to the tag data to be decoded, may be nullptr. |
| tagDataSize | The number of bytes in tagData to be dumped. |
| resultFields | The container to be extended with extracted header, section, and tag information. All successfully decoded tag information is appended as additional elements to resultFields. On failure or inappropriate input data resultFields is left unchanged. |
◆ _extractDump()
Expects the tag value of a private Toshiba PMTF tag and tries to decode it as far as possible as human readable information appended to resultFields.
- Parameters
-
| tagVal | The value of the private Toshiba PMTF tag to be decoded. |
| resultFields | The container to be extended by decoded tag information. |
- Returns
- All successfully decoded tag information is appended as additional elements to resultFields. On failure or inappropriate input data resultFields is left unchanged.
References PMTFToshibaPrivateDICOMTagDecoders().
◆ decodePrivateTag()
If a private Toshiba PMTF header tag is passed then this routine converts its data element(s) to fields in resultFields container. The privateCreator must be a "PMTF INFORMATION DATA" one.
- Parameters
-
| privateCreator | A string with the name of the private creator this tags belongs to. |
| tagPtr | The tag whose value shall be decoded. |
| resultFields | The field container to be filled with extracted information from tagPtr or returned empty if no data could be decoded. |
- Returns
- PrivateDICOMTagDecoderPluginBase::NOT_DECODED if the tag could not be decoded, PrivateDICOMTagDecoderPluginBase::PARTIALLY_DECODED if some of the tag value components were decoded or PrivateDICOMTagDecoderPluginBase::FULLY_DECODED if entire tag value could be decoded.
◆ flipBuffer()
| void ml::PMTFToshibaPrivateDICOMTagDecoders::flipBuffer |
( |
T * | arr, |
|
|
size_t | n ) const |
|
inline |
The documentation for this class was generated from the following file: