Skip to content

Commit

Permalink
PSQ_DS_GatherAndWriteFrequencyToLabnotebook: Don't calculate apfreque…
Browse files Browse the repository at this point in the history
…ncy with failing baseline QC

This does not make sense. And also prevents very large frequencies when
stopping after chunk 0 as an early stop makes epoch E1 shorter and
therefore the frequency higher.
  • Loading branch information
t-b committed May 23, 2024
1 parent fbc90e0 commit b5300a3
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 5 deletions.
7 changes: 7 additions & 0 deletions Packages/MIES/MIES_AnalysisFunctions_PatchSeq.ipf
Original file line number Diff line number Diff line change
Expand Up @@ -2315,6 +2315,13 @@ static Function PSQ_DS_GatherAndWriteFrequencyToLabnotebook(string device, varia

WAVE numericalValues = GetLBNumericalValues(device)

key = CreateAnaFuncLBNKey(PSQ_DA_SCALE, PSQ_FMT_LBN_BL_QC_PASS, query = 1)
WAVE baselineQC = GetLastSetting(numericalValues, sweepNo, key, UNKNOWN_MODE)

if(IsFinite(baselineQC[headstage]) && !baselineQC[headstage])
return NaN
endif

if(TestOverrideActive())
WAVE overrideResults = GetOverrideResults()
NVAR count = $GetCount(device)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ static Function/WAVE GetEntries_IGNORE(string device, variable sweepNo)
return wv
End

static Function [WAVE apFreqRef, WAVE apFreqFromRHSupra, WAVE DAScalesFromRheobaseSupra] ExtractRefValuesFromOverride(variable sweepNo)
static Function [WAVE apFreqRef, WAVE apFreqFromRHSupra, WAVE DAScalesFromRheobaseSupra] ExtractRefValuesFromOverride(variable sweepNo, [WAVE baselineQC])

WAVE/Z overrideResults = GetOverrideResults()
CHECK_WAVE(overrideResults, NUMERIC_WAVE)
Expand All @@ -227,6 +227,14 @@ static Function [WAVE apFreqRef, WAVE apFreqFromRHSupra, WAVE DAScalesFromRheoba
WAVE/Z apFreqFromRHSupra = JWN_GetNumericWaveFromWaveNote(overrideResults, "/APFrequenciesRheobaseSupra")
WAVE/Z DAScalesFromRheobaseSupra = JWN_GetNumericWaveFromWaveNote(overrideResults, "/DAScalesRheobaseSupra")

if(!ParamIsDefault(baselineQC))
apFreqRef[] = baselineQC[p] == 1 ? apFreqRef[p] : NaN

if(!HasOneValidEntry(apFreqRef))
WaveClear apFreqRef
endif
endif

return [apFreqRef, apFreqFromRHSupra, DAScalesFromRheobaseSupra]
End

Expand Down Expand Up @@ -332,9 +340,10 @@ static Function PS_DS_AD1_REENTRY([string str])
Make/FREE/D maxDAScaleNormRef = {.075, NaN, NaN}
CHECK_EQUAL_WAVES(entries[%maxDaScaleNorm], maxDAScaleNormRef, mode = WAVE_DATA, tol = 1e-24)

[WAVE apFreqRef, WAVE apFreqFromRHSupra, WAVE DAScalesFromRheobaseSupra] = ExtractRefValuesFromOverride(sweepNo)
[WAVE apFreqRef, WAVE apFreqFromRHSupra, WAVE DAScalesFromRheobaseSupra] = ExtractRefValuesFromOverride(sweepNo, baselineQC = entries[%baselinePass])

CHECK_EQUAL_WAVES(entries[%apfreq], apFreqRef, mode = WAVE_DATA)
CHECK_WAVE(apFreqRef, NULL_WAVE)
CHECK_WAVE(entries[%apfreq], NULL_WAVE)
CHECK_EQUAL_WAVES(entries[%apFreqFromRHSupra], apFreqFromRHSupra, mode = WAVE_DATA)
CHECK_EQUAL_WAVES(entries[%dascaleFromRHSupra], DAScalesFromRheobaseSupra, mode = WAVE_DATA)

Expand Down Expand Up @@ -754,7 +763,7 @@ static Function PS_DS_AD3_REENTRY([string str])
Make/FREE/D maxDAScaleNormRef = {0.375, NaN, NaN}
CHECK_EQUAL_WAVES(entries[%maxDaScaleNorm], maxDAScaleNormRef, mode = WAVE_DATA, tol = 1e-24)

[WAVE apFreqRef, WAVE apFreqFromRHSupra, WAVE DAScalesFromRheobaseSupra] = ExtractRefValuesFromOverride(sweepNo)
[WAVE apFreqRef, WAVE apFreqFromRHSupra, WAVE DAScalesFromRheobaseSupra] = ExtractRefValuesFromOverride(sweepNo, baselineQC = entries[%baselinePass])

CHECK_EQUAL_WAVES(entries[%apfreq], apFreqRef, mode = WAVE_DATA)
CHECK_EQUAL_WAVES(entries[%apFreqFromRHSupra], apFreqFromRHSupra, mode = WAVE_DATA)
Expand Down Expand Up @@ -1602,7 +1611,7 @@ static Function PS_DS_AD12_REENTRY([string str])
Make/FREE/D maxDAScaleNormRef = {0.4609374999999999, NaN, NaN, NaN}
CHECK_EQUAL_WAVES(entries[%maxDaScaleNorm], maxDAScaleNormRef, mode = WAVE_DATA, tol = 1e-24)

[WAVE apFreqRef, WAVE apFreqFromRHSupra, WAVE DAScalesFromRheobaseSupra] = ExtractRefValuesFromOverride(sweepNo)
[WAVE apFreqRef, WAVE apFreqFromRHSupra, WAVE DAScalesFromRheobaseSupra] = ExtractRefValuesFromOverride(sweepNo, baselineQC = entries[%baselinePass])

CHECK_EQUAL_WAVES(entries[%apfreq], apFreqRef, mode = WAVE_DATA)
CHECK_EQUAL_WAVES(entries[%apFreqFromRHSupra], apFreqFromRHSupra, mode = WAVE_DATA)
Expand Down

0 comments on commit b5300a3

Please sign in to comment.