MeVisLab Toolbox Reference
mlPMTFToshibaPrivateDICOMTagDecoders.h
Go to the documentation of this file.
1// Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2// **InsertLicense** code
3//----------------------------------------------------------------------------------
5
10//----------------------------------------------------------------------------------
11
12#pragma once
13
16
17ML_START_NAMESPACE
18
22
23public:
26
28
41 PrivateDICOMTagValueFields& resultFields) override;
42
44 template <typename T>
45 inline void flipBuffer( T *arr , size_t n) const
46 {
47 const size_t numSwaps = n/2;
48 size_t i = 0;
49 while(i < numSwaps){
50 std::swap(arr[i], arr[n-i-1]);
51 i++;
52 }
53 }
54
55protected:
56
70 void _decodeTagArea(const std::string& prefix,
71 const unsigned char*& tagDataOrig,
72 MLuint32& tagDataSize,
73 PrivateDICOMTagValueFields& resultFields) const;
74
75
86 void _analyzeAndDump(const unsigned char* tagData,
87 MLuint32 tagDataSize,
88 PrivateDICOMTagValueFields& resultFields,
89 bool isLastSection) const;
90
98 bool _extractDump(const DCMTree::Value& tagVal,
99 PrivateDICOMTagValueFields& resultFields) const;
100
101private:
104};
105
106ML_END_NAMESPACE
Project global and OS specific declarations.
#define ML_PMTF_TOSHIBA_PRIVATE_DICOM_TAG_DECODERS_EXPORT
DLL export macro definition.
@ T
Class to store tag values.
The GenericPrivateDICOMTagDecoder class is a default decoder usable for all private DICOM tags as wel...
An experimental DICOM tag decoder class for private Toshiba PMTF tags.
void _analyzeAndDump(const unsigned char *tagData, MLuint32 tagDataSize, PrivateDICOMTagValueFields &resultFields, bool isLastSection) const
Expects the data of a private Toshiba PMTF tag value and tries to decode it as far as possible as hum...
void flipBuffer(T *arr, size_t n) const
Helper routine reverting order of n elements starting at arr.
bool _extractDump(const DCMTree::Value &tagVal, PrivateDICOMTagValueFields &resultFields) const
Expects the tag value of a private Toshiba PMTF tag and tries to decode it as far as possible as huma...
PMTFToshibaPrivateDICOMTagDecoders()
Constructor doing nothing.
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...
void _decodeTagArea(const std::string &prefix, const unsigned char *&tagDataOrig, MLuint32 &tagDataSize, PrivateDICOMTagValueFields &resultFields) const
Assume a range of DICOM tags in binary storage format used by Toshiba private tags and decode and add...
List type managing and maintaining a number of PrivateDICOMTagValueFields::PrivateTagField containers...
Header file of class GenericPrivateDICOMTagDecoder which is a default decoder usable for all private ...
#define ML_CLASS_HEADER(className)
Same like ML_CLASS_HEADER_EXPORTED with a non-existing export symbol.
unsigned int MLuint32
Definition mlTypeDefs.h:184
boost::shared_ptr< const Tag > Const_TagPtr
Definition DCMTree_Lib.h:57