unsigned short int g, e;
char st[20];
TSKey v;
- std::string d2;
+ std::string d2, vr;
gdcmTS * ts = gdcmGlobal::GetTS();
std::ostringstream s;
guint32 lgth;
char greltag[10]; //group element tag
-
- g = GetGroup();
- e = GetElement();
- v = GetValue();
- o = GetOffset();
+ g = GetGroup();
+ e = GetElement();
+ v = GetValue();
+ o = GetOffset();
+ vr = GetVR();
sprintf(greltag,"%04x|%04x ",g,e);
s << greltag ;
s << std::setw(8) << o;
}
- s << "[" << GetVR() << "] ";
+ s << "[" << vr << "] ";
if (printLevel>=1) {
s.setf(std::ios::left);
}
s << "[" << GetName()<< "]";
- s << " [" << d2 << "]";
+ if( (GetLength()<64) || (printLevel>=3) )
+ s << " [" << d2 << "]";
+ else
+ s << " [ gdcm::too long for print (" << GetLength() << ") ]";
// Display the UID value (instead of displaying the rough code)
if (g == 0x0002) { // Any more to be displayed ?
if (g == 0x0008) {
if ( (e == 0x0016) || (e == 0x1150) )
s << " ==>\t[" << ts->GetValue(v) << "]";
+ } else {
+ if (g == 0x0004) {
+ if ( (e == 0x1510) || (e == 0x1512) )
+ s << " ==>\t[" << ts->GetValue(v) << "]";
+ }
}
}
- if (e == 0x0000) { // elem 0x0000 --> group length
+ //if (e == 0x0000) { // elem 0x0000 --> group length
+ if ( (vr == "UL") || (vr == "US") || (vr == "SL") || (vr == "SS") ) {
if (v == "4294967295") // to avoid troubles in convertion
sprintf (st," x(ffffffff)");
else
- sprintf(st," x(%08x)",atoi(v.c_str()));
+ sprintf(st," x(%x)",(unsigned long)atof(v.c_str()));
s << st;
}
s << std::endl;