0001: Work on mcode.py
   1. Create a new branch (mcode) to work on this (We need to learn how to use those :) )
	- see : https://www.atlassian.com/git/tutorials/using-branches/git-merge
   2. processing/mcode should contains method based on optic flow
   	- write geometrical_optic_flow(scene, viewing_directions, posorient_vel):
               See the matlab optic flow toolbox of the lab / the stuff you wrote a while ago :)
	       scene, viewing_directions -> processing/pcode/pcv
               posorient_vel should be a pandas series with 'x','y',... 'dx','dy', .... see moving/agent
   	- write emd_hasenstein_reichardt(scene, prev_response, filters_cutoff)
               See Egelhaaf 1989
	       Should only work for ibpc
        - write emd_barlow_lewick(scene, prev_response, filters_cutoff)
	       See 
   3. write test functions (like always :) )
        - for geometrical optc flow
		- yaw only -> no el optic flow 
                           -> az optic flow is prop to sin(el)
                - pitch only -> min optic flow at az=+/- 90deg, el=0
                - ....
                - forward x -> min forward/backward, max on the sides. 
   4. merge branch mcode with master 

0002: Update the doc, massively with 
  Scheduled : 11/12 of January

0003: Write a new rendering module based on Panda3D (branch panda3d). 

0004: Write network like code function (branch ncode)
   0. Think on code structure (trying to avoid massive formating)
   1. Familiarity network of Bart Baddeley (2012)
   2. Haffenbach (1987)
   3. Ring-attractor (Goldschmidt 2017)
   4. Ring-attractor (Stone 2017)


------------------------------------------------------
Are those below still to do ?
------------------------------------------------------
0003: Improve database
In the init database I would like to use class properties instead of get/read
line: 263,273,and 394
    def create(self)
should be replaced by:
    @property
    def create(self)

It implies that at every point that self.create() is called should be changed to self.create [Note the absence of parenthesis]

line: 298
    def get_posorients(self) 
should be replaced by
    @property
    def posorients(self)

Need to propagate the changes through all the code (see rendering / processing / moving )

Should be done, but maybe I missed something?

------------------------------------------------------
0005: Write test function for raise Error
- for every raise error create a test function, checking that the error is correctly thrown (see moving/test_agent for inspiration)

also should be done. But I did not add any more checks to the moving part, shall I check for additional possible checks?


--------------------------------------------------------------------
0009: can the last dimension (4) of the place-code be greater 1? (should be 1)
    Yes it can, see apcv a [1x1x1x3] array 
0010: what is the image in the database? must it be transformed to a a scene?
    The image is an image, and distance the distance. I added scene as a join image+distance array
    now we do not have a  read_image function in database anymore, is it supposed to be like this?