Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Object vector cells #21

Closed
TomGeorge1234 opened this issue Jan 20, 2023 · 1 comment
Closed

Object vector cells #21

TomGeorge1234 opened this issue Jan 20, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@TomGeorge1234
Copy link
Collaborator

I intend to add a new class of cells ObjectVectorCells. Each object vector cell reflects a tue of an object location, a prefered directional tuning and preferred angular tuning. The activity of the cell will be high when the agent is the preferred distance at the preferred angle away from the the object.

Each OVC will have an on-off parameter. This means they will be able to resemble, for example, LEDs which can be on or off.

@TomGeorge1234 TomGeorge1234 added the enhancement New feature or request label Jan 20, 2023
@TomGeorge1234
Copy link
Collaborator Author

ObjectVectorCells have now been added. Each OVC comes with a preferred direction and distance. This determines the firing field (gaussian in distance, von rises in direction). Example:

Env = Environment()
Ag = Agent(Env)
OVCs = ObjectVectorCells(Ag) 
fig, ax = OVCs.plot_rate_map()

OVCs_1848

By default, the position, tuning angles, tuning distances and the sharpness of these tunings are set at initialisation but they can be manually set be hand using the attributes:

self.object_locations #default random across environment
self.tuning_angles #default uniform from 0 to 2pi 
self.tuning_distances #default drawn from Rayleigh distribution around 25cm 
self.sigma_distances #linearly scales with the tuning distance
self.sigma_angles #default +-15 degrees 

ObjectVectorCells as visual cues

By setting, at time of initialisation, the input parameter field_of_view to True:

OVCs = ObjectVectorCells(Ag,params = {'field_of_view':True})

then, the behaviour of the cells is such that they will only fire if the Agents head direction is pointed towards them. This works because the 'angle' is calculated as the difference between the heading direction of the Agent and the direction of the vector between it and the OVCs. The preference angles are set to zero, the the cells select for when the heading direction = the vector bearing. In this "egocentric" mode they act like, perhaps, LEDs-detector-neurons, which only fire when being looked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant