TarzaNN
TarzaNN neural network simulator
|
00001 /**************************************************************************** 00002 ** 00003 ** Copyright C 2002-2012 Laboratory for Active and Attentive Vision (LAAV), Department of Computer Science and Engineering, York University, Toronto, ON, Canada. 00004 ** All rights reserved. 00005 ** 00006 ** This file is part of the TarzaNN Neural Network Simulator. 00007 ** 00008 ** This file may be distributed and/or modified under the terms of the 00009 ** GNU General Public License version 2 as published by the Free Software 00010 ** Foundation and appearing in the file LICENSE.GPL included in the 00011 ** packaging of this file. 00012 ** 00013 ** See http://www.tarzann.org/gpl/ for GPL licensing information. 00014 ** 00015 ** Contact info@tarzann.org if any conditions of this licensing are 00016 ** not clear to you. 00017 ** 00018 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00019 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00020 ** 00021 ****************************************************************************/ 00022 00023 #ifndef CaucasianDataset_H_INCLUDED 00024 #define CaucasianDataset_H_INCLUDED 00025 00026 #include <vector> 00027 using namespace std; 00028 #include "Dataset.h" 00029 #include <QDir> 00030 #include <QMutex> 00031 00032 #define STEPS_STAGE_1 10000 00033 #define STEPS_STAGE_2 10000 00034 #define STEPS_STAGE_3 10000 00035 00036 #define IMAGE_SIZE_X 54 00037 #define IMAGE_SIZE_Y 54 00038 00039 #define FACE_IMAGE_SIZE 250 00040 #define MAX_OBJECTS 100 00041 #define MAX_ANGLES 71 00042 #define ANGLE_INCREMENT 5 00043 00044 class CurrentImageF; 00045 00047 class Caucasian_Dataset : public Dataset { 00048 00049 private: 00050 long imageBaseOffset; 00051 long imageSize; 00052 FILE* imageFile; 00053 char* currentfileName; 00054 QFileInfoList fileList; 00055 Matrix* result; 00056 00058 CurrentImageF* currentImage; 00059 00061 static const char* DataFolder; 00062 00064 QImage* baseQImage; 00065 00066 void goToNextStep(); 00067 00068 QMutex dataPrep; 00069 00070 public: 00072 Caucasian_Dataset(char* basefilename); 00074 Caucasian_Dataset(char* basefilename, int steps); 00075 ~Caucasian_Dataset(); 00077 OutputImage* getImage(int index, OutputImage** list, int LorR=0); 00079 Matrix* getDesiredOutcome(int index); 00081 int getRandomIndex(); 00082 00083 }; 00084 #endif/*CaucasianDataset_H_INCLUDED*/