Skip to content

Various PSX fixes#2362

Merged
t-b merged 57 commits intomainfrom
bugfix/2362-psx-support-multiple-selections
Feb 2, 2026
Merged

Various PSX fixes#2362
t-b merged 57 commits intomainfrom
bugfix/2362-psx-support-multiple-selections

Conversation

@t-b
Copy link
Collaborator

@t-b t-b commented Feb 28, 2025

  • FFT size fix using 2^l + 3^k logic
  • psx accepted average fix: return real amplitude for double expontential
  • average fit for reject, undet, all, add into column on the right
  • Add default values for filter frequencies:
sweepFilter: Default values for low/high, order defaults to 4
low cutoff  = 1 / (3 * pi * riseTau)
high cutoff = 1 / (3 * pi * decayTau)
deconvFilter: Default values for low/high, order defaults to 4
low cutoff  = 1 / (4 * pi * riseTau)
high cutoff = 1 / (4 * pi * decayTau)
  • Add y value from PSX_CalculateOnsetTime into psxEvent and psxstats
  • add the fit results as a wave in psx
  • the "block size" control doesn't respect the "current combo" checkbox state
  • add peakThreshold in () behind numberOfSDs in the JWN to document it
  • Add V_mode and all other missing entries from StatsQuantiles to postProc output for stats in psxStats
  • Prep PR: PSX prep #2471
  • TB: Dig up store/results code from slack
  • Tim provides Poc for figuring out psxKernel parameters from scratch
  • Approval from Tim
  • Fix conflicts
  • windows position after move is not kept on pressing display, psx plot only does not reproduce
  • Fix commits a bit
  • Fix tests
  • Add tests for new functionality
  • Update ihf documentation
Old Todos

So this should be ready for a first test. I've adapted `psxKernel` and `psxStats` to allow passing in multiple selections.

  • Fix assertion, https://aiephys.slack.com/archives/C06P3MYEV6H/p1742330027060869
  • PSX multiple selections (only that) #2376
  • Yesterday, we chatted about moving the baseline search before peak_t, and I think
    that still makes sense. The baseline search shouldn't search past the previous
    peak_t. With the baseline_t of the event available, PSX_CalculateEventPeak, instead
    of using prevDeconvPeak_t to constrain the search, can use the event
    baseline_tinstead. The above makes adding a peakfinding operation, which I suggested
    yesterday, unnecessary.
  • Tweak accept fit average logic: The start point for the fit should be calculated via rise time calculation (20% of amplitude, add control "fit start amplitude"). Use that for onset and peak methods.
  • Debug session with Tim
  • Polish code
    • // TODO add vertical dashed lines at positions
      // 3 checkboxes to turn all of these on/off below suppress update
      // peak_t
      // baseline_t
    • Fix assertion when restoring PSX panel with accepted fit checkbox checked
  • Add three taus to stats
  • Wait for Tim's changes
  • Fix function comment PSX_AppendTracesToAllEventGraph
  • https://aiephys.slack.com/archives/D6WGZV2V8/p1743629846161639
  • Fix slow/fast tau
  • Excel import could be better, see UpdateInfoButtonHelp: Set machine-readable text for C&P #2424
  • Commit cleanup
  • Add psxBPSweepFilter (BP = bandpass) and back down order for sweep/deconv. Handle the high/low frequency input arguments for the user such that the filtering is always bandpass.
  • Rename psxDeconFilter to include the filter type acronym (is this also a bandpass filter?). Manage the frequency arguments for the user such that it doesn't matter what order they are provided.
# psxSweepFilter(lowFreq, highFreq [, order = 6])
# back down on having nonfinite values in filtered data, order -2, output passing order
# back down on deconv order as well, same approach
# use code from Tim to determine the highest possible, reapply that order to all sweep data

Close: #1663

@timjarsky

This comment was marked as outdated.

@timjarsky timjarsky assigned t-b and unassigned timjarsky Mar 7, 2025
@t-b

This comment was marked as outdated.

@t-b

This comment was marked as outdated.

@t-b t-b assigned timjarsky and unassigned t-b Mar 11, 2025
@t-b t-b assigned t-b and unassigned timjarsky Mar 18, 2025
@t-b t-b force-pushed the bugfix/2362-psx-support-multiple-selections branch from f508957 to f23db8a Compare March 19, 2025 14:41
@t-b t-b assigned timjarsky and t-b and unassigned t-b and timjarsky Mar 19, 2025
@t-b t-b changed the title Support multiple select statements Various PSX fixes Mar 25, 2025
@t-b t-b force-pushed the bugfix/2362-psx-support-multiple-selections branch from 1332271 to 08deb18 Compare March 26, 2025 18:12
@t-b t-b assigned timjarsky and unassigned timjarsky Mar 26, 2025
@t-b t-b force-pushed the bugfix/2362-psx-support-multiple-selections branch 4 times, most recently from a12c1dd to 193bf80 Compare April 8, 2025 19:46
@timjarsky

This comment was marked as outdated.

@timjarsky
Copy link
Collaborator

@t-b I also tested pasting the average fit results into Excel. The row formatting is correct. However, Excel plots all the columns in one column. Excel is dumb. To correct this, paste into Excel, select the cells, select Data from the menu, select Text to Columns, and select the appropriate delimiter in the Excel pop-up GUI.

@timjarsky
Copy link
Collaborator

timjarsky commented Apr 8, 2025

@t-b there may also be issues with the indivdual decay tau values. For example in this case I'm getting a negative weighted tau.

image

t-b and others added 21 commits January 27, 2026 17:50
We now reserve space for the defaults in the
psxDeconvBPFilter/psxSweepBPFilter operations so that we can later on add
the calculated defaults, which need parameters from psxKernel, can be
added via PSX_AddDefaultFilterFrequencies.
And allow querying them from psxstats.
This is convenient for documentation purposes although this is not an
input parameter.
Ever since 7aa2be6 (PSX: Add average fit for all states, 2025-06-04) we
are using the per-combo index for gathering the
eventKernelAmp/eventOnsetTime/eventPeakTime values.

This is wrong as we must use the index of the displayed events.
We can just do the fits in a free datafolder so that the current
datafolder is not cluttered.
We now don't error out anymore if the Smooth operation fails due to too
few points.

Also remove code which created global waves.
We can easily have this case as the CheckResultsWavesForAverageFitResult
test shows.
We currently leak Igor path objects, so let's kill it before returning.

Bug introduced in 2436f40 (GetAllFilesRecursivelyFromPath: Rework it
completely, 2025-04-16).
Copy link
Contributor

Copilot AI commented Jan 27, 2026

@t-b I've opened a new pull request, #2608, to work on those changes. Once the pull request is ready, I'll request review from you.

@t-b t-b force-pushed the bugfix/2362-psx-support-multiple-selections branch from 5cc8636 to 8d71c75 Compare January 27, 2026 16:52
@timjarsky timjarsky assigned t-b and unassigned timjarsky Jan 31, 2026
@t-b t-b disabled auto-merge February 2, 2026 17:57
@t-b t-b merged commit ac7dbdc into main Feb 2, 2026
47 of 51 checks passed
@t-b t-b deleted the bugfix/2362-psx-support-multiple-selections branch February 2, 2026 17:57
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 this pull request may close these issues.

PSX: Make it faster

3 participants

Comments