RichardFav / spikeGUI

Electrophysiology Analysis GUI Repository
MIT License
0 stars 1 forks source link

Speed LDA Comparison (pooled experiments) freezes #52

Closed Sepidak closed 4 years ago

Sepidak commented 4 years ago

related to #49. Now this only happens when "pool all experiments" is not chosen. est experiment: /home/skeshav/code/Analysis/data_files/2_Input_Files/Z3 - Multi Experiment Data Files/ALL-fixed-cells-final-Filtered.mdata LDA parameters: min cell count=12; min trial count=14; comparison conditions=black, uniform, motordrifting solver=eigen; cell signal type=all cells, velocity bin: 5-10

RichardFav commented 4 years ago

There were a few issues here that have been found and resolved. It should be noted that this function will take a long time to run, as there are a large number of experiments to be analysed. Therefore, this function should be analysed when the GUI is in Run mode (rather than Debug mode) as this will reduce the runtime of the function by about 50%.

In any case, this fix is now available on Subiculum.

Sepidak commented 4 years ago

questions relate to this: 1-what happens when there are experiments with 20-30 cells and others with 60-80 cells? is the maximum number of pooled neurons based on the largest experiment? For instance, I can see that we have maximum of 50 in the drop-down. 2- Given for each experiment we are pooling neurons within that experiment and then this is done for multiple exp, there must be a range (rather than just one dot). This is the same as in pooled LDA where we can get the SEM or IQR but here we don't have it. We should see the error across experiments somehow.

RichardFav commented 4 years ago

To answer the questions above, there was no previous consideration given to separating non-pooled experiments (with regards to error range calculations). This is because the function was originally written to pool all experiments into 1 - hence no need for error bars.

Therefore, I have overhauled the function so that the when the function is run in non-pooling mode, the accuracy values are stored for each experiment. This allows the calculation of errors (which in this case is SEM). With regards to the first point raised above, the N-value (for the SEM calculations) is determined by the number of experiments that have >= the number of cells for a given plot point (i.e, for N(cell) = 1 all experiments will be included, but N(cell) = max(N(cell)) will only have experiments with the max number of cells - usually just 1 experiment).

An added feature to the function is that you now have the ability to either plot "Mean + SEM" or "Psychometric Curves" when analysing in non-pooling mode (only the Psychometric curves will be plotted when running the function in pooling mode). This can be achieved by altering the "Plot Type" plotting parameter.