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 | ) |

static protected

## 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(), and GetVMString().

Referenced by GetLength().

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

- gdcmVM.h