[ ] Time windows -- validation/cutoff at end of acqui duration.
[ ] Stim time is correct? Print out info to verify.
Usability
[ ] Ongoing struggle for better automatic file management. Need ideas.
[ ] Updating/syncing GUI fields properly.
[ ] Freezing/unfreezing GUI fields properly during recording.
Medium priority
[ ] How to average over multiple files to do clustering? When I put in Time Course features, will keep in mind reusability for ROI. Multiple files will be selected for ROI clustering via FilesBrowser. Time Course will plot by default statistics for all standard-format files in the current save directory, with option to FilesBrowser for a subset
[ ] Latency measurements. %Amp Latency, Max Amp Latency, EPSP Latency, HW Latency. E.g. measure time from stimulation to rising edge.
[ ] Analysis-only mode: In analysis-only mode, we do not create any new files automatically, nor overwrite any. This mode is automatically set if the DLL is not found. In this mode, the hardware control buttons are inactive. There will be a checkbox to manually toggle this mode on or off. Note: this can probably replace the auto-save mode, i.e. auto-save OFF = analysis-only ON. Going to wait on this for now, seems like it could be unnecessary
[ ] Reduce the size of the .npy files by a factor of 2 by making it so that Python doesn't allocate the scratch space that the C++ DLL needs for image reassembly. Instead the DLL allocates and frees its own scratch space. Originally I had Python keep the extra space around because I thought it would be useful for caching processed data. Probably not going to do that?
[ ] Refactor GUI to use field_bindings.py to automatically keep fields up-to-date with database
[ ] Overlay all traces on the display frame when binning is high
[ ] Velocity workflow
Lower priority to-do:
[ ] Distance conversion (from pixel distance -> actual distance in microns) -- calculation dependent on lens magnification, and may want to compare a few conversions empirically
[ ] Pixel-by-pixel Frequency Decomposition for oscillatory behavior analysis
[ ] Easier window selection: should launch trace viewer separately, and have an accept to pull in the selected trace. OR plots the current time window in plot, and allows user to click to modify. This will be used for Measure Window, Baseline Skip Window, and windows needed for ROI -- inherit from a generic TimeWindow base class. Use matplotlib fill_between to visual where the time windows are in the Trace Viewer?
[ ] Load image from file and display as translucent overlay
[ ] Aligning images pixel-to-pixel
[ ] ROI Identification workflow (Kate)
[ ] Export to Movie
[ ] Slope
[ ] Simulation (fitting to extract EPSP/spike components)
[ ] Baseline Clamp-at-Point -- clamp at first point is occasionally used
[x] Ideas for refactors to clean up code: Viewer base class,
Not necessary
FP trace inversing
Acquire images while in live feed mode (Sarwagya's idea)
Compressed .npz memmap files to save disk space?
Documentation To-do
[ ] Architecture technical manual (in README on github)
Continued from #10
Current issue: #24
Quick/high priority fixes
Usability
Medium priority
field_bindings.py
to automatically keep fields up-to-date with databaseLower priority to-do:
fill_between
to visual where the time windows are in the Trace Viewer?Not necessary
Documentation To-do