]> Creatis software - clitk.git/blobdiff - common/clitkImageCommon.cxx
- display binary image as overlay
[clitk.git] / common / clitkImageCommon.cxx
index 056df9450113ff30532c9eae7cb5ba6adb7ac833..c9085c66a3d38d93109f0d29b9c8c6f31a7ba53f 100644 (file)
@@ -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;