X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkCommon.txx;h=f9eeb8c8bfd9280319f0ed0d38a47a393827b87b;hb=163fa80ef3873595f3e3cf75fb03e53536d1a6ee;hp=984ef76adab1ed8bd3a37ace2e753f36adf00e87;hpb=931a42358442f4ee4f314613c991c838d4b4e3b7;p=clitk.git diff --git a/common/clitkCommon.txx b/common/clitkCommon.txx index 984ef76..f9eeb8c 100644 --- a/common/clitkCommon.txx +++ b/common/clitkCommon.txx @@ -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 CLITKCOMMON_TXX #define CLITKCOMMON_TXX - /** ------------------------------------------------- * @file clitkCommon.txx @@ -112,6 +116,9 @@ void GetSortedIndex(const std::vector & toSort, std::vector & index, //-------------------------------------------------------------------- template std::string GetTypeAsString() { + // http://www.vtk.org/doc/release/3/html/vtkSetGet_8h-source.html + // and + // itkImageIOBase.cxx const std::type_info & PixType = typeid(TPixel); std::string pixelName; if (PixType == typeid(char)) pixelName = "char"; // 'plain" char is different from signed char and unsigned char ... @@ -128,5 +135,26 @@ std::string GetTypeAsString() { } //-------------------------------------------------------------------- +//-------------------------------------------------------------------- +template +void CloneImage(const typename ImageType::Pointer & input, typename ImageType::Pointer & output) { + output->SetRegions(input->GetLargestPossibleRegion()); + output->SetOrigin(input->GetOrigin()); + output->SetSpacing(input->GetSpacing()); + output->Allocate(); + typedef itk::ImageRegionConstIterator ConstIteratorType; + ConstIteratorType pi(input,input->GetLargestPossibleRegion()); + pi.GoToBegin(); + typedef itk::ImageRegionIterator IteratorType; + IteratorType po(output,input->GetLargestPossibleRegion()); + po.GoToBegin(); + while (!pi.IsAtEnd()) { + po.Set(pi.Get()); + ++pi; + ++po; + } +} +//-------------------------------------------------------------------- + #endif /* end #define CLITKCOMMON_TXX */