X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=common%2FclitkImageCommon.cxx;h=cc211993d8abfc42bb14abeefeca56e3772b94ac;hb=9284f78523ef4469d086d04c1bcd791ce00575d1;hp=056df9450113ff30532c9eae7cb5ba6adb7ac833;hpb=931a42358442f4ee4f314613c991c838d4b4e3b7;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;