GDCM 3.0.24
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

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

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.

◆ GetIndex()

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

◆ GetLength()

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

References gdcm::operator<<().

◆ GetNumberOfElementsFromArray()

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

◆ GetVMString()

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

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

◆ GetVMType()

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

◆ GetVMTypeFromLength()

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

◆ IsValid()

static 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

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