Skip to content
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

Adaptive enhancements #2258

Open
5 of 6 tasks
t-b opened this issue Sep 12, 2024 · 4 comments · May be fixed by #2302
Open
5 of 6 tasks

Adaptive enhancements #2258

t-b opened this issue Sep 12, 2024 · 4 comments · May be fixed by #2302
Assignees

Comments

@t-b
Copy link
Collaborator

t-b commented Sep 12, 2024

  • Don't do linear estimation for DASCale values when the slope is negative or zero, instead go in DAScaleNegativeSlopePercentage steps to larger DAScale values. If negative or zero with further increase in DAScale, this is the max DAScale that is acquired. Then fill in, as described next (setQC is passing in this case, independent of NumSweepsWithSaturation):
  • With negative slope, fill in between last DAScale with positive slope and first negative/zero slope DAScale based on DAScaleFillInPercentageNegativeSlope
  • Round to pA in SetDAScale
  • Add prefix (F or R or X) in "DAScale values left" to mark where the value came from
  • Add an analysis parameter to determine how many SCIs we look back for failing adaptive suprathreshold data. We currently only look at the very previous one.

negative means negative and zero.

  • Additional passing criteria: 1. two negative slopes in a row. 2. a FI slope QC passing and one negative slope in a row (in this order). If a negative slope is obtained, subsequent slope measurements are made from the last da scale that gave a positive slope (this is not reset after a possible positive slope as we want to ignore negative slopes always). After 1 or 2, one additional sweep is acquired with a DA scale that splits the difference between the last da scale with a positive slope and the first with a negative one. We still do frequency fillin as usual.

For all sweeps with negative slope we don't care about post pulse baseline QC. The purpose here is to minimize the number of sweeps acquired with depolarization block.

DAScaleNegativeSlopePercentage (1-100% of maxDASCaleStep) is applied after the first negative slope to set the DA scale.

New behaviour applies to RhSuAd data as well.

@t-b t-b self-assigned this Sep 16, 2024
@t-b t-b linked a pull request Nov 26, 2024 that will close this issue
4 tasks
@t-b
Copy link
Collaborator Author

t-b commented Dec 3, 2024

Q: Is the fillin between positive and first negative slope in addition to the usual fillin (frequencies larger than MaxFrequencyChangePercent separated) ? Or instead?
Q: Does the new negative/zero slope criteria extend to previously acquired data (rheobase, supra, passing adaptive sweeps from failing sets)?
Q: If we have one sweep with negative/zero slope and then are back to positive slope on the next sweep; we are back into the normal terrain where we honour NumSweepsWithSaturation right? And this could get on and on?
Q: Do the negative/zero slope sweeps count towards NumSweepsWithSaturation in the previous case?

@timjarsky
Copy link
Collaborator

Q: Is the fillin between positive and first negative slope in addition to the usual fillin (frequencies larger than MaxFrequencyChangePercent separated) ? Or instead?

Acquire one additional sweep with the DA scale halfway between the first negative slope and the next largest acquired DA scale setting, and then stop.

Q: Does the new negative/zero slope criteria extend to previously acquired data (rheobase, supra, passing adaptive sweeps from failing sets)?

This is a difficult question. If the cells firing have saturated, then yes. However, if the slope is negative because the response is noisy at the foot of the FI curve, then no. I am trying to figure out an easy way to distinguish between those cases.

Q: If we have one sweep with negative/zero slope and then are back to positive slope on the next sweep; we are back into the normal terrain where we honour NumSweepsWithSaturation right? And this could get on and on?

The reference for measuring slope with a negative slope measurement should be the sweep with the highest DA scale with a positive slope measurement. We want to avoid "calling" a response that is less negative, positive.

Q: Do the negative/zero slope sweeps count towards NumSweepsWithSaturation in the previous case?

Yes, but we have achieved set pass criteria regardless (i think?).

@t-b
Copy link
Collaborator Author

t-b commented Dec 3, 2024

@timjarsky Thanks for the speedy answers. I'll reply longer tomorrow, but for now I'm having trouble aliging your answers with the requirements in 1.

@t-b
Copy link
Collaborator Author

t-b commented Dec 4, 2024

Plot for helping discussion:

grafik

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants