Public Types | Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Friends

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>

List of all members.

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,
  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 unsigned int GetNumberOfElementsFromArray (const char *array, unsigned int length)
static const char * GetVMString (VMType vm)
static VMType GetVMType (const char *vm)
static VMType GetVMTypeFromLength (unsigned int 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

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 
VM7_7n 
VM30_30n 
VM47_47n 
VM_END 

Constructor & Destructor Documentation

gdcm::VM::VM ( VMType  type = VM0  )  [inline]

Member Function Documentation

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.

static unsigned int gdcm::VM::GetIndex ( VMType  vm  )  [static, protected]
unsigned int gdcm::VM::GetLength (  )  const
static unsigned int gdcm::VM::GetNumberOfElementsFromArray ( const char *  array,
unsigned int  length 
) [static]
static 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 gdcm::operator<<().

static VMType gdcm::VM::GetVMType ( const char *  vm  )  [static]
static VMType gdcm::VM::GetVMTypeFromLength ( unsigned int  length,
unsigned int  size 
) [static]
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

gdcm::VM::operator VMType (  )  const [inline]

Friends And Related Function Documentation

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

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

Generated on Mon Jul 29 2013 11:24:38 for GDCM by doxygen 1.7.1
SourceForge.net Logo