00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkArchetypeSeriesFileNames_h
00018 #define __itkArchetypeSeriesFileNames_h
00019
00020 #ifdef _MSC_VER
00021 #pragma warning ( disable : 4786 )
00022 #endif
00023
00024 #include "itkObject.h"
00025 #include "itkObjectFactory.h"
00026 #include <vector>
00027 #include <string>
00028
00029
00030
00031 namespace itk
00032 {
00071 class ITK_EXPORT ArchetypeSeriesFileNames : public Object
00072 {
00073 public:
00075 typedef ArchetypeSeriesFileNames Self;
00076 typedef Object Superclass;
00077 typedef SmartPointer<Self> Pointer;
00078
00080 itkNewMacro(Self);
00081
00083 itkTypeMacro(ArchetypeSeriesFileNames, Object);
00084
00085
00086
00087
00088
00089 void SetArchetype(const std::string &archetype);
00090 itkGetStringMacro(Archetype);
00091
00093 unsigned int GetNumberOfGroupings();
00094
00098 const std::vector<std::string> &GetFileNames ( unsigned int group = 0);
00099
00100
00101 protected:
00102 ArchetypeSeriesFileNames();
00103 ~ArchetypeSeriesFileNames() {};
00104 void PrintSelf(std::ostream& os, Indent indent) const;
00105
00107 void Scan();
00108
00109 private:
00110 ArchetypeSeriesFileNames(const Self&);
00111 void operator=(const Self&);
00112
00114 std::string m_Archetype;
00115
00116 std::vector<std::vector<std::string> > m_Groupings;
00117 std::vector<std::string> m_FileNames;
00118
00119 TimeStamp m_ArchetypeMTime;
00120 TimeStamp m_ScanTime;
00121
00122 };
00123
00124 }
00125
00126 #endif // __itkArchetypeSeriesFileNames_h