#ifndef DICOM_H
#define DICOM_H
#include <iostream>
enum VR_TYPE {AE, AS, AT, CS, DA, DS, DT, FL, FD, IS, LO, LT, OB,
OW, PN, SH, SL, SQ, SS, ST, TM, UI, UL, UN, US, UT,
USS, OBW, RET, ERROR,
IMPLICIT, UNKNOWN};
struct DICOM_TAG
{
unsigned short group;
unsigned short element;
enum VR_TYPE vr;
char mv;
char *name;
void set_name();
void set_implicit_type();
const char * vrAsString();
};
class Element
{
public:
DICOM_TAG tag;
char vr[2];
VR_TYPE vr_type;
unsigned int value_length;
unsigned char *value;
VR_TYPE vr2type();
public:
Element();
~Element();
bool read (istream &is);
void print(ostream &os);
};
#endif