Skip to content

ivscc apfrequency operation prep1#2642

Merged
t-b merged 8 commits intomainfrom
feature/2642-ivscc_apfrequency_operation-prep1
Mar 3, 2026
Merged

ivscc apfrequency operation prep1#2642
t-b merged 8 commits intomainfrom
feature/2642-ivscc_apfrequency_operation-prep1

Conversation

@t-b
Copy link
Collaborator

@t-b t-b commented Mar 2, 2026

Will merge once CI passes.

…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.
@t-b t-b self-assigned this Mar 2, 2026
Copilot AI review requested due to automatic review settings March 2, 2026 17:09
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@t-b t-b merged commit 02dfabe into main Mar 3, 2026
18 checks passed
@t-b t-b deleted the feature/2642-ivscc_apfrequency_operation-prep1 branch March 3, 2026 12:11
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.

3 participants