]> Creatis software - clitk.git/blobdiff - vv/vvImageReader.h
Add EPID conversion (2^16 - value)/alpha
[clitk.git] / vv / vvImageReader.h
index c9005aa63f899000c346721b0bdc7c810cd1078b..cbe7d1607e62b63c1bca49cdaeb93fd8cf8ed909 100644 (file)
@@ -1,32 +1,22 @@
 /*=========================================================================
+  Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
 
- Program:   vv
- Module:    $RCSfile: vvImageReader.h,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 vvImageReader_H
 #define vvImageReader_H
-
 #include <string>
 #include <vector>
 #include <QThread>
@@ -35,57 +25,66 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "vvImage.h"
 #include "vvConstants.h"
 
-class vvImageReader : public QThread {
+class vvImageReader : public itk::LightObject, public QThread {
 
 public:
-    vvImageReader();
-    ~vvImageReader();
+  typedef vvImageReader Self;
+  typedef itk::SmartPointer<Self> Pointer;
+  itkNewMacro(Self);
 
-    void SetInputFilename(const std::string & filename);
-    void SetInputFilenames(const std::vector<std::string> & filenames);
+  void SetInputFilename(const std::string & filename);
+  void SetInputFilenames(const std::vector<std::string> & filenames);
 
-    vvImage::Pointer GetOutput() {
-        return mImage;
-    }
+  vvImage::Pointer GetOutput() {
+      return mImage;
+  }
 
-    std::string GetLastError() {
-        return mLastError;
-    }
+  std::string GetLastError() {
+      return mLastError;
+  }
 
-    //====================================================================
-    // Main function
-    void Update(LoadedImageType type);
-    void Update(int dim, std::string InputPixelType, LoadedImageType type);
-    //void Extract(int dim, std::string InputPixelType, int slice);
+  void SetSlice(unsigned int i) { mSlice = i; }
 
-protected:
-    void run();
-    //====================================================================
-    std::vector<std::string> mInputFilenames;
-    ///Method used to load the image, see vvConstants.h for definition
-    LoadedImageType mType;
-    itk::Command::Pointer mObserver;
-
-    std::string mLastError;
-
-    //====================================================================
-    template<unsigned int VImageDimension>
-    void UpdateWithDim(std::string inputPixelType);
-
-    //====================================================================
-    /*template<unsigned int VImageDimension>
-    void ExtractWithDim(std::string inputPixelType, int slice);*/
-
-    //====================================================================
-    template<class InputPixelType, unsigned int VImageDimension>
-    void UpdateWithDimAndInputPixelType();
-    ///Input dimension and pixel type
-    int mDim;
-    std::string mInputPixelType;
+  //====================================================================
+  // Main function
+  void Update();
+  void Update(LoadedImageType type);
+  void Update(int dim, std::string InputPixelType, LoadedImageType type);
 
+protected:
+  void run();
+  //====================================================================
+  std::vector<std::string> mInputFilenames;
+  ///Method used to load the image, see vvConstants.h for definition
+  LoadedImageType mType;
+  unsigned int mSlice;
+  itk::Command::Pointer mObserver;
+
+  std::string mLastError;
+
+  //====================================================================
+  template<unsigned int VImageDimension>
+  void UpdateWithDim(std::string inputPixelType);
+
+  //====================================================================
+  /*template<unsigned int VImageDimension>
+  void ExtractWithDim(std::string inputPixelType, int slice);*/
+
+  //====================================================================
+  template<class InputPixelType, unsigned int VImageDimension>
+  void UpdateWithDimAndInputPixelType();
+  ///Input dimension and pixel type
+  int mDim;
+  std::string mInputPixelType;
+
+  //====================================================================
+  void ReadNkiImageTransform();
+  void ReadMatImageTransform();
 private:
-    vvImage::Pointer mImage;
+  vvImageReader();
+  ~vvImageReader();
 
+  vvImage::Pointer mImage;
 }; // end class vvImageReader
 
 #endif /* end #define CLITKvvImageReader_H */