MeVisLab Toolbox Reference
ml::PrivateSequenceDICOMTagDecoders Class Reference

An experimental decoder for private DICOM sequence tags. More...

#include <mlPrivateSequenceDICOMTagDecoders.h>

Inheritance diagram for ml::PrivateSequenceDICOMTagDecoders:
ml::GenericPrivateDICOMTagDecoder

Public Member Functions

 PrivateSequenceDICOMTagDecoders ()
 Constructor doing nothing.
 ~PrivateSequenceDICOMTagDecoders () override
PrivateDICOMTagDecoderPluginBase::DecodeStates decodePrivateTag (const std::string &privateCreator, DCMTree::Const_TagPtr tagPtr, PrivateDICOMTagValueFields &resultFields) override

Protected Member Functions

PrivateDICOMTagDecoderPluginBase::DecodeStates _extractDump (const DCMTree::Value &tagVal, bool implicit, PrivateDICOMTagValueFields &resultFields) const
Protected Member Functions inherited from ml::GenericPrivateDICOMTagDecoder
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.
GenericPrivateDICOMTagDecoderoperator= (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

Additional Inherited Members

Static Protected Member Functions inherited from ml::GenericPrivateDICOMTagDecoder
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.

Detailed Description

An experimental decoder for private DICOM sequence tags.

Definition at line 20 of file mlPrivateSequenceDICOMTagDecoders.h.

Constructor & Destructor Documentation

◆ PrivateSequenceDICOMTagDecoders()

ml::PrivateSequenceDICOMTagDecoders::PrivateSequenceDICOMTagDecoders ( )

Constructor doing nothing.

Referenced by _extractDump().

◆ ~PrivateSequenceDICOMTagDecoders()

ml::PrivateSequenceDICOMTagDecoders::~PrivateSequenceDICOMTagDecoders ( )
override

Member Function Documentation

◆ _extractDump()

PrivateDICOMTagDecoderPluginBase::DecodeStates ml::PrivateSequenceDICOMTagDecoders::_extractDump ( const DCMTree::Value & tagVal,
bool implicit,
PrivateDICOMTagValueFields & resultFields ) const
protected

Expects the tag value of a private sequence tag and tries to decode it as far as possible as human readable information appended to resultFields.

Parameters
tagValThe value of the private sequence tag to be decoded.
implicitIf false then an explicitly coded tag is assumed, otherwise the VR is determined from the tag id.
resultFieldsThe 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 might be changed and extended by all information up to the error position. The return code shows whether a full, partial or no decoding took place.

References PrivateSequenceDICOMTagDecoders().

◆ decodePrivateTag()

PrivateDICOMTagDecoderPluginBase::DecodeStates ml::PrivateSequenceDICOMTagDecoders::decodePrivateTag ( const std::string & privateCreator,
DCMTree::Const_TagPtr tagPtr,
PrivateDICOMTagValueFields & resultFields )
override

If a private sequence tag is passed then this routine tried to converts its data element(s) to fields in resultFields container. The privateCreator must be a "GEIIS" or a "KONICA1.0" one.

Parameters
privateCreatorA string with the name of the private creator this tags belongs to.
tagPtrThe tag whose value shall be decoded.
resultFieldsThe 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.

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