-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance adaptive suprathreshold #2302
base: main
Are you sure you want to change the base?
Conversation
daec7e1
to
886e9e6
Compare
d7b9af8
to
7a4e927
Compare
87bc99b
to
03ebd15
Compare
This comment was marked as outdated.
This comment was marked as outdated.
c643b38
to
eaa0825
Compare
00b6e6f
to
ae1e170
Compare
This comment was marked as outdated.
This comment was marked as outdated.
ae1e170
to
17d9733
Compare
@timjarsky Investigation of the live testing from 2025-01-28. H25.26.401.11.53.01.01.pxpNo adaptive data Sst-IRES-Cre.pxp34-49: Passing f-I slope QC and sweep QC on sweeps 46, 48 and 49. 58-75: Passing f-I slope QC and sweep QC on sweeps 72-74. Tricky to see due to +1 offset.
Sst-IRES-Cre (1).pxp10-26: Passing f-I slope QC and sweep QC on sweeps 24, 25 and 26. 37-52: Passing f-I slope QC and sweep QC on sweeps 49-51. 59-68: Passed because the inital FI slope was invalid because 2x the same DAScale. ??? 83-99: Passed because 97: f-I slope QC 99 is the pos/neg slope fillin, but it has the wrong DAScale value. ???
Sst-IRES-Cre (2).pxp18-24: pos/neg slope on 23 and 24. Missing fillin due to bug. ??? 35-44: passing f-I slope on 42-43 (both from RhSuAd) and 44
Sst-IRES-Cre (3).pxp44-59: Sweeps 57 and 58 have f-I neg slope QC. 59 is fillin with wrong dascale ??? 74-84: Passed because the inital FI slope was invalid because 2x the same DAScale. ???
|
17d9733
to
82df058
Compare
H25.03.302.11.53.01.03.pxp:
|
The stock Igor Pro functions don't maintain the relative order of the same key values. So we had to roll our own.
…terFrequencyCurrentData
In that way this is not dead code in the tests. It is also clearer that we check this error condition first.
- Ignore sweeps with negative fI slopes for the DAScale estimation - Store a new QC value if the fI slope is finite and negative - Using this new QC we are now also done if: - We have to consecutive negative fI slope values (as usual failing sweep QC sweeps can be in between) - or we have a passing fI slope and a consecutive (as above) negative fI slope value If we finish due to these two conditions we also fillin another DAScale in between the positive FI slope sweep and the first negative fI slope value. - We now use the new analysis parameter DAScaleNegativeSlopePercent, defaulting to 50%, to calculate a new DAScale value after a negative slope. We use the percentage of the maximum DAScale step for that. - Add a new labnotebook entry which denotes if a value is filled in or not - Also a bug is fixed which did not ignore fillin sweeps when trying to determine if the set is passing. - And similiar bug could result in fillin sweeps being marked as fI slope passing.
In (PSQ_DAScale: Change fitting logic and drop NumPointsForLineFit, 2024-07-10) we added dropping duplicated AP frequencies in the input data for fitting. We do catch that now with the neg fI slope QC better. And that also removes the hack to find a good DAScale in case this was filtered out.
This is also expected in the code.
We need to search for a change of the f-I neg slope QC, so going from 0 to 1. Unfortunately FindSequence has a bug when reverse searching, so we need to workaround that.
- Remove the "initial invalid slope QC" criteria for passing a set. This was passing too often for RhSuAd data which was obviously not done. We keep the constants though as the dashboard still supports it. - The analysis function parameter NumInvalidSlopeSweepsAllowed is therefore also removed. - This also required us to handle NaN for f-I slope more gracefully. It is now ignored for the DAScale estimaton. In addition we now try to always come up with a new DAScale value, and also check that we don't acquire the same one twice. - When finishing an adaptive set due to the RhSuAd data we now calculate a new DAScale value with the method for the negative slope but mark it as PSQ_DS_AD_FINISHED/PSQ_DS_AD_FINISHED_RHSUAD. - Ignore f-I slope values which are NaN also requires us to make them up again in PSQ_DS_GetLabnotebookData as NaN's can not be queried from the labnotebook.
82df058
to
9d45c57
Compare
…AScales We need to check all of the DAscales waves. In addition the check is OR not AND which was done for the two neighbours of xm, xp and xm.
…ameter This analysis parameter, defaulting to 4, sets a lower limit for a sweep to be able to be recognized as having the maximum slope. This should avoid issues with really small AP frequencies resulting in large max slopes and therefore an too early stop.
9d45c57
to
1713079
Compare
@timjarsky Ready for testing. I'll do the flowchart next week. In addition to the requested features I also found an issue with fillin where it would fillin values already acquired in RhSuAd data. |
@t-b the latest version is installed on a production rig. No experiments until tomorrow (Feb 18th, 2025). As part of this PR, could the analysis parameter help messages be standardized? Each message could start with the analysis method it applies to. e.g., sub, supra, adaptive supra, then list the default value and help message. |
Close #2258
Next round after 7739d31 (PSQ_DS_FitFrequencyCurrentData: Remove it, 2025-01-28):