Open eozd opened 4 years ago
Sam's handover comment:
Documentation wise, due the nature of the matlabbatch structure that is used for the GUI, I can see a possibility for using this to keep a single source of truth for docs. A script would take the cfg, and traverse through each batch value and output some sort of markup depending on if it's type, e.g. branch, entry, const etc. This could be latex or html, or markdown. The major drawback being that this would mean the cfg help texts were gospel and whatever was there should be shown in the docs, which makes extending with mathematical notation or finer details tricky.
@teddychao it seems this is solved now?
Definite reference are the function help texts. This is how Matlab works in general, and it is easy for users to access them. In addition, we could/should build a complete online reference from the help texts, see #642 . This would require the following steps:
GUI can use function help texts whereever possible. pspm_help
could serve to parse the help texts and make them accessible to the matlabbatch GUI. Where additional information is needed, this can be managed in (and pulled from) a markdown file. This would require the following steps:
pspm_help
such that arguments
is a struct variable where field names correspond to argument names (this should be flattened, i.e. options.overwrite
and datafile
would be on the same level).pspm_cfg_selector_...
functions for common GUI elements (datafile, overwrite, ...) similar to pspm_cfg_channel_selector
. Split background information from GUI reference for better management.
My comments are as following,
options.overwrite
and datafile
in the same level will reduce coding complexity, and the exported struct variables will be sorted well. I do not remember the explicit rules I set for writing those help text and reading to .mat files. I will have a look and see if I can make a list, if this is useful.
Feature Description
Our current documentation is split into three pieces:
We maintain these three pieces by literally copy-pasting the documentation. Since this is very inefficient and error-prone, a better way to handle this process is required.