00001 #ifndef SOMData_H
00002 #define SOMData_H
00003
00004 #include "defs.h"
00005 #include "util.h"
00006 #include <iostream>
00007
00008 using std::cout;
00016 class SOMData {
00017 private:
00018 TMatrix _entries;
00019 int _data_size;
00020 int _dimension;
00021 TvecLabel _label;
00022 TvecLabel _id;
00023
00024 public:
00026 ~SOMData();
00027
00029 TMatrix getEntries() const;
00030
00032 void setEntries( TMatrix entries );
00033
00035 int getDimension() const;
00036
00038 void setDimension( int d );
00039
00041 TvecLabel getLabel();
00042
00044 void setLabel( TvecLabel l );
00045
00047 int getDataSize() const;
00048
00050 void setDataSize( int s );
00051
00053 void createId();
00054
00056 TvecLabel getId();
00057
00059 void setId (TvecLabel id);
00060 };
00061
00062
00063
00064 SOMData::~SOMData() {
00065 free_matrix( _entries, 1, _data_size, 1, _dimension );
00066 };
00067
00068 TMatrix
00069 SOMData::getEntries() const {
00070 return _entries;
00071 };
00072
00073 void
00074 SOMData::setEntries( TMatrix entries ) {
00075 _entries = entries;
00076 };
00077
00078 int
00079 SOMData::getDimension() const {
00080 return _dimension;
00081 };
00082
00083 void
00084 SOMData::setDimension( int d ) {
00085 _dimension = d;
00086 };
00087
00088
00089 TvecLabel
00090 SOMData::getLabel() {
00091 return _label;
00092 };
00093
00094 void
00095 SOMData::setLabel( TvecLabel l ) {
00096 _label = l;
00097 };
00098
00099
00100 int
00101 SOMData::getDataSize() const {
00102 return _data_size;
00103 };
00104
00105 void
00106 SOMData::setDataSize( int s ) {
00107 _data_size = s;
00108 createId();
00109 };
00110
00111 TvecLabel
00112 SOMData::getId() {
00113 return _id;
00114 };
00115
00116 void
00117 SOMData::setId(TvecLabel id) {
00118 _id = id;
00119 }
00120
00121 void
00122 SOMData::createId() {
00123 if (_id.empty())
00124 {
00125 for (int i = 1; i <= _data_size; i++)
00126 {
00127 _id.push_back("id" + inttostr(i));
00128 }
00129 }
00130 else
00131 {
00132 _id.erase(_label.begin(),_label.end());
00133
00134 for (int i = 1; i <= _data_size; i++)
00135 {
00136 _id.push_back("id" + inttostr(i));
00137 }
00138 }
00139 };
00140
00141
00142
00143 #endif
00144