---
# System prepended metadata

title: Yateslab code organization

---

## Yateslab code organization

### Organizing neuroviskit vs. projects
- Datasets / Data management
    - each dataset should have a repo that contains the preprocessing code and data serving code
    - dataset repo should have plotting code as well
- should fixational-transients be pip installable? Yes
    - Maybe make the mitchell datasets repo pip installable instead. offload lots of things to that repo and to Neuroviskit
- NeuroVisKit
    - Plotting code should be organized nicely
        - Universal grid plotting function that takes in tensor/array X shape "row x col x h x w"
        - Universal GIF generator takes in X and axis names "c1txy", accepts 1 in places that should be unsqueezed.
        - Universal spatiotemporal weight plotting function that takes X and axis names "c1txy" to plot weights using jakes code
    - Add a bunch of comments and make code readable 
- TODOS
    - Transfer NeuroVisKit transients code to fixational transients.

### todo: within a week, else share code snippets
- [x] Dekel: dataset is pip installable: Data-Mitchell-FreeViewing
- [x] Dekel: test the fixational-transients scripts still run with new organization
- [ ] Jake/Dekel: organize plotting code into Neuroviskit as specified above

### Code to move to neuroviskit
`get_sta` from `fixation.rf`
`plot_weights` and dependencies from `fixation.rf`


Repo naming convention:
Data-<Labname>-<Task/Stimulus>

Data-Rieke-DovesMEA
Data-Huk-Images    