]> Creatis software - clitk.git/blobdiff - vv/vvImageWriter.h
Added support for ffmpeg library if VTK_USE_FFMPEG_ENCODER is ON with extension ...
[clitk.git] / vv / vvImageWriter.h
index d2260caa914499d344b9a01c3784c8c36544267c..3effb474235fe19c48ee7f25c14fd358ee182431 100644 (file)
@@ -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 <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_H
 #define vvImageWriter_H
-
 #include <string>
 
 // ITK includes
@@ -31,55 +24,59 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "itkCommand.h"
 #include "vvImage.h"
 
-class vvImageWriter {
+class vvImageWriter : public itk::LightObject {
 
 public:
-    // constructor
-    vvImageWriter();
-    ~vvImageWriter();
-
-    void SetOutputFileName(std::string filename);
-    void SetObserver(itk::Command::Pointer o) {
-        mUseAnObserver = true;
-        mObserver = o;
-    }
-    void DisableObserver() {
-        mUseAnObserver = false;
-    }
-
-    void SetInput(vvImage::Pointer image) {
-        mImage = image;
-    }
-
-    std::string GetLastError() {
-        return mLastError;
-    }
-
-    //====================================================================
-    // Main function
-    void Update() {
-        Update(mImage->GetNumberOfDimensions(),mImage->GetScalarTypeAsString());
-    }
-    void Update(int dim, std::string OutputPixelType);
+  typedef vvImageWriter Self;
+  typedef itk::SmartPointer<Self> Pointer;
+  itkNewMacro(Self);
+
+  void SetOutputFileName(std::string filename);
+  void SetObserver(itk::Command::Pointer o) {
+    mUseAnObserver = true;
+    mObserver = o;
+  }
+  void DisableObserver() {
+    mUseAnObserver = false;
+  }
+
+  void SetInput(vvImage::Pointer image) {
+    mImage = image;
+  }
+
+  std::string GetLastError() {
+    return mLastError;
+  }
+
+  //====================================================================
+  // Main function
+  void Update() {
+    Update(mImage->GetNumberOfDimensions(),mImage->GetScalarTypeAsITKString());
+  }
+  void Update(int dim, std::string OutputPixelType);
 
 protected:
-    //====================================================================
-    std::string mOutputFilename;
-    itk::Command::Pointer mObserver;
+  // constructor
+  vvImageWriter();
+  ~vvImageWriter();
+
+  //====================================================================
+  std::string mOutputFilename;
+  itk::Command::Pointer mObserver;
 
-    std::string mLastError;
-    bool mUseAnObserver;
+  std::string mLastError;
+  bool mUseAnObserver;
 
-    //====================================================================
-    template<unsigned int VImageDimension>
-    void UpdateWithDim(std::string OutputPixelType);
+  //====================================================================
+  template<unsigned int VImageDimension>
+  void UpdateWithDim(std::string OutputPixelType);
 
-    //====================================================================
-    template<class OutputPixelType, unsigned int VImageDimension>
-    void UpdateWithDimAndOutputPixelType();
+  //====================================================================
+  template<class OutputPixelType, unsigned int VImageDimension>
+  void UpdateWithDimAndOutputPixelType();
 
 private:
-    vvImage::Pointer mImage;
+  vvImage::Pointer mImage;
 
 }; // end class vvImageWriter