ResearchOS / Biomech-Analysis-Platform-MATLAB

A GUI-based operating system framework to facilitate biomechanical data analysis. This platform attempts to manage the non-scientific part of coding without restricting the direction or method of scientific analysis.
MIT License
4 stars 0 forks source link

Create dependencies graph #70

Closed mtillman14 closed 1 year ago

mtillman14 commented 2 years ago

With different analyses & specific functions indicated, etc. Each variable will be one row within its function, with vertical lines connecting an input to output variable.

mtillman14 commented 2 years ago

This graph actually should be a centerpiece of interaction with the functions! In line with the "analysis threads" concept, there really is no clean way to slice/version these functions/variables. So, the only way to manage them all somewhat decently is graphically! The graph will be a linked set of nodes, with each node being one function. Arrows will run from one function to the next in the order they're run. If a function has different inputs but the same name as an existing one, it gets a parallel line to the original. New functions that branch off from existing ones just get a branch, that may or may not merge back in with the other(s).

mtillman14 commented 2 years ago

Because it will get crowded, the graph should allow slicing via a bunch of different methods:

  1. Project-specific (because by default it shows all of the projects)
  2. Highlight the path from import to a specific variable
  3. Highlight all of the functions that use a specific variable as an input.
  4. Highlight all of the places where a function's outputs are used as inputs.
  5. Specific processing group(s) functions and/or arguments flow. Others??
mtillman14 commented 2 years ago

Graph pane should also have a search bar to search by functions and/or argument names (and whether they're inputs or outputs).

mtillman14 commented 2 years ago

Because nodes are functions, the function names should label the nodes.

mtillman14 commented 2 years ago

Where does the documentation of which Specify Trials were used come in?

mtillman14 commented 2 years ago

Where does the documentation of which Specify Trials were used come in?

Still an open question :(

mtillman14 commented 2 years ago

The processing map shows the general order of functions, but not which variables are used for which functions.

mtillman14 commented 1 year ago

Am now using a digraph with a node for each type of object, even variables.