SceneUnderstandingForm.h
00001
00002
00003
00004
00005
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