[ ] Only frame-based entry boxes should be editable (cannot edit ms boxes)
[x] To convert file to .npy, load a save-as browser for the user. Remove all the business about generating filenames with rec, loc, slice. to do: set current file in db, copy data directly so that going forward only the new file is touched
[ ] RLI compatible with TSM workflow (dark frame): Option to "load RLI (no-stim) data from TSM" -- averages the recording for light frame, and takes the dark frame for subtraction. Using pre-stim would be more automatic and more precise (being just ms before the actual recording).
[x] Also get rid of the save directory system? Load directory alone is good enough?
[x] Fix region TSV import
[x] Read in .tsm files into Python.
[x] Read in .tsm header info.
[x] Read in .tbn files into Python. A .tbn file has one short integer for number of channels (negative if data is for NI unit) and one short integer for BNC-ratio (a multiplier for the frame rate of the camera) as the header followed by data channels by channel. The data from built-in A/D is in short integer while the data from NI is in float64. The number of frames is the same as .tsm multiplied by BNC ratio
[x] Separate PhotoZ into minimum viable acquisition program + separate PhotoZ program. Create a simple version of PhotoZ that excludes analysis-related code. A clear analysis vs acquisition split could be beneficial from a debugging perspective, to avoid having to handle cases where data might be overwritten, and switching between analysis and acquisition contexts fluidly
[x] This analysis-only software will become its own ImageZ project. An all-purpose analysis program taking in data only via file, supporting many file formats -- zda, tsm and converting them to efficient-to-analyze npy/json formats. Then our software for acquisition can then change as often as needed and we have the flexibility to analyze in one place, and still in real-time.
[x] Auto-detect new files in a chosen directory.
[x] Get rid of slice-loc-record system, instead move to entirely load-save based system.
[x] Load file chooser filter to only relevant files.
[x] Load file chooser refreshes appropriately.
[x] However, Time-Course based on parsing file names as slice-location-record will still be supported (for .npy only).
TSM data read into Python
[ ] 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
Documentation To-do
[ ] Architecture technical manual (in README on github)
Moved from https://github.com/john-judge/PhotoLib/issues/27
Option to "load RLI (no-stim) data from TSM" -- averages the recording for light frame, and takes the dark frame for subtraction.Using pre-stim would be more automatic and more precise (being just ms before the actual recording).ImageZ
project. An all-purpose analysis program taking in data only via file, supporting many file formats -- zda, tsm and converting them to efficient-to-analyze npy/json formats. Then our software for acquisition can then change as often as needed and we have the flexibility to analyze in one place, and still in real-time.TSM dark frame read into Python
Same data as above, viewed in PhotoZ