]> Creatis software - clitk.git/blobdiff - common/clitkImageCommon.h
changes in license header
[clitk.git] / common / clitkImageCommon.h
index 87d01de8f6c8cf29b8cf742d4b6e90700c6dcf0b..9559a80cdc49de39f666bdc59f9e9fd35ef2ce5a 100644 (file)
@@ -1,18 +1,25 @@
-#ifndef CLITKIMAGECOMMON_H
-#define CLITKIMAGECOMMON_H
+/*=========================================================================
+  Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
 
-/**
- -------------------------------------------------------------------
- * @file   clitkImageCommon.h
- * @author David Sarrut <David.Sarrut@creatis.insa-lyon.fr>
- * @date   07 Sep 2007 11:30:10
+  Authors belong to: 
+  - University of LYON              http://www.universite-lyon.fr/
+  - Léon Bérard cancer center       http://www.centreleonberard.fr
+  - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
 
- * @brief  
+  This software is distributed WITHOUT ANY WARRANTY; without even
+  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+  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_H
+#define CLITKIMAGECOMMON_H
 
 // clitk
-#include "clitkCommon.h"
+//#include "clitkCommon.h"
 
 // itk
 #include "itkImage.h"
 #include "itkImageSeriesReader.h"
 #include "itkImageFileWriter.h"
 #include "gdcmFile.h"
-#include "gdcmFileHelper.h"
-
+#if GDCM_MAJOR_VERSION == 2
+  #include "gdcmReader.h"
+#else
+  #include "gdcmFileHelper.h"
+#endif
 
 namespace clitk {
   
@@ -36,6 +46,11 @@ namespace clitk {
   template<class PixelType>
   typename itk::Image<PixelType,4>::Pointer NewImage4D(int sx, int sy, int sz, int st, double dx=1.0, double dy=1.0, double dz=1.0, double dt=1.0);
 
+  template<class ImageType>
+  typename ImageType::Pointer NewImageLike(const typename ImageType::Pointer input, bool allocate=true);
+
+  template<class ImageType>
+  void CopyValues(const typename ImageType::Pointer input, typename ImageType::Pointer output);
   //--------------------------------------------------------------------
   // New Image creation (with allocation)
 
@@ -82,6 +97,24 @@ namespace clitk {
                                   std::map<typename MaskImageType::PixelType, 
                                   std::map<typename InputImageType::PixelType, double> > & mapOfLabelsAndWeights);
 
+  //--------------------------------------------------------------------
+  template<class ImageType1, class ImageType2>
+  bool HaveSameSizeAndSpacing(typename ImageType1::ConstPointer A, 
+                             typename ImageType2::ConstPointer B);
+
+  template<class ImageType1, class ImageType2>
+  bool HaveSameSizeAndSpacing(typename ImageType1::Pointer A, 
+                             typename ImageType2::Pointer B);
+
+  //--------------------------------------------------------------------
+  template<class ImageType1, class ImageType2>
+  bool HaveSameSpacing(typename ImageType1::ConstPointer A, 
+                       typename ImageType2::ConstPointer B);
+
+  template<class ImageType1, class ImageType2>
+  bool HaveSameSpacing(typename ImageType1::Pointer A, 
+                       typename ImageType2::Pointer B);
+
 #include "clitkImageCommon.txx"
 
 } // end namespace