KSquare Utilities
FeatureFileIOC45.h
Go to the documentation of this file.
1 #ifndef _FEATUREFILEIOC45_
2 #define _FEATUREFILEIOC45_
3 
4 #include "FeatureFileIO.h"
5 
6 namespace KKMLL
7 {
8 /**
9  *@class FeatureFileIOC45
10  *@brief Supports the reading and writing of feature data from C45 formated feature files.
11  *@details
12  *@code
13  *************************************************************************************************
14  ** FeatureFileIODC45 Sub-classed from FeatureFileIO. Supports the reading and writing of *
15  ** the C45 file format. For each data set there will be two files. 'Names' and 'Data' *
16  ** http://www.cs.washington.edu/dm/vfml/appendixes/c45.htm for description *
17  *************************************************************************************************
18  *@endcode
19  *@see FeatureFileIO
20  */
22 {
23 public:
25 
26  ~FeatureFileIOC45 ();
27 
29 
30  static FeatureFileIOC45Ptr Driver () {return &driver;}
31 
32  virtual FileDescPtr GetFileDesc (const KKStr& _fileName,
33  istream& _in,
34  MLClassListPtr _classList,
35  kkint32& _estSize,
36  KKStr& _errorMessage,
37  RunLog& log
38  );
39 
40 
41  virtual
42  FeatureVectorListPtr LoadFeatureFile (const KKStr& _fileName,
43  MLClassList& _mlClasses,
44  kkint32 _maxCount,
45  VolConstBool& _cancelFlag,
46  bool& _successful,
47  bool& _changesMade,
48  RunLog& _log
49  );
50 
51 
52 
53  virtual
54  FeatureVectorListPtr LoadFile (const KKStr& _fileName,
55  const FileDescPtr _fileDesc,
56  MLClassList& _classes,
57  istream& _in,
58  kkint32 _maxCount, // Maximum # images to load.
59  VolConstBool& _cancelFlag,
60  bool& _changesMade,
61  KKStr& _errorMessage,
62  RunLog& _log
63  );
64 
65 
66  virtual
67  void SaveFile (FeatureVectorList& _data,
68  const KKStr& _fileName,
69  FeatureNumListConst& _selFeatures,
70  ostream& _out,
71  kkuint32& _numExamplesWritten,
72  VolConstBool& _cancelFlag,
73  bool& _successful,
74  KKStr& _errorMessage,
75  RunLog& _log
76  );
77 
78 
79 
80 private:
81  static FeatureFileIOC45 driver;
82 
83  KKStr C45AdjName (const KKStr& oldName);
84 
85  void C45StripComments (KKStr& ln);
86 
87  void C45StrPreProcessName (KKStr& ln);
88 
89  kkint32 C45LocateNextCharacter (const KKStr& txt,
90  char ch
91  );
92 
93  void C45ConstructFileNameForWritting (const KKStr& fileName,
94  KKStr& namesFileName,
95  KKStr& dataFileName
96  );
97 
98  KKStr C45ReadNextToken (istream& in,
99  const char* delimiters,
100  bool& eof,
101  bool& eol
102  );
103 
104  void ProcessC45AttrStr (FileDescPtr fileDesc,
105  KKStr& attrStr,
106  bool& validStr,
107  RunLog& _log
108  );
109 
110 }; /* FeatureFileIOC45 */
111 
112 
113 typedef FeatureFileIOC45::FeatureFileIOC45Ptr FeatureFileIOC45Ptr;
114 
115 } /* namespace KKMLL */
116 #endif
static FeatureFileIOC45Ptr Driver()
__int32 kkint32
Definition: KKBaseTypes.h:88
virtual FeatureVectorListPtr LoadFeatureFile(const KKStr &_fileName, MLClassList &_mlClasses, kkint32 _maxCount, VolConstBool &_cancelFlag, bool &_successful, bool &_changesMade, RunLog &_log)
Loads the contents of a feature data file and returns a ImageFeaturesList container object...
virtual FileDescPtr GetFileDesc(const KKStr &_fileName, istream &_in, MLClassListPtr _classList, kkint32 &_estSize, KKStr &_errorMessage, RunLog &log)
Supports the reading and writing of feature data from C45 formated feature files. ...
FeatureNumList const FeatureNumListConst
virtual void SaveFile(FeatureVectorList &_data, const KKStr &_fileName, FeatureNumListConst &_selFeatures, ostream &_out, kkuint32 &_numExamplesWritten, VolConstBool &_cancelFlag, bool &_successful, KKStr &_errorMessage, RunLog &_log)
unsigned __int32 kkuint32
Definition: KKBaseTypes.h:89
Container class for FeatureVector derived objects.
Base class for all FeatureFileIO classes.
Definition: FeatureFileIO.h:48
static KKStr Concat(const std::vector< std::string > &values)
Concatenates the list of &#39;std::string&#39; strings.
Definition: KKStr.cpp:1082
FileDesc * FileDescPtr
FeatureFileIOC45 * FeatureFileIOC45Ptr
Used for logging messages.
Definition: RunLog.h:49
void EncodeProblem(const struct svm_paramater &param, struct svm_problem &prob_in, struct svm_problem &prob_out)
MLClassList * MLClassListPtr
Definition: MLClass.h:49
Maintains a list of MLClass instances.
Definition: MLClass.h:233
virtual FeatureVectorListPtr LoadFile(const KKStr &_fileName, const FileDescPtr _fileDesc, MLClassList &_classes, istream &_in, kkint32 _maxCount, VolConstBool &_cancelFlag, bool &_changesMade, KKStr &_errorMessage, RunLog &_log)
volatile const bool VolConstBool
Definition: KKBaseTypes.h:163