X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=inline;f=common%2FclitkImageCommon.cxx;h=cc211993d8abfc42bb14abeefeca56e3772b94ac;hb=9284f78523ef4469d086d04c1bcd791ce00575d1;hp=056df9450113ff30532c9eae7cb5ba6adb7ac833;hpb=e534754cde3aee05927b1ca4aa6962dc05ee0322;p=clitk.git diff --git a/common/clitkImageCommon.cxx b/common/clitkImageCommon.cxx index 056df94..cc21199 100644 --- a/common/clitkImageCommon.cxx +++ b/common/clitkImageCommon.cxx @@ -78,10 +78,18 @@ gdcm::File * clitk::readDicomHeader(const std::string & filename, //-------------------------------------------------------------------- //-------------------------------------------------------------------- -itk::ImageIOBase::Pointer clitk::readImageHeader(const std::string & filename) { +itk::ImageIOBase::Pointer clitk::readImageHeader(const std::string & filename, bool exit_on_error) { itk::ImageIOBase::Pointer reader = itk::ImageIOFactory::CreateImageIO(filename.c_str(), itk::ImageIOFactory::ReadMode); - if (!reader) return NULL; + if (!reader) { + if (exit_on_error) //default behavior for tools who don't handle the problem + { + std::cerr << "Error reading file " << filename << ", exiting immediately" << std::endl; + std::exit(-1); + } + else + return NULL; + } reader->SetFileName(filename); reader->ReadImageInformation(); return reader;