]> Creatis software - clitk.git/blobdiff - common/clitkImageCommon.h
Corrected erroneous free when a real RECTILINEAR field is detected
[clitk.git] / common / clitkImageCommon.h
index 87d01de8f6c8cf29b8cf742d4b6e90700c6dcf0b..9e61223e0ab77484ed6566f1c0f91c2bea4fb0b7 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://oncora1.lyon.fnclcc.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"
@@ -22,7 +29,6 @@
 #include "gdcmFile.h"
 #include "gdcmFileHelper.h"
 
-
 namespace clitk {
   
   //--------------------------------------------------------------------
@@ -36,6 +42,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 +93,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