X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIODicomImageReader.cpp;h=9390d1704a55acc790762864ef78eb34b4bcdcbe;hb=a00e6172593c713640aaa9bf1e61db6200231a0f;hp=0dde6ca0638979dab31be9f925054098d1a3a0f1;hpb=bdd74f95d714a988d85aed66808faf44ef5b4963;p=creaImageIO.git diff --git a/src2/creaImageIODicomImageReader.cpp b/src2/creaImageIODicomImageReader.cpp index 0dde6ca..9390d17 100644 --- a/src2/creaImageIODicomImageReader.cpp +++ b/src2/creaImageIODicomImageReader.cpp @@ -1,11 +1,12 @@ #include -#include + #include #include #include "boost/filesystem/path.hpp" #include #include +#include #ifdef _DEBUG #define new DEBUG_NEW #endif @@ -84,18 +85,18 @@ namespace creaImageIO } if (str[str.size()-1]==' ') { - return str.substr(0,str.size()-1); + return irclean(str.substr(0,str.size()-1)); } if (str[str.size()-1]==0) { - return str.substr(0,str.size()-1); + return irclean(str.substr(0,str.size()-1)); } } return str; } //======================================================================== - + //===================================================================== void DicomImageReader::ReadAttributes(const std::string& filename, std::map& attr) @@ -103,7 +104,8 @@ namespace creaImageIO GimmickMessage(2,"Reading attributes from DICOM file '" < file(GDCM_NAME_SPACE::File::New(), DicomImageReader::deleter()); GDCM_NAME_SPACE::Document *doc= GDCM_NAME_SPACE::File::New(); doc->SetLoadMode( GDCM_NAME_SPACE::LD_ALL); @@ -112,7 +114,7 @@ namespace creaImageIO file->SetLoadMode( GDCM_NAME_SPACE::LD_ALL); file->SetFileName(filename.c_str()); file->Load(); - if (file->IsReadable() ||((GDCM_NAME_SPACE::Document*) file)->IsReadable()) + if (file->IsReadable())// ||((GDCM_NAME_SPACE::Document*) file)->IsReadable()) { std::map::iterator i; for (i=attr.begin();i!=attr.end();++i) @@ -135,18 +137,18 @@ namespace creaImageIO } else { - uint16_t gr; uint16_t el; + uint16_t gr; + tree::AttributeDescriptor::GetDicomGroupElementFromKey(i->first,gr,el); if ( ( gr!=0 ) && ( el!=0 ) ) { - std::string val = file->GetEntryString(gr,el); + std::string val = file->GetEntryString(gr,el); i->second = irclean(val); } } } } - file->Delete(); } //=====================================================================