00001 /**************************************************************************** 00002 ** Form interface generated from reading ui file 'Qt/SceneUnderstandingForm.ui' 00003 ** 00004 ** 00005 ** WARNING! All changes made in this file will be lost! 00006 ****************************************************************************/ 00007 00008 #ifndef SCENEUNDERSTANDINGFORM_H 00009 #define SCENEUNDERSTANDINGFORM_H 00010 00011 #include <qvariant.h> 00012 #include <qpixmap.h> 00013 #include <qmainwindow.h> 00014 #include "Image/Image.H" 00015 #include "Image/Pixels.H" 00016 #include "Image/DrawOps.H" 00017 #include "Image/CutPaste.H" 00018 #include "BiasSettingsDialog.h" 00019 #include "Component/ModelManager.H" 00020 #include "Neuro/StdBrain.H" 00021 #include "Neuro/SimulationViewerStd.H" 00022 #include "Neuro/VisualCortex.H" 00023 #include "Qt/ImageCanvas.h" 00024 #include "Neuro/SaliencyMap.H" 00025 #include "Image/ColorOps.H" 00026 #include "Media/SceneGenerator.H" 00027 #include "Channels/DescriptorVec.H" 00028 #include "Learn/Bayes.H" 00029 #include "Learn/SWIProlog.H" 00030 #include "DescriptorVecDialog.h" 00031 #include "BayesNetworkDialog.h" 00032 #include "SceneSettingsDialog.h" 00033 #include "SceneUnderstanding/SceneUnderstanding.H" 00034 00035 class QVBoxLayout; 00036 class QHBoxLayout; 00037 class QGridLayout; 00038 class QSpacerItem; 00039 class QAction; 00040 class QActionGroup; 00041 class QToolBar; 00042 class QPopupMenu; 00043 class ImageCanvas; 00044 class QTabWidget; 00045 class QWidget; 00046 class QPushButton; 00047 class QLabel; 00048 class QSpinBox; 00049 class QLineEdit; 00050 00051 class SceneUnderstandingForm : public QMainWindow 00052 { 00053 Q_OBJECT 00054 00055 public: 00056 SceneUnderstandingForm( QWidget* parent = 0, const char* name = 0, WFlags fl = WType_TopLevel ); 00057 ~SceneUnderstandingForm(); 00058 00059 QTabWidget* tabDisp; 00060 QWidget* tab; 00061 ImageCanvas* imgDisp; 00062 QPushButton* EvolveBrainButton; 00063 QPushButton* runButton; 00064 QLabel* textLabel1; 00065 QSpinBox* timesSpinBox; 00066 QPushButton* GenScenepushButton; 00067 QLabel* textLabel1_2; 00068 QLineEdit* dialogText; 00069 QLabel* textLabel2; 00070 QLabel* msgLabel; 00071 QMenuBar *MenuBar; 00072 QPopupMenu *fileMenu; 00073 QPopupMenu *Edit; 00074 QPopupMenu *popupMenu_6; 00075 QPopupMenu *popupMenu_12; 00076 QPopupMenu *View; 00077 QAction* fileOpenAction; 00078 QAction* fileSaveAsAction; 00079 QAction* fileExitAction; 00080 QAction* editConfigureAction; 00081 QAction* editBias_SettingsAction; 00082 QActionGroup* viewActionGroup; 00083 QAction* viewTrajAction; 00084 QAction* viewSMapAction; 00085 QAction* viewChannelsAction; 00086 QAction* editDescriptor_VecAction; 00087 QAction* editBayes_NetworkAction; 00088 QAction* editBayes_NetworkViewAction; 00089 QAction* editBayes_NetworkLoad_NetworkAction; 00090 QAction* editBayes_NetworkSave_NetworkAction; 00091 QAction* editConfigureBias_ImageAction; 00092 QAction* editConfigureScene_SettingsAction; 00093 QAction* editConfigureTrainAction; 00094 QAction* editConfigureTestAction; 00095 QAction* fileOpen_WorkspaceAction; 00096 00097 virtual void init( ModelManager & manager ); 00098 virtual void updateDisplay(); 00099 virtual void showTraj( nub::ref<StdBrain> & brain ); 00100 virtual void showSMap( nub::ref<StdBrain> & brain ); 00101 virtual void showChannels( nub::ref<StdBrain> & brain ); 00102 virtual void classifyFovea( int x, int y ); 00103 00104 public slots: 00105 virtual void fileOpen(); 00106 virtual void fileSave(); 00107 virtual void fileExit(); 00108 virtual void showBiasSettings(); 00109 virtual void evolveBrain(); 00110 virtual void configureView( QAction * action ); 00111 virtual void setBias( int x, int y ); 00112 virtual void getDescriptor( int x, int y ); 00113 virtual void showDescriptorVec(); 00114 virtual void genScene(); 00115 virtual void run(); 00116 virtual void loadBayesNetwork(); 00117 virtual void saveBayesNetwork(); 00118 virtual void viewBayesNetwork(); 00119 virtual void setBiasImage( bool biasVal ); 00120 virtual void showSceneSettings(); 00121 virtual void submitDialog(); 00122 virtual void fileOpenWorkspace(); 00123 00124 protected: 00125 BayesNetworkDialog itsBayesNetworkDialog; 00126 SceneSettingsDialog itsSceneSettingsDialog; 00127 std::vector<Point2D> itsTargetsLoc; 00128 DescriptorVec* itsDescriptorVec; 00129 Image< PixRGB<byte> > itsOutputImg; 00130 BiasSettingsDialog itsBiasSettingsDialog; 00131 Image< PixRGB<byte> > itsImg; 00132 ModelManager *itsMgr; 00133 DescriptorVecDialog itsDescriptorVecDialog; 00134 Bayes *itsBayesNetwork; 00135 SWIProlog *itsProlog; 00136 SceneGenerator *itsTrainScene; 00137 SceneGenerator *itsTestScene; 00138 Point2D itsCurrentAttention; 00139 int itsCurrentObject; 00140 SceneUnderstanding *itsSceneUnderstanding; 00141 00142 QVBoxLayout* SceneUnderstandingFormLayout; 00143 QHBoxLayout* tabLayout; 00144 QHBoxLayout* layout2; 00145 QSpacerItem* spacer9; 00146 QSpacerItem* spacer3; 00147 QSpacerItem* spacer3_2; 00148 QHBoxLayout* layout3; 00149 QHBoxLayout* layout6; 00150 00151 protected slots: 00152 virtual void languageChange(); 00153 00154 private: 00155 bool itsViewTraj; 00156 bool itsViewSMap; 00157 bool itsViewChannels; 00158 00159 QPixmap image0; 00160 QPixmap image1; 00161 00162 }; 00163 00164 #endif // SCENEUNDERSTANDINGFORM_H