Skip to content
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

Analyzer-like history trees #141

Open
tstenner opened this issue Mar 11, 2020 · 3 comments
Open

Analyzer-like history trees #141

tstenner opened this issue Mar 11, 2020 · 3 comments

Comments

@tstenner
Copy link

tstenner commented Mar 11, 2020

Brainvision Analyzer has a nifty feature (especially for aspiring MDs) called 'history tree', where each transformation (and subsequent transformations) are recorded and can be copied to other raw data files.

History tree example

In implementation details, each transformation is a class with some parameters and outputs (both are stored in the history file). The output data can be either written in whole in the history file (e.g. an FFT) or only some model parameters (filter settings, ICA matrices, …) to calculate the data on-demand.

It's a bit more complicated than the current implementation, but it makes it easier to enforce analysis SOPs while still allowing one-off special case handling.

@cbrnr
Copy link
Owner

cbrnr commented Mar 11, 2020

I like the idea. This would require careful thinking though. For example, it could be necessary to group multiple Python statements into one history entry. Furthermore, maybe this kind of graphical history should not replace the current command history, but complement it (because maybe not all commands can be fully mapped to this kind of history).

Also, these trees tend to get very wide. Most of the time, a node has exactly one branch. Is there an alternative model that retains a more linear look?

@tstenner
Copy link
Author

If nodes with only one child weren't indented the trees would grow downwards.
Also, if it were possible to define blocks/containers of several steps the boilerplate processing could be represented as a single node.

@cbrnr
Copy link
Owner

cbrnr commented Mar 11, 2020

If nodes with only one child weren't indented the trees would grow downwards.

Good idea.

Also, if it were possible to define blocks/containers of several steps the boilerplate processing could be represented as a single node.

True, this would make the whole tree look much cleaner.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants