MeVisLab Toolbox Reference
ml::CIDGroups Namespace Reference

Enumerations

enum  { NUM_CID_COLUMNS = 7 }
 The number of columns in the CID tables. More...
 
enum  { NUM_CID_8_Angiographic_Interventional_Devices = 15 }
 Number of codes from DICOM Part 16, CID 8 Angiographic Interventional Devices. More...
 
enum  { NUM_CID_244_Laterality = 4 }
 Number of codes from DICOM Part 16, CID 244 Laterality. More...
 
enum  { NUM_CID_3829_Pulmonary_Arteries = 5 }
 Number of codes from DICOM Part 16, CID 3829 Pulmonary Arteries. More...
 
enum  { NUM_CID_7063_Model_Scale_Units = 4 }
 Number of codes from DICOM Part 16, CID 7063 Model Scale Units. More...
 
enum  { NUM_CID_7150_Segmentation_Property_Categories = 7 }
 Number of codes from DICOM Part 16, CID 7150 Segmentation Property Categories. More...
 
enum  { NUM_CID_7151_Segmentation_Property_Types }
 Number of codes from DICOM Part 16, CID 7151 Segmentation Property Types. More...
 
enum  { NUM_CID_7202_Source_Image_Purposes_of_Reference = 8 }
 Number of codes from DICOM Part 16, CID 7202 Source Image Purposes of Reference. More...
 
enum  { NUM_CID_7203_Image_Derivation = 51 }
 Number of codes from DICOM Part 16, CID 7203 Image Derivation. More...
 

Functions

MLDICOMTags_EXPORT std::vector< std::string > getCIDEntryAsStringVector (const char *const CIDGroup[][NUM_CID_COLUMNS], size_t CIDGroupSize, const std::string &sep0="", size_t column0=std::string::npos, const std::string &sep1="", size_t column1=std::string::npos, const std::string &sep2="", size_t column2=std::string::npos, const std::string &sep3="", size_t column3=std::string::npos, const std::string &sep4="", size_t column4=std::string::npos, const std::string &sep5="", size_t column5=std::string::npos, const std::string &sep6="", size_t column6=std::string::npos, const std::string &sep7="")
 Returns a concatenation of at most three columns of all CIDGroup[][column] entries of the given CIDGroup as a std::vector< std::string >; column entries are introduced, separated, and completed with given separators sep0-NUM_CID_COLUMNS. More...
 
MLDICOMTags_EXPORT size_t findCIDEntry (const char *const CIDGroupTable[][NUM_CID_COLUMNS], size_t CIDGroupTableSize, const std::string &entryToFind)
 Returns index X of entry of CIDGroupTable[X] where entryToFind appears the first time, otherwise std::string::npos is returned. More...
 
MLDICOMTags_EXPORT bool decomposeCIDContextGroupSequenceString (const char *const CIDGroupTable[][NUM_CID_COLUMNS], size_t CIDGroupTableSize, const std::string &contextGroupSequence, ReleaseToolsString::StringVector &resultVector)
 Decomposed the string contextGroupSequence which assumes that it is a composition of CID Code Values followed by a _CIDEditCodeAndDescriptionSeparator and a descriptive string where multiple of these Code Value - Description strings may be composed by _CIDEntrySeparator components. More...
 

Variables

MLDICOMTags_EXPORT const char * CIDEditCodeAndDescriptionSeparator
 Separator used between Code Value and descriptive string. More...
 
MLDICOMTags_EXPORT const char * CIDEntrySeparator
 Separator used between multiple code value entries. More...
 
MLDICOMTags_EXPORT const char *const CID_8_Angiographic_Interventional_Devices [NUM_CID_8_Angiographic_Interventional_Devices][NUM_CID_COLUMNS]
 Codes from DICOM Part 16, CID 8 Angiographic Interventional Devices. More...
 
MLDICOMTags_EXPORT const char *const CID_244_Laterality [NUM_CID_244_Laterality][NUM_CID_COLUMNS]
 Codes from DICOM Part 16, CID 244 Laterality. More...
 
MLDICOMTags_EXPORT const char *const CID_3829_Pulmonary_Arteries [NUM_CID_3829_Pulmonary_Arteries][NUM_CID_COLUMNS]
 Codes from DICOM Part 16, CID 3829 Pulmonary Arteries. More...
 
MLDICOMTags_EXPORT const char *const CID_7063_Model_Scale_Units [NUM_CID_7063_Model_Scale_Units][NUM_CID_COLUMNS]
 Codes from DICOM Part 16, CID 7063 Model Scale Units. More...
 
MLDICOMTags_EXPORT const char *const CID_7150_Segmentation_Property_Categories [NUM_CID_7150_Segmentation_Property_Categories][NUM_CID_COLUMNS]
 Codes from DICOM Part 16, CID 7150 Segmentation Property Categories. More...
 
MLDICOMTags_EXPORT const char *const CID_7151_Segmentation_Property_Types [NUM_CID_7151_Segmentation_Property_Types][NUM_CID_COLUMNS]
 Codes from DICOM Part 16, CID 7151 Segmentation Property Types. More...
 
MLDICOMTags_EXPORT const char *const CID_7202_Source_Image_Purposes_of_Reference [NUM_CID_7202_Source_Image_Purposes_of_Reference][NUM_CID_COLUMNS]
 Codes from DICOM Part 16, CID 7202 Source Image Purposes of Reference. More...
 
MLDICOMTags_EXPORT const char *const CID_7203_Image_Derivation [NUM_CID_7203_Image_Derivation][NUM_CID_COLUMNS]
 Codes from DICOM Part 16, CID 7203 Image Derivation. More...
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

The number of columns in the CID tables.

Enumerator
NUM_CID_COLUMNS 

Definition at line 35 of file DICOMPart16Tables.h.

◆ anonymous enum

anonymous enum

Number of codes from DICOM Part 16, CID 8 Angiographic Interventional Devices.

Enumerator
NUM_CID_8_Angiographic_Interventional_Devices 

Definition at line 121 of file DICOMPart16Tables.h.

◆ anonymous enum

anonymous enum

Number of codes from DICOM Part 16, CID 244 Laterality.

Enumerator
NUM_CID_244_Laterality 

Definition at line 128 of file DICOMPart16Tables.h.

◆ anonymous enum

anonymous enum

Number of codes from DICOM Part 16, CID 3829 Pulmonary Arteries.

Enumerator
NUM_CID_3829_Pulmonary_Arteries 

Definition at line 135 of file DICOMPart16Tables.h.

◆ anonymous enum

anonymous enum

Number of codes from DICOM Part 16, CID 7063 Model Scale Units.

Enumerator
NUM_CID_7063_Model_Scale_Units 

Definition at line 142 of file DICOMPart16Tables.h.

◆ anonymous enum

anonymous enum

Number of codes from DICOM Part 16, CID 7150 Segmentation Property Categories.

Enumerator
NUM_CID_7150_Segmentation_Property_Categories 

Definition at line 169 of file DICOMPart16Tables.h.

◆ anonymous enum

anonymous enum

Number of codes from DICOM Part 16, CID 7151 Segmentation Property Types.

Enumerator
NUM_CID_7151_Segmentation_Property_Types 

Definition at line 176 of file DICOMPart16Tables.h.

◆ anonymous enum

anonymous enum

Number of codes from DICOM Part 16, CID 7202 Source Image Purposes of Reference.

Enumerator
NUM_CID_7202_Source_Image_Purposes_of_Reference 

Definition at line 187 of file DICOMPart16Tables.h.

◆ anonymous enum

anonymous enum

Number of codes from DICOM Part 16, CID 7203 Image Derivation.

Enumerator
NUM_CID_7203_Image_Derivation 

Definition at line 194 of file DICOMPart16Tables.h.

Function Documentation

◆ decomposeCIDContextGroupSequenceString()

MLDICOMTags_EXPORT bool ml::CIDGroups::decomposeCIDContextGroupSequenceString ( const char *const  CIDGroupTable[][NUM_CID_COLUMNS],
size_t  CIDGroupTableSize,
const std::string &  contextGroupSequence,
ReleaseToolsString::StringVector resultVector 
)

Decomposed the string contextGroupSequence which assumes that it is a composition of CID Code Values followed by a _CIDEditCodeAndDescriptionSeparator and a descriptive string where multiple of these Code Value - Description strings may be composed by _CIDEntrySeparator components.

If contextGroupSequence is empty or not empty and obeys this format then true is returned, otherwise false. If true is returned the resultVector will be set to the Code Values of the entries, otherwise it will be cleared.

◆ findCIDEntry()

MLDICOMTags_EXPORT size_t ml::CIDGroups::findCIDEntry ( const char *const  CIDGroupTable[][NUM_CID_COLUMNS],
size_t  CIDGroupTableSize,
const std::string &  entryToFind 
)

Returns index X of entry of CIDGroupTable[X] where entryToFind appears the first time, otherwise std::string::npos is returned.

Parameters
CIDGroupTableA CID code table in which a CID entry shall be searched.
CIDGroupTableSizeThe size of a CID code table in which a CID entry shall be searched.
entryToFindThe string which must match the column1 entry of the table entry to find.
Returns
index to the first appearance of entryToFind or std::string::npos if not found.

◆ getCIDEntryAsStringVector()

MLDICOMTags_EXPORT std::vector<std::string> ml::CIDGroups::getCIDEntryAsStringVector ( const char *const  CIDGroup[][NUM_CID_COLUMNS],
size_t  CIDGroupSize,
const std::string &  sep0 = "",
size_t  column0 = std::string::npos,
const std::string &  sep1 = "",
size_t  column1 = std::string::npos,
const std::string &  sep2 = "",
size_t  column2 = std::string::npos,
const std::string &  sep3 = "",
size_t  column3 = std::string::npos,
const std::string &  sep4 = "",
size_t  column4 = std::string::npos,
const std::string &  sep5 = "",
size_t  column5 = std::string::npos,
const std::string &  sep6 = "",
size_t  column6 = std::string::npos,
const std::string &  sep7 = "" 
)

Returns a concatenation of at most three columns of all CIDGroup[][column] entries of the given CIDGroup as a std::vector< std::string >; column entries are introduced, separated, and completed with given separators sep0-NUM_CID_COLUMNS.

Parameters
CIDGroupThe CID group pointer from which an entry column shall be retrieved.
CIDGroupSizeThe number of entries of the CIDGroup.
sep0The separator added before column entries 0 even if it is disabled.
column0The column to be extracted from the table, must be from [0, .., NUM_CID_COLUMNS-1], std::string::npos disables addition of the column.
sep1The separator passed between added column entries 0 and 1 even if they are disabled.
column1The column to be extracted from the table, must be from [0, .., NUM_CID_COLUMNS-1], std::string::npos disables addition of the column.
sep2Analogue to sep1.
column2Analogue to column1.
sep3Analogue to sep1.
column3Analogue to column1.
sep4Analogue to sep1.
column4Analogue to column1.
sep5Analogue to sep1.
column5Analogue to column1.
sep6Analogue to sep1.
column6Analogue to column1.
sep7The separator added after last column entry even if it is disabled.
Returns
A string vector with CIDGroupSize entries from the column's position or an empty vector on wrong column values or nullptr CIDGroup pointer.

Variable Documentation

◆ CID_244_Laterality

MLDICOMTags_EXPORT const char* const ml::CIDGroups::CID_244_Laterality[NUM_CID_244_Laterality][NUM_CID_COLUMNS]
extern

Codes from DICOM Part 16, CID 244 Laterality.

◆ CID_3829_Pulmonary_Arteries

MLDICOMTags_EXPORT const char* const ml::CIDGroups::CID_3829_Pulmonary_Arteries[NUM_CID_3829_Pulmonary_Arteries][NUM_CID_COLUMNS]
extern

Codes from DICOM Part 16, CID 3829 Pulmonary Arteries.

◆ CID_7063_Model_Scale_Units

MLDICOMTags_EXPORT const char* const ml::CIDGroups::CID_7063_Model_Scale_Units[NUM_CID_7063_Model_Scale_Units][NUM_CID_COLUMNS]
extern

Codes from DICOM Part 16, CID 7063 Model Scale Units.

◆ CID_7150_Segmentation_Property_Categories

MLDICOMTags_EXPORT const char* const ml::CIDGroups::CID_7150_Segmentation_Property_Categories[NUM_CID_7150_Segmentation_Property_Categories][NUM_CID_COLUMNS]
extern

Codes from DICOM Part 16, CID 7150 Segmentation Property Categories.

◆ CID_7151_Segmentation_Property_Types

MLDICOMTags_EXPORT const char* const ml::CIDGroups::CID_7151_Segmentation_Property_Types[NUM_CID_7151_Segmentation_Property_Types][NUM_CID_COLUMNS]
extern

Codes from DICOM Part 16, CID 7151 Segmentation Property Types.

◆ CID_7202_Source_Image_Purposes_of_Reference

MLDICOMTags_EXPORT const char* const ml::CIDGroups::CID_7202_Source_Image_Purposes_of_Reference[NUM_CID_7202_Source_Image_Purposes_of_Reference][NUM_CID_COLUMNS]
extern

Codes from DICOM Part 16, CID 7202 Source Image Purposes of Reference.

◆ CID_7203_Image_Derivation

MLDICOMTags_EXPORT const char* const ml::CIDGroups::CID_7203_Image_Derivation[NUM_CID_7203_Image_Derivation][NUM_CID_COLUMNS]
extern

Codes from DICOM Part 16, CID 7203 Image Derivation.

◆ CID_8_Angiographic_Interventional_Devices

MLDICOMTags_EXPORT const char* const ml::CIDGroups::CID_8_Angiographic_Interventional_Devices[NUM_CID_8_Angiographic_Interventional_Devices][NUM_CID_COLUMNS]
extern

Codes from DICOM Part 16, CID 8 Angiographic Interventional Devices.

◆ CIDEditCodeAndDescriptionSeparator

MLDICOMTags_EXPORT const char* ml::CIDGroups::CIDEditCodeAndDescriptionSeparator
extern

Separator used between Code Value and descriptive string.

◆ CIDEntrySeparator

MLDICOMTags_EXPORT const char* ml::CIDGroups::CIDEntrySeparator
extern

Separator used between multiple code value entries.