X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkImageCommon.h;h=3cd8ae51520d7623bb95e0ccca692e329142684e;hb=762d3a97e3b271e5f76536e115a945cb5c950741;hp=53e1be6186347b6b8f2a9d7929811d2ab0f46195;hpb=931a42358442f4ee4f314613c991c838d4b4e3b7;p=clitk.git diff --git a/common/clitkImageCommon.h b/common/clitkImageCommon.h index 53e1be6..3cd8ae5 100644 --- a/common/clitkImageCommon.h +++ b/common/clitkImageCommon.h @@ -1,27 +1,31 @@ -#ifndef CLITKIMAGECOMMON_H -#define CLITKIMAGECOMMON_H +/*========================================================================= + 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://www.centreleonberard.fr + - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr -/** - ------------------------------------------------------------------- - * @file clitkImageCommon.h - * @author David Sarrut - * @date 07 Sep 2007 11:30:10 + 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. - * @brief + 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 "itkImageFileReader.h" #include "itkImageSeriesReader.h" #include "itkImageFileWriter.h" -#include "gdcmFile.h" -#include "gdcmFileHelper.h" - namespace clitk { @@ -36,6 +40,11 @@ namespace clitk { template typename itk::Image::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 + typename ImageType::Pointer NewImageLike(const typename ImageType::Pointer input, bool allocate=true); + + template + void CopyValues(const typename ImageType::Pointer input, typename ImageType::Pointer output); //-------------------------------------------------------------------- // New Image creation (with allocation) @@ -56,7 +65,7 @@ namespace clitk { //-------------------------------------------------------------------- // Read/print image header - itk::ImageIOBase::Pointer readImageHeader(const std::string & filename); + itk::ImageIOBase::Pointer readImageHeader(const std::string & filename,bool exit_on_error=true); void printImageHeader(itk::ImageIOBase::Pointer header, std::ostream & os, const int level=0); //-------------------------------------------------------------------- @@ -67,10 +76,6 @@ namespace clitk { // Determine pixetype, dimension and number of pixel components of an image file void ReadImageDimensionAndPixelType(const std::string & filename, int & dimension, std::string & pixeType, int & components); - //-------------------------------------------------------------------- - // Read a dicom header - gdcm::File * readDicomHeader(const std::string & filename, const bool verbose=false); - //-------------------------------------------------------------------- template int ComputeHowManyDifferentIntensity(const typename ImageType::Pointer & image, @@ -82,6 +87,24 @@ namespace clitk { std::map > & mapOfLabelsAndWeights); + //-------------------------------------------------------------------- + template + bool HaveSameSizeAndSpacing(typename ImageType1::ConstPointer A, + typename ImageType2::ConstPointer B); + + template + bool HaveSameSizeAndSpacing(typename ImageType1::Pointer A, + typename ImageType2::Pointer B); + + //-------------------------------------------------------------------- + template + bool HaveSameSpacing(typename ImageType1::ConstPointer A, + typename ImageType2::ConstPointer B); + + template + bool HaveSameSpacing(typename ImageType1::Pointer A, + typename ImageType2::Pointer B); + #include "clitkImageCommon.txx" } // end namespace