// HOUSE MODEL // // FILE NAME : House.h // MODULE TYPE : Depth Class // STATUS : In development // PURPOSE : Visual depth analisys // // Instituto Tecnologico Autonomo de Mexico // (c) Copyrigth 1996 // // HISTORY : Version (Date-Name) Modification, description. // // 1.0 (Agu 13, 1996 - Claudia Calderas & Salvador Marmol), // Start of development for distributed execution. // // 1.5 (Sept 22, 1997 - Salvador Marmol), // Adecuation for the new library. // // 1.9 (Oct 23, 1997 - Oscar Peguero), // Schemas using Input/Outport ports. // // 1.9.1 (Nov 10, 1997 - Oscar Peguero), // Implementation of the stereo schema. class Dev2 : public NslModule { public: NslDinFloat2 a; // from Retina NslDinFloat2 s; // input from other depth NslDoutFloat2 mf; // firing rate layer private: NslFloat2 m; // membrane potential layer NslFloat1 u; // membrane potential layer NslFloat1 uf; // firing rate layer NslFloat0 tu; NslFloat0 tm; NslFloat0 hu; NslFloat0 hm; NslFloat1 wm; NslFloat0 kmu; NslFloat0 kam; NslFloat0 kum; NslFloat0 ks; NslFloat0 x1; NslFloat0 x2; public: Dev2(char*, NslModule*,int,int); ~Dev2() {} void initRun(); void simRun(); }; class HouseRetina : public NslModule { public: NslDinFloat2 in; // network input NslDoutFloat2 a; // accommodation layer NslDoutFloat2 d; // disparity layer private: NslFloat1 rl; // left retina NslFloat1 rr; // right retina NslFloat0 w; // = 3.0; 1/2 of interpupilary distance (cm) NslFloat0 yf; // = -10.0; intersection of optical axes (0,yf) (cm) NslFloat0 l; // = 22.0; interpupilary line distance from origin (cm) NslFloat0 dmax; // = 0.25; // maximum disparity NslFloat0 sigma; // = 0.25; // spread parameter public: HouseRetina(char*,NslModule*, int, int,int); ~HouseRetina() {} void initRun(); }; class HouseStereo : public NslModule { public: NslDinFloat2 in; NslDoutFloat2 out; private: Dev2 s,m; HouseRetina r; public: HouseStereo(char *, NslModule*,int,int,int); ~HouseStereo() {} void makeConn(); }; class HouseVisin : public NslModule { public: NslDoutFloat2 out; HouseVisin(char *, NslModule*,int,int); ~HouseVisin() {} }; class DepthModel : public NslModel { public: HouseVisin visin; HouseStereo stereo; DepthModel(); ~DepthModel() {} void makeConn(); };