[docs] some docu

This commit is contained in:
Jan Grewe 2021-01-10 00:04:13 +01:00
parent cae6267e8b
commit d288ae5807
2 changed files with 58 additions and 0 deletions

11
docs/index.md Normal file
View File

@ -0,0 +1,11 @@
# NixView
NixView is a simple viewer for *nix* structured data files.
## UI overview
1) Splash/Welcome screen
2) File screen
* The top shows details on the opened file and the currently selected data item.
* The file content is shown in the [TreeView](treeview.md)
* Depending of the type of item, you will be possible to open additional views e.g. for plotting.

47
docs/treeview.md Normal file
View File

@ -0,0 +1,47 @@
## TreeView
The file content is initially displayed in a TreeView. The items in the Tree have symbols that refelct the type of item.
Using the dropdown menu above the TreeView allows to to change the tree layout.
### Symbols
![alt text](../icons/nix_block_1d.png "Blocks")
**Blocks** Are the top-level grouping items in a nix file. In many cases they represent something like an experimental session.
![alt text](../icons/nix_data_array.png "DataArrays")
**DataArray**: The core entity for storing n-dimensional data. All entries are of the same data type. For each of the *n* dimensions there must be a *Dimension* descriptor.
![alt text](../icons/nix_dimension.png "DataArrays")
**Dimension**: describes one dimension of the stored data. There are three types of dimensions. *SampledDimension* for data that is sampled in regular intervals (e.g. time), *SetDimension* for dimensions that do not have a natural order but represent categories, and *RangeDimension* for data that is sampled in irregular intervals.
![alt text](../icons/nix_data_frame.png "DataFrames")
**DataFrame**: a tabular structure for storing data. All entries along a column have the same data type. Each column has an header holding the column's name and dtype.
![alt text](../icons/nix_tag.png "Tag")
**Tag/MultiTag**: Entities that can tag regions in **DataArrays** to give these regions a specific meaning. For example, the time interval in which a stimulus was applied, or a region of interest in the data. The region is defined by the tag's position and extent. A tag can tag multiple DataArrays and may contain several Features.
![alt text](../icons/nix_feature.png "Feature")
**Feature**: entities are children of a Tag and are used to provide additional features of the tagged segments or regions.
There are three types of features, *tagged* (position and extent have to be applied to the feature's data), *untagged* (position and extent do not apply), and *indexed* (for each tagged region there is an entry in the 1st dimension of the feature's data that matches).
![alt text](../icons/nix_group.png "Group")
**Group**: Simple grouing elements for grouping within a Block.
![alt text](../icons/nix_source.png "Source")
**Source**: used to provide information about the origin of the data. Sources can create a tree-like structure.
![alt text](../icons/nix_section.png "Section")
**Section**: Grouping element within the metadata tree. Sections build a tree and may contain Properties that carry the actual metadata. Most other entities can link to a section which then holds the metadata about the respective entity.
![alt text](../icons/nix_property.png "Property")
**Property**: An extended key-value pair for storing metadata.