/*========================================================================= Program: vv Language: C++ Author : Pierre Seroul (pierre.seroul@gmail.com) Copyright (C) 2008 Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr CREATIS-LRMN http://www.creatis.insa-lyon.fr 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. 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 . =========================================================================*/ #ifndef vvImageReader_H #define vvImageReader_H #include #include #include #include "itkCommand.h" #include "vvImage.h" #include "vvConstants.h" class vvImageReader : public QThread { public: vvImageReader(); ~vvImageReader(); void SetInputFilename(const std::string & filename); void SetInputFilenames(const std::vector & filenames); vvImage::Pointer GetOutput() { return mImage; } std::string GetLastError() { return mLastError; } //==================================================================== // Main function void Update(); void Update(LoadedImageType type); void Update(int dim, std::string InputPixelType, LoadedImageType type); //void Extract(int dim, std::string InputPixelType, int slice); protected: void run(); //==================================================================== std::vector mInputFilenames; ///Method used to load the image, see vvConstants.h for definition LoadedImageType mType; itk::Command::Pointer mObserver; std::string mLastError; //==================================================================== template void UpdateWithDim(std::string inputPixelType); //==================================================================== /*template void ExtractWithDim(std::string inputPixelType, int slice);*/ //==================================================================== template void UpdateWithDimAndInputPixelType(); ///Input dimension and pixel type int mDim; std::string mInputPixelType; private: vvImage::Pointer mImage; }; // end class vvImageReader #endif /* end #define CLITKvvImageReader_H */