GDCM: gdcm::VM Class Reference

GDCM 3.2.10

Public Types | Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Friends | List of all members
gdcm::VM Class Reference

Value Multiplicity Looking at the DICOMV3 dict only there is very few cases: 1 2 3 4 5 6 8 16 24 1-2 1-3 1-8 1-32 1-99 1-n 2-2n 2-n 3-3n 3-n. More...

`#include <gdcmVM.h>`

## Public Types
enum | VMType { VM0 = 0 , VM1 = 1 , VM2 = 2 , VM3 = 4 , VM4 = 8 , VM5 = 16 , VM6 = 32 , VM8 = 64 , VM9 = 128 , VM10 = 256 , VM12 = 512 , VM16 = 1024 , VM18 = 2048 , VM24 = 4096 , VM28 = 8192 , VM32 = 16384 , VM35 = 32768 , VM99 = 65536 , VM256 = 131072 , VM1_2 = VM1 | VM2 , VM1_3 = VM1 | VM2 | VM3 , VM1_4 = VM1 | VM2 | VM3 | VM4 , VM1_5 = VM1 | VM2 | VM3 | VM4 | VM5 , VM1_8 = VM1 | VM2 | VM3 | VM4 | VM5 | VM6 | VM8 , VM1_32 = VM1 | VM2 | VM3 | VM4 | VM5 | VM6 | VM8 | VM9 | VM16 | VM24 | VM32 , VM1_99 = VM1 | VM2 | VM3 | VM4 | VM5 | VM6 | VM8 | VM9 | VM16 | VM24 | VM32 | VM99 , VM1_n = VM1 | VM2 | VM3 | VM4 | VM5 | VM6 | VM8 | VM9 | VM16 | VM24 | VM32 | VM99 | VM256 , VM2_2n = VM2 | VM4 | VM6 | VM8 | VM16 | VM24 | VM32 | VM256 , VM2_n = VM2 | VM3 | VM4 | VM5 | VM6 | VM8 | VM9 | VM16 | VM24 | VM32 | VM99 | VM256 , VM3_4 = VM3 | VM4 , VM3_3n = VM3 | VM6 | VM9 | VM24 | VM99 | VM256 , VM3_n = VM3 | VM4 | VM5 | VM6 | VM8 | VM9 | VM16 | VM24 | VM32 | VM99 | VM256 , VM4_4n = VM4 | VM16 | VM24 | VM32 | VM256 , VM6_6n = VM6 | VM12 | VM18 | VM24 , VM6_n = VM6 | VM8 | VM9 | VM16 | VM24 | VM32 | VM99 | VM256 , VM7_7n , VM30_30n , VM47_47n , VM_END = VM1_n + 1 }

## Public Member Functions
| VM (VMType type=VM0)
bool | Compatible (VM const &vm) const
unsigned int | GetLength () const
| operator VMType () const

## Static Public Member Functions
static size_t | GetNumberOfElementsFromArray (const char *array, size_t length)
static const char * | GetVMString (VMType vm)
static VMType | GetVMType (const char *vm)
static VMType | GetVMTypeFromLength (size_t length, unsigned int size)
static bool | IsValid (int vm1, VMType vm2)

## Static Protected Member Functions
static unsigned int | GetIndex (VMType vm)

## Friends
std::ostream & | operator<< (std::ostream &os, const VM &vm)

## Detailed Description

Value Multiplicity Looking at the DICOMV3 dict only there is very few cases: 1 2 3 4 5 6 8 16 24 1-2 1-3 1-8 1-32 1-99 1-n 2-2n 2-n 3-3n 3-n.

Some private dict define some more: 4-4n 1-4 1-5 256 9 3-4

even more:

7-7n 10 18 12 35 47_47n 30_30n 28

6-6n

## Member Enumeration Documentation

## ◆ VMType

enum gdcm::VM::VMType

Enumerator
VM0 |
VM1 |
VM2 |
VM3 |
VM4 |
VM5 |
VM6 |
VM8 |
VM9 |
VM10 |
VM12 |
VM16 |
VM18 |
VM24 |
VM28 |
VM32 |
VM35 |
VM99 |
VM256 |
VM1_2 |
VM1_3 |
VM1_4 |
VM1_5 |
VM1_8 |
VM1_32 |
VM1_99 |
VM1_n |
VM2_2n |
VM2_n |
VM3_4 |
VM3_3n |
VM3_n |
VM4_4n |
VM6_6n |
VM6_n |
VM7_7n |
VM30_30n |
VM47_47n |
VM_END |

## Constructor & Destructor Documentation

## ◆ VM()

gdcm::VM::VM | ( | VMType | type = VM0 | ) |
| inline

References VM0.

Referenced by Compatible(), GetLength(), and operator<<.

## Member Function Documentation

## ◆ Compatible()

bool gdcm::VM::Compatible | ( | VM const & | vm | ) | const

WARNING: Implementation deficiency The Compatible function is poorly implemented, the reference vm should be coming from the dictionary, while the passed in value is the value guess from the file.

References VM().

## ◆ GetIndex()

unsigned int gdcm::VM::GetIndex | ( | VMType | vm | ) |
| staticprotected

## ◆ GetLength()

unsigned int gdcm::VM::GetLength | ( |  | ) | const

References VM(), and operator<<.

## ◆ GetNumberOfElementsFromArray()

size_t gdcm::VM::GetNumberOfElementsFromArray | ( | const char * | array,
|  | size_t | length )
| static

## ◆ GetVMString()

const char * gdcm::VM::GetVMString | ( | VMType | vm | ) |
| static

Return the string as written in the official DICOM dict from a custom enum type

Referenced by operator<<.

## ◆ GetVMType()

VMType gdcm::VM::GetVMType | ( | const char * | vm | ) |
| static

## ◆ GetVMTypeFromLength()

VMType gdcm::VM::GetVMTypeFromLength | ( | size_t | length,
|  | unsigned int | size )
| static

## ◆ IsValid()

bool gdcm::VM::IsValid | ( | int | vm1,
|  | VMType | vm2 )
| static

Check if vm1 is valid compare to vm2, i.e vm1 is element of vm2 vm1 is typically deduce from counting in a ValueField

## ◆ operator VMType()

gdcm::VM::operator VMType | ( |  | ) | const
| inline

## Friends And Related Symbol Documentation

## ◆ operator<<

std::ostream & operator<< | ( | std::ostream & | os,
|  | const VM & | vm )
| friend

References VM(), gdcm_assert, and GetVMString().

Referenced by GetLength().

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

- gdcmVM.h