-
Notifications
You must be signed in to change notification settings - Fork 9
Various PSX fixes #2362
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
base: main
Are you sure you want to change the base?
Various PSX fixes #2362
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
@timjarsky This is very likely due to filter settings. |
f508957
to
f23db8a
Compare
1332271
to
08deb18
Compare
a12c1dd
to
193bf80
Compare
This comment was marked as outdated.
This comment was marked as outdated.
@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. |
@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. |
…al fit For the individual event decay fit. Weighted tau is computed for each event.
…events average wave
ca11e4f
to
86f6692
Compare
28e0452
to
e037547
Compare
New MiES algorithmic utility for band pass filtering with Nan, Inf, and ringing rejection and automatic order reduction
Rename it to psxDeconvBPFilter to make it clear that this is a bandpass filter, see also PSX_DeconvoluteSweepData. And also reorder the filter frequencies for the user to avoid an assertion.
Due to implementation details of how FilterIIR implements band pass filters the used order is always even. If required, odd values are increased by one so that they are even. Document that and also make them even already when we get them. We can as well adap the default value to be even already.
Define all variables at the top, reword the documentation.
When PSX_OperationSweepGathering returns 1 as error code, we wrote the code so that idx is not incremented in this case. The idea in d359a7a (PSX_Operation: Handle partial results better, 2024-02-27) was that we don't want holes in the output wave. But the code was buggy as it, after an error, would reuse the same data again, and thus error out again, and therefore ignoring all data behind the first combination with an error. Fix that by introducing separate indizes for reading and writing.
A common tweaking algorithm done by users is to find the lowest filter order which has the data from all combinations passing. As that is manually quite tedious we now do that for her. The idea is to start at some maximum order and then get he realized order for each combination. If the realized order is constant for all combinations, we are done. Otherwise we try the minimum order again and should then be finished. This is done for both sweep and deconv.
This gives better error messages.
We need to preprocess the code before we can extract the variables and the formula. Broken since 8ec6945 (SF: Add support to check also variables with the check button, 2023-03-29).
e037547
to
b400252
Compare
So this should be ready for a first test. I've adapted
psxKernel
andpsxStats
to allow passing in multiple selections.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.
// 3 checkboxes to turn all of these on/off below suppress update
// peak_t
// baseline_t
with
, see SweepFormula: Groups multiple x-axis labels #2423psxStats
, see psxstats: Should accept an array of properties #2422