Skip to content

Commit 23bb6c0

Browse files
committed
Add README
1 parent 5a80896 commit 23bb6c0

File tree

1 file changed

+114
-0
lines changed

1 file changed

+114
-0
lines changed

README.md

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Datenbiene
2+
3+
**Datenbiene** (data bee) is a versatile and powerful data collection tool
4+
designed for multi-modal scientific studies. It facilitates the collection of
5+
data from multiple modalities on different acquisition systems, offering
6+
flexibility and efficiency in managing research data directly after acquisition.
7+
8+
9+
## Features
10+
11+
* Collects data from various sources and modalities / acquisition devices.
12+
* Provides easy configuration through Excel and JSON files.
13+
* Utilizes Jinja2 templates for dynamic placeholders in Excel cells.
14+
* Extensible with custom sources, sinks, and checkers.
15+
16+
17+
## Installation
18+
19+
Ensure you have Python 3 installed. You can install the required packages using
20+
the `requirements.txt` file in a virtual environment:
21+
22+
1. Create a Python virtual environment and activate it:
23+
24+
```sh
25+
python -m venv env
26+
source env/bin/activate # On Windows use `env\Scripts\activate`
27+
```
28+
29+
2. Install the dependencies using pip:
30+
31+
```sh
32+
pip install -r requirements.txt
33+
```
34+
35+
3. Modify settings and secrets in `config.py` according to your setup.
36+
37+
38+
## Usage
39+
40+
To use Datenbiene, you need to provide an Excel file containing the
41+
configuration for sources, checkers, and sinks, along with an optional JSON file
42+
for key-value pairs.
43+
44+
### Command-line Arguments
45+
46+
* `-e, --excel`: Path to the Excel file containing Sources and Sinks sheets. (required)
47+
* `-j, --json`: Path to the JSON file containing key-value pairs. (required)
48+
49+
### Example
50+
51+
```sh
52+
python datenbiene.py -e sources-sinks.xlsx -j key-vals.json
53+
```
54+
55+
56+
## Configuration
57+
58+
The configuration Excel file should contain the following sheets:
59+
60+
- Sources: Specifies the data sources.
61+
- Checkers: Defines data checkers (to be implemented).
62+
- Sinks: Specifies the data sinks.
63+
64+
The JSON file should contain key-value pairs used for dynamic data processing
65+
with Jinja2 templates applied to all cells in the Excel file.
66+
67+
### Example Excel File
68+
69+
| Name | Source | PathPatterns | FilePatterns | AdditionalOptions |
70+
|--------|------------|---------------|--------------|-------------------|
71+
| Source | SomeSource | /path/to/data | *.csv | {"option1": "value1"} |
72+
73+
### Example JSON File
74+
75+
```json
76+
{
77+
"study": "multi-modal-study-01",
78+
"subject": "ab12",
79+
"date": 20250202
80+
}
81+
```
82+
83+
84+
## Customization
85+
86+
You can extend Datenbiene by adding custom sources, sinks, and checkers.
87+
Implement your custom classes in the `sources`, `sinks`, and `checkers` modules,
88+
respectively, and update the Excel configuration accordingly.
89+
90+
91+
## License
92+
93+
Datenbiene is licensed under the GPL-3.0-only license. See LICENSE file or
94+
https://www.gnu.org/licenses/gpl-3.0.html for details.
95+
96+
97+
## Authors
98+
99+
Datenbiene is developed by
100+
101+
* Torsten Stöter ([email protected])
102+
* Jörg Stadler
103+
* André Brechmann
104+
105+
all affiliated with Combinatorial NeuroImaging Core Facility at Leibniz
106+
Institute for Neurobiology Magdeburg, Germany.
107+
108+
109+
## Acknowledgements
110+
111+
A special thank you goes to our colleagues Andreas Fügner, Anke Michalsky and
112+
Renate Blobel-Lüer for their continued support in testing and valuable feedback
113+
for improving the Datenbiene software.
114+

0 commit comments

Comments
 (0)