X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvImageWriter.txx;h=dc07874888f73b1c4ba64cec75eed8ef6a80eb65;hb=58f3178d52d0c1762a566b375354816e0cc4bb26;hp=35e5790c27dac6129000cc04cae4c7dd7615fb02;hpb=0ea84ac9a9da99e3bf3606aec6bd6d21448a2980;p=clitk.git diff --git a/vv/vvImageWriter.txx b/vv/vvImageWriter.txx index 35e5790..dc07874 100644 --- a/vv/vvImageWriter.txx +++ b/vv/vvImageWriter.txx @@ -1,29 +1,22 @@ /*========================================================================= + Program: vv http://www.creatis.insa-lyon.fr/rio/vv - Program: vv - Language: C++ - Author : Pierre Seroul (pierre.seroul@gmail.com) + 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 -Copyright (C) 2008 -Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr -CREATIS-LRMN 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 copyright notices for more information. -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, version 3 of the License. + It is distributed under dual licence -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -=========================================================================*/ + - BSD See included LICENSE.txt file + - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +======================================================================-====*/ #ifndef vvImageWriter_TXX #define vvImageWriter_TXX - #include #include "vvToITK.h" @@ -31,42 +24,25 @@ along with this program. If not, see . template void vvImageWriter::UpdateWithDim(std::string OutputPixelType) { - if (OutputPixelType == "short") - { - UpdateWithDimAndOutputPixelType(); - } - else if (OutputPixelType == "unsigned short") - { - UpdateWithDimAndOutputPixelType(); - } - else if (OutputPixelType == "unsigned_short") - { - UpdateWithDimAndOutputPixelType(); - } - else if (OutputPixelType == "char") - { - UpdateWithDimAndOutputPixelType(); - } - else if (OutputPixelType == "unsigned_char") - { - UpdateWithDimAndOutputPixelType(); - } - else if (OutputPixelType == "int") - { - UpdateWithDimAndOutputPixelType(); - } - else if (OutputPixelType == "double") - { - UpdateWithDimAndOutputPixelType(); - } - else if (OutputPixelType == "float") - { - UpdateWithDimAndOutputPixelType(); - } - else - { - std::cerr << "Error, output pixel type : \"" << OutputPixelType << "\" unknown !" << std::endl; - } + if (OutputPixelType == "short") { + UpdateWithDimAndOutputPixelType(); + } else if (OutputPixelType == "unsigned short") { + UpdateWithDimAndOutputPixelType(); + } else if (OutputPixelType == "unsigned_short") { + UpdateWithDimAndOutputPixelType(); + } else if (OutputPixelType == "char") { + UpdateWithDimAndOutputPixelType(); + } else if (OutputPixelType == "unsigned_char") { + UpdateWithDimAndOutputPixelType(); + } else if (OutputPixelType == "int") { + UpdateWithDimAndOutputPixelType(); + } else if (OutputPixelType == "double") { + UpdateWithDimAndOutputPixelType(); + } else if (OutputPixelType == "float") { + UpdateWithDimAndOutputPixelType(); + } else { + std::cerr << "Error, output pixel type : \"" << OutputPixelType << "\" unknown !" << std::endl; + } } //==================================================================== @@ -74,26 +50,25 @@ void vvImageWriter::UpdateWithDim(std::string OutputPixelType) template void vvImageWriter::UpdateWithDimAndOutputPixelType() { - //Create the writer - typedef itk::Image< OutputPixelType, VImageDimension > OutputImageType; - typedef itk::ImageFileWriter WriterType; - typename WriterType::Pointer writer = WriterType::New(); - writer->SetFileName(mOutputFilename); - writer->SetInput(vvImageToITK(mImage)); - if (mUseAnObserver) { - writer->AddObserver(itk::ProgressEvent(), mObserver); - } - try { - writer->Update(); - } - catch ( itk::ExceptionObject & err ) { - std::cerr << "Error while reading " << mOutputFilename.c_str() - << " " << err << std::endl; - std::stringstream error; - error << err; - mLastError = error.str(); - return; - } + //Create the writer + typedef itk::Image< OutputPixelType, VImageDimension > OutputImageType; + typedef itk::ImageFileWriter WriterType; + typename WriterType::Pointer writer = WriterType::New(); + writer->SetFileName(mOutputFilename); + writer->SetInput(vvImageToITK(mImage)); + if (mUseAnObserver) { + writer->AddObserver(itk::ProgressEvent(), mObserver); + } + try { + writer->Update(); + } catch ( itk::ExceptionObject & err ) { + std::cerr << "Error while reading " << mOutputFilename.c_str() + << " " << err << std::endl; + std::stringstream error; + error << err; + mLastError = error.str(); + return; + } } //====================================================================