Merged
Conversation
…oth sides The operations return now a zero sized dataset if on both sides a zero sized dataset is given as input.
By definition the first NUM_HEADSTAGES colors are used to distinguish data from headstages. The following color is used for averaged traces. The new function GetTraceColorNonHeadstage returns a color that is not part of this pool. Also fixed a typo in the description for GetTraceColorForAverage
…FitFunctionCoefficientNumber The functions allow to programmatically retrieve information about Igors integrated fit functions. IsIntegratedFitFunction allows to check a fit function name if it matches an Igor integrated fit function. GetIntegratedFitFunctionCoefficientNumber returns the number of coefficients required by an integrated fit function. The wave getter GetSFIgorFitProperties can be extended with more information in additional columns if needed.
This allows to specify fit constraints in the form "K0 > 3" in a sweep formula.
There was a problem hiding this comment.
Pull request overview
This PR prepares SweepFormula and related utilities/tests for upcoming IVSCC AP frequency work by extending formula parsing/plotting capabilities and adding helper utilities plus new test coverage.
Changes:
- Add SweepFormula error bar support via wave-note metadata and plotter integration.
- Add utilities for querying Igor integrated fit functions and JSON wave-note keys, with corresponding tests.
- Improve SweepFormula parsing/ops behavior (allow
</>in parser; handle empty datasets in basic math ops), and refine trace color handling via a named constant.
Reviewed changes
Copilot reviewed 12 out of 14 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| Packages/tests/Basic/UTF_Utils_Checks.ipf | Adds tests for integrated fit-function helper APIs. |
| Packages/tests/Basic/UTF_SweepFormula_Operations.ipf | Adds test generator for basic math ops with empty datasets. |
| Packages/tests/Basic/UTF_SweepFormula.ipf | Adds parser acceptance test for <> in strings and a new error bar plotting test op/test. |
| Packages/tests/Basic/UTF_JSONWaveNotes.ipf | Adds test coverage for new JWN_GetKeys helper. |
| Packages/MIES/MIES_WaveDataFolderGetters.ipf | Adds getters for persistent SweepFormula errorbar waves and a table of Igor fit function properties. |
| Packages/MIES/MIES_Utilities_Checks.ipf | Adds helpers to detect integrated fit functions and fetch their coefficient count. |
| Packages/MIES/MIES_SweepFormula_Parser.ipf | Extends valid character set to include < and >. |
| Packages/MIES/MIES_SweepFormula_Operations.ipf | Adjusts primitive dataset ops to return empty output when both inputs are empty. |
| Packages/MIES/MIES_SweepFormula.ipf | Integrates error bar extraction from wave notes and applies ErrorBars during plotting. |
| Packages/MIES/MIES_JSONWaveNotes.ipf | Adds threadsafe JWN_GetKeys wrapper around JSON_GetKeys. |
| Packages/MIES/MIES_GuiUtilities.ipf | Replaces hardcoded color count with constant, fixes typo, adds non-headstage color accessor. |
| Packages/MIES/MIES_Constants.ipf | Adds SweepFormula errorbar metadata constants, moves SF op constants, introduces TRACECOLORMAX. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Will merge once CI passes.