00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkRegularExpressionSeriesFileNames_h
00018 #define __itkRegularExpressionSeriesFileNames_h
00019
00020 #ifdef _MSC_VER
00021 #pragma warning ( disable : 4786 )
00022 #endif
00023
00024 #include "itkObject.h"
00025 #include "itkObjectFactory.h"
00026 #include "itkExceptionObject.h"
00027 #include <vector>
00028
00029 namespace itk
00030 {
00031
00072 class ITK_EXPORT RegularExpressionSeriesFileNames : public Object
00073 {
00074 public:
00076 typedef RegularExpressionSeriesFileNames Self;
00077 typedef Object Superclass;
00078 typedef SmartPointer<Self> Pointer;
00079
00081 itkNewMacro(Self);
00082
00084 itkTypeMacro(RegularExpressionSeriesFileNames, Object);
00085
00086
00088 itkSetStringMacro(Directory);
00089 itkGetStringMacro(Directory);
00091
00093 itkSetStringMacro(RegularExpression);
00094 itkGetStringMacro(RegularExpression);
00096
00099 itkSetMacro(SubMatch, unsigned int);
00100 itkGetMacro(SubMatch, unsigned int);
00102
00106 itkSetMacro(NumericSort,bool);
00107 itkGetMacro(NumericSort,bool);
00108 itkBooleanMacro(NumericSort);
00110
00113 const std::vector<std::string> &GetFileNames ();
00114
00115 protected:
00116 RegularExpressionSeriesFileNames() :
00117 m_Directory("."),
00118 m_SubMatch(1),
00119 m_NumericSort(false),
00120 m_RegularExpression(".*\\.([0-9]+)")
00121 {};
00122 ~RegularExpressionSeriesFileNames() {};
00123 void PrintSelf(std::ostream& os, Indent indent) const;
00124
00125 private:
00126 RegularExpressionSeriesFileNames(const Self&);
00127 void operator=(const Self&);
00128
00129 std::string m_Directory;
00130 unsigned int m_SubMatch;
00131 bool m_NumericSort;
00132 std::string m_RegularExpression;
00133
00134 std::vector<std::string> m_FileNames;
00135 };
00136
00137 }
00138
00139 #endif // __itkRegularExpressionSeriesFileNames_h
00140