AllenInstitute / AllenInstitute/MIES

Add support for default values of optional analysis parameters

Open
#800 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Analysis Functions enhancement
Dominant language
IGOR Pro
Stars
30
Forks
11
Avg merge
1d 40m
Merged PRs (30d)
8

Description

Idea:


Function/WAVE MyAnalysisFunction_GetDefault(string name)
                                                              
    strswitch(name)
        case "optParam1":
             return {1, 2, 3}
             break
       case "optParam2":
             // no good default
             return $""
             break
        default:
             ASSERT(0, "Unimplemented for parameter " + name)
             break
    endswitch
End

XXX_GetDefault:

  • must only handle optional parameters
  • can pack strings/numbers into single element (text) waves
  • only text waves and FP/DP waves are accepted as returned waves
  • can return $"" for saying "want to handle that at runtime" or "no good default"
  • Don't allow stimset saving (interactively from WB GUI) and DAQ starting if the default values don't pass the XXX_CheckParam tests or the function does not adhere to the requirements here.

Tasks:

  • Implementation including AFH_ helper function
  • Suggest default value in wavebuilder GUI
  • Tests

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the proposed XXX_GetDefault and AFH_ helper responsibilities, then inspect how XXX_CheckParam validation, stimset saving, DAQ starting, and the WaveBuilder GUI currently handle optional parameters. The work is done when implementation, GUI default suggestions, and tests cover the listed requirements and invalid defaults are rejected.

Written by the indexing model from the issue text.

Assessment

Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.