X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=common%2FclitkImageCommon.cxx;h=c9085c66a3d38d93109f0d29b9c8c6f31a7ba53f;hb=fe61abeb6e452e5f54bef60a287aa104e4e02d70;hp=056df9450113ff30532c9eae7cb5ba6adb7ac833;hpb=931a42358442f4ee4f314613c991c838d4b4e3b7;p=clitk.git diff --git a/common/clitkImageCommon.cxx b/common/clitkImageCommon.cxx index 056df94..c9085c6 100644 --- a/common/clitkImageCommon.cxx +++ b/common/clitkImageCommon.cxx @@ -1,18 +1,22 @@ -/*------------------------------------------------------------------------= - - Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de - l'Image). All rights reserved. See Doc/License.txt or - http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. - +/*========================================================================= + Program: vv http://www.creatis.insa-lyon.fr/rio/vv + + Authors belong to: + - University of LYON http://www.universite-lyon.fr/ + - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr + This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the above copyright notices for more information. - - ------------------------------------------------------------------------=*/ + PURPOSE. See the copyright notices for more information. + It is distributed under dual licence + + - BSD See included LICENSE.txt file + - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +======================================================================-====*/ #ifndef CLITKIMAGECOMMON_CXX #define CLITKIMAGECOMMON_CXX - /** ------------------------------------------------= * @file clitkImageCommon.cxx @@ -78,10 +82,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; @@ -117,7 +129,11 @@ void clitk::printImageHeader(itk::ImageIOBase::Pointer header, std::ostream & os << " "; for(unsigned int i=0; i< dim-1; i++) os << inputSpacing[i] << "x"; - os << inputSpacing[dim-1]; + os << inputSpacing[dim-1] + << " "; + for(unsigned int i=0; i< dim-1; i++) + os << inputOrigin[i] << "x"; + os << inputOrigin[dim-1] << " "; } else { os << "Dim = " << dim << "D" << std::endl;