00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision$ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 00019 #ifndef PARRECFILEREADER_H_HEADER_INCLUDED_C1F48A22 00020 #define PARRECFILEREADER_H_HEADER_INCLUDED_C1F48A22 00021 00022 #include "mitkCommon.h" 00023 #include "MitkExtExports.h" 00024 #include "mitkFileReader.h" 00025 #include "mitkImageSource.h" 00026 00027 namespace mitk { 00028 //##Documentation 00029 //## @brief Reader to read files in Philips PAR/REC file format 00030 //## @ingroup IO 00031 class MitkExt_EXPORT ParRecFileReader : public ImageSource, public FileReader 00032 { 00033 public: 00034 mitkClassMacro(ParRecFileReader, FileReader); 00035 00037 itkNewMacro(Self); 00038 00039 itkSetStringMacro(FileName); 00040 itkGetStringMacro(FileName); 00041 00042 itkSetStringMacro(FilePrefix); 00043 itkGetStringMacro(FilePrefix); 00044 00045 itkSetStringMacro(FilePattern); 00046 itkGetStringMacro(FilePattern); 00047 00048 static bool CanReadFile(const std::string filename, const std::string filePrefix, const std::string filePattern); 00049 00050 protected: 00051 virtual void GenerateData(); 00052 00053 virtual void GenerateOutputInformation(); 00054 00055 ParRecFileReader(); 00056 00057 ~ParRecFileReader(); 00058 00059 //##Description 00060 //## @brief Time when Header was last read 00061 itk::TimeStamp m_ReadHeaderTime; 00062 00063 int m_StartFileIndex; 00064 protected: 00065 std::string m_FileName; 00066 std::string m_RecFileName; 00067 00068 std::string m_FilePrefix; 00069 00070 std::string m_FilePattern; 00071 }; 00072 00073 } // namespace mitk 00074 00075 #endif /* PARRECFILEREADER_H_HEADER_INCLUDED_C1F48A22 */ 00076 00077