]> Creatis software - clitk.git/blobdiff - vv/vvImageWriter.txx
several 4D sequences allowed resulting in several 4D mhd files
[clitk.git] / vv / vvImageWriter.txx
index 8d9187c016a4627a6b921d03ffe57bf15702bb97..66e9d0300d4420332853095deb97320753960549 100644 (file)
@@ -1,71 +1,50 @@
 /*=========================================================================
+  Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
 
- Program:   vv
- Module:    $RCSfile: vvImageWriter.txx,v $
- Language:  C++
- Date:      $Date: 2010/01/06 13:31:57 $
- Version:   $Revision: 1.1 $
- 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 <http://www.gnu.org/licenses/>.
-
-=========================================================================*/
+  - 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 <itkImageFileWriter.h>
 #include "vvToITK.h"
+#include "clitkDD.h"
 
 //====================================================================
 template<unsigned int VImageDimension>
 void vvImageWriter::UpdateWithDim(std::string OutputPixelType)
 {
-    if (OutputPixelType == "short")
-    {
-        UpdateWithDimAndOutputPixelType<short,VImageDimension>();
-    }
-    else if (OutputPixelType == "unsigned_short")
-    {
-        UpdateWithDimAndOutputPixelType<unsigned short,VImageDimension>();
-    }
-    else if (OutputPixelType == "char")
-    {
-        UpdateWithDimAndOutputPixelType<char,VImageDimension>();
-    }
-    else if (OutputPixelType == "unsigned_char")
-    {
-        UpdateWithDimAndOutputPixelType<unsigned char,VImageDimension>();
-    }
-    else if (OutputPixelType == "int")
-    {
-        UpdateWithDimAndOutputPixelType<int,VImageDimension>();
-    }
-    else if (OutputPixelType == "double")
-    {
-        UpdateWithDimAndOutputPixelType<double,VImageDimension>();
-    }
-    else if (OutputPixelType == "float")
-    {
-        UpdateWithDimAndOutputPixelType<float,VImageDimension>();
-    }
-    else
-    {
-        std::cerr << "Error, output pixel type : \"" << OutputPixelType << "\" unknown !" << std::endl;
-    }
+  if (OutputPixelType == "short") {
+    UpdateWithDimAndOutputPixelType<short,VImageDimension>();
+  } else if (OutputPixelType == "unsigned short") {
+    UpdateWithDimAndOutputPixelType<unsigned short,VImageDimension>();
+  } else if (OutputPixelType == "unsigned_short") {
+    UpdateWithDimAndOutputPixelType<unsigned short,VImageDimension>();
+  } else if (OutputPixelType == "char") {
+    UpdateWithDimAndOutputPixelType<char,VImageDimension>();
+  } else if (OutputPixelType == "unsigned_char") {
+    UpdateWithDimAndOutputPixelType<unsigned char,VImageDimension>();
+  } else if (OutputPixelType == "int") {
+    UpdateWithDimAndOutputPixelType<int,VImageDimension>();
+  } else if (OutputPixelType == "double") {
+    UpdateWithDimAndOutputPixelType<double,VImageDimension>();
+  } else if (OutputPixelType == "float") {
+    UpdateWithDimAndOutputPixelType<float,VImageDimension>();
+  } else {
+    std::cerr << "Error, output pixel type : \"" << OutputPixelType << "\" unknown !" << std::endl;
+  }
 }
 //====================================================================
 
@@ -73,26 +52,25 @@ void vvImageWriter::UpdateWithDim(std::string OutputPixelType)
 template<class OutputPixelType, unsigned int VImageDimension>
 void vvImageWriter::UpdateWithDimAndOutputPixelType()
 {
-    //Create the writer
-    typedef itk::Image< OutputPixelType, VImageDimension > OutputImageType;
-    typedef itk::ImageFileWriter<OutputImageType> WriterType;
-    typename WriterType::Pointer writer = WriterType::New();
-    writer->SetFileName(mOutputFilename);
-    writer->SetInput(vvImageToITK<OutputImageType>(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<OutputImageType> WriterType;
+  typename WriterType::Pointer writer = WriterType::New();
+  writer->SetFileName(mOutputFilename);
+  writer->SetInput(vvImageToITK<OutputImageType>(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;
+  }
 }
 //====================================================================