X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIODicomImageReader.cpp;h=0dde6ca0638979dab31be9f925054098d1a3a0f1;hb=bdd74f95d714a988d85aed66808faf44ef5b4963;hp=35075fb475510623e856e2c4e351dff8a3dd960d;hpb=96ca5a0d7b7ccd6b4291160c19afd48e3207db2a;p=creaImageIO.git diff --git a/src2/creaImageIODicomImageReader.cpp b/src2/creaImageIODicomImageReader.cpp index 35075fb..0dde6ca 100644 --- a/src2/creaImageIODicomImageReader.cpp +++ b/src2/creaImageIODicomImageReader.cpp @@ -6,7 +6,9 @@ #include #include - +#ifdef _DEBUG +#define new DEBUG_NEW +#endif namespace creaImageIO { @@ -28,8 +30,7 @@ namespace creaImageIO //===================================================================== bool DicomImageReader::CanRead(const std::string& filename) { - - GDCM_NAME_SPACE::Document*doc; + GDCM_NAME_SPACE::Document*doc; GDCM_NAME_SPACE::File* file = GDCM_NAME_SPACE::File::New(); file->SetLoadMode( GDCM_NAME_SPACE::LD_ALL); file->SetFileName(filename.c_str()); @@ -48,7 +49,6 @@ namespace creaImageIO //===================================================================== vtkImageData* DicomImageReader::ReadImage(const std::string& filename) { - vtkImageData* im = 0; try { @@ -64,7 +64,7 @@ namespace creaImageIO } return im; } - + //===================================================================== void DicomImageReader::PushBackExtensions(std::vector& v) { @@ -76,18 +76,21 @@ namespace creaImageIO //======================================================================== std::string irclean(const std::string& str) { - if (str == "GDCM::Unfound") - { - return ""; - } - if (str[str.size()-1]==' ') - { - return str.substr(0,str.size()-1); - } - if (str[str.size()-1]==0) - { - return str.substr(0,str.size()-1); - } + if(str.size() > 0) + { + if (str == "GDCM::Unfound") + { + return ""; + } + if (str[str.size()-1]==' ') + { + return str.substr(0,str.size()-1); + } + if (str[str.size()-1]==0) + { + return str.substr(0,str.size()-1); + } + } return str; } @@ -97,14 +100,13 @@ namespace creaImageIO void DicomImageReader::ReadAttributes(const std::string& filename, std::map& attr) { - GimmickMessage(2,"Reading attributes from DICOM file '" <SetLoadMode( GDCM_NAME_SPACE::LD_ALL); + GDCM_NAME_SPACE::File* file = GDCM_NAME_SPACE::File::New(); + + GDCM_NAME_SPACE::Document *doc= GDCM_NAME_SPACE::File::New(); + doc->SetLoadMode( GDCM_NAME_SPACE::LD_ALL); doc->SetFileName(filename.c_str()); doc->Load(); file->SetLoadMode( GDCM_NAME_SPACE::LD_ALL); @@ -112,7 +114,6 @@ namespace creaImageIO file->Load(); if (file->IsReadable() ||((GDCM_NAME_SPACE::Document*) file)->IsReadable()) { - std::map::iterator i; for (i=attr.begin();i!=attr.end();++i) { @@ -147,7 +148,7 @@ namespace creaImageIO } file->Delete(); } - + //===================================================================== } // namespace creaImageIO