AVI.h

Go to the documentation of this file.
00001 
00002 //Refereanser til eksternt grensesnitt/kode som anvendes i denne filen
00003 #include <string>
00004 #include <vector>
00005 #include "Image.h"
00006 #include "Feature.h"
00007 #include "Image_pair.h"
00008 #include "Region.h"
00009 #include "Pixel.h"
00010 #include "Sort.h"
00011 #using <mscorlib.dll>
00012 
00014 using namespace std;
00015 
00017 const float NN_INFINITY = 1000000;
00018 
00019 
00027 class AVI
00028 {
00029 
00031         vector<Image*> approvedImages;
00032 
00034         vector<Image*> rejectedImages;
00035 
00037         vector<Feature*> featureCandidates;
00038 
00040         vector<Region*> calculatedRegions;
00041 
00043         Image_pair *imagePairs;
00044 
00046         float weightArea;
00047 
00049         float weightCentroid;
00050 
00052         float weightBoundingBox;
00053 
00055         unsigned short int numberOfWindows;
00056 
00058         unsigned int *windowVectorMapX;
00059 
00061         unsigned int *windowVectorMapY;
00062 
00064         int windowPartitioning;
00065 
00067         int minIntensity;
00068 
00070         int maxInhomogenity;
00071 
00073         int maxBlurIterations;
00074 
00076         int minArea;
00077 
00079         int grow;
00080 
00082         int writeSegmentationToFile;
00083 
00085         Sort *sort;
00086 
00088         int numberOfFeatureCandidates;
00089 
00091         string trainingDataFileName;
00092 
00094         string executeDataFileName;
00095 
00097         string selectedFeaturesFileName;
00098 
00100         string folderNameOnline;
00101 
00103         string onlineResultFileName;
00104 
00106         vector<string> *approvedNames;
00107         
00109         vector<string> *rejectedNames;
00110 
00112         vector<string> *onlineNames;
00113 
00115         string appString;
00116 
00118         string rejString;
00119 
00121         string onlineString;
00122 
00124         int nnNumNeuronsHidden;
00125 
00127         int nnMaxEpochs;
00128 
00130         int nnEpochsBetweenReports;
00131 
00133         float nnDesiredError;
00134 
00136         int dimSum;
00137 
00138 
00144         void readConfiguration(const char *fileName);
00145 
00146 
00154         float * readReq(string input);
00155 
00156 
00163         void initializeFeature(Feature *feature, string *lines);
00164 
00165 
00175         string ToCppString(System::String *str);
00176 
00177 
00183         void windowAssignment(int *dimension);
00184 
00185 
00193         int getWindow(Pixel p);
00194 
00195 
00201         void calculateRegionData(Image *image);
00202 
00203 
00209         int createImagePairs();
00210 
00211 
00217         void calculateBigFeatureSet(int numberOfPairs);
00218 
00219 
00225         void calculateRegionFeatureVector(Region *region);
00226 
00227 
00236         void calculateFeatureCandidatesKeyData(int numberOfPairs);
00237 
00238 
00244         vector<int> * selectCandidateFeatures();
00245 
00246 
00256         void calculateLeftovers(vector<int> *selectedFeatures);
00257 
00258 
00267         int writeTrainingDataToFile(vector<int> *selectedFeatures, const char *filename);
00268 
00269 
00279         void writeTrainingVector(unsigned int nnInputVectorSize, float *nnInputVector, FILE *out);
00280 
00281 
00290         void insertValuesIntoVector(int start, float *nnInputVector, Region *region, vector<int> *selectedFeatures);
00291 
00292 
00300         vector<Feature*> * readSelectedFeaturesFromFile(const char *fileName);
00301 
00302 
00310         Feature * getFeatureFromID(int id);
00311 
00312 
00321         float * calculateOnlineImageData(vector<Feature*> *selectedFeatures, vector<Region*> *regions);
00322 
00323 
00331         float roundOf(float x);
00332 
00333 
00334 public:
00335 
00342         AVI(int online, const char *configurationFileName);
00343 
00347         ~AVI();
00348 
00349 };

Generated on Sun May 21 10:54:04 2006 for Automatisk visuelt inspeksjonssytem by  doxygen 1.4.6-NO