Closed mehulrastogi closed 1 year ago
@TomGeorge1234 you were right calculating the relative positions of the cells in the display_manifold function does not cause major speed problems. Adopted that now.
So essentially one would be able to change the tuning_distance just by changing this object variable
I like it. More convinced now that this is the most sensible way to do things. Some proposed changes (mostly linguistic):
"manifold_function"
lets call this parameter "cell_arrangement"
which can be (for now) if ["random" ,"uniform_manifold","diverging_manifold"]
. This allows us to distance ourselves from the terms manifold and hartley which are a bit specific/loaded (we can use them in the comments to clarify).
_create_manifold()
should be renamed set_vector_cell_parameters
utils
functions get_uniform_manifold()
and get_hartley_manifold()
could go to create_uniform_radial_assembly()
and create_diverging_radial_assembly()
display_manifold()
--> display_vector_cells()
but here we should have an alias function dispaly_manifold()
which links to the new names and throws a deprecation warning.VectorCells
doesn't need a "name"
parametersmatplotlib.collections.EllipseCollection(widths, heights, angles, *, units='points', **kwargs)
as opposed to looping over the cells in a for
-loop. Tbh I don't know if ellipse collections actually just does a loop in which case it may not be worth the effort. I also could figure out how to set the position of each ellipse, only the angles and sizes. FoVCells
to send people to the new flashy fov vector cells in Neurons.py
Optional but not essential
get_hartley_manifold()
has a fixed parameter inside it called beta
. This determines the rate of perspective increase and I found that 5 is a nice amount so hard set it at that. We might make this a parameter of the function. Importantly it is the same beta
as that which defaults to 12 in VectorCells
line 1100 so maybe theres a saving we could use here. I'll think of more and we can chat tomorrow. Getting there and thanks again for the work!
Seems like the checks are running now :)
This branch addresses the issue discussed in #71 .
This has the following changes:-
A small caveat for the OVCs. Now instead of being randomly assigned to objects. Now one can passed a preferred object type