Skip to content

Commit a780e40

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents 8263270 + 1f5b4cd commit a780e40

File tree

6 files changed

+75
-507
lines changed

6 files changed

+75
-507
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: bug
6+
assignees: JensBlack
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Desktop (please complete the following information):**
27+
- OS: [e.g. iOS]
28+
- Browser [e.g. chrome, safari]
29+
- Version [e.g. 22]
30+
31+
**Additional context**
32+
Add any other context about the problem here.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: enhancement
6+
assignees: JensBlack
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

Readme.md

Lines changed: 18 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
1+
2+
13
# DeepLabStream
24

35
![GraphAbstract](docs/GraphAbstract.png)
46

7+
[![GitHub stars](https://img.shields.io/github/stars/SchwarzNeuroconLab/DeepLabStream.svg?style=social&label=Star)](https://github.com/SchwarzNeuroconLab/DeepLabStream)
8+
[![GitHub forks](https://img.shields.io/github/forks/SchwarzNeuroconLab/DeepLabStream.svg?style=social&label=Fork)](https://github.com/SchwarzNeuroconLab/DeepLabStream)
9+
![GitHub All Releases](https://img.shields.io/github/downloads/SchwarzNeuroconLab/DeepLabStream/total?style=social)
10+
[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
11+
[![Twitter Follow](https://img.shields.io/twitter/follow/SNeuroconnect.svg?label=SNeuroconnect&style=social)](https://twitter.com/SNeuroconnect)
512

613
DeepLabStream is a python based multi-purpose tool that enables the realtime tracking of animals and manipulation of experiments.
714
Our toolbox is adapted from the previously published [DeepLabCut](https://github.com/AlexEMG/DeepLabCut) ([Mathis et al., 2018](https://www.nature.com/articles/s41593-018-0209-y)) and expands on its core capabilities.
@@ -10,12 +17,17 @@ DeepLabStreams core feature is the real-time analysis using any type of camera-b
1017
![DLS_Stim](docs/DLSSTim_example.gif)
1118

1219
### Quick Reference:
20+
21+
### Read the preprint: [Schweihoff et al, 2019](https://doi.org/10.1101/2019.12.20.884478).
22+
23+
### 1. [Installation & Testing](https://github.com/SchwarzNeuroconLab/DeepLabStream/wiki/Installation-&-Testing)
1324

14-
### 1. [Installation](utils/Installation.md)
25+
### 2. [Introduction to experiments](https://github.com/SchwarzNeuroconLab/DeepLabStream/wiki/Introduction)
1526

16-
### 2. [Introduction to experiments](docs/Introduction.md)
27+
### 3. [Design your first experiment](https://github.com/SchwarzNeuroconLab/DeepLabStream/wiki/My-first-experiment)
28+
29+
### 4. [Adapting an existing experiment to your own needs](https://github.com/SchwarzNeuroconLab/DeepLabStream/wiki/Adapting-an-existing-experiment-to-your-own-needs)
1730

18-
### 3. [Design your first experiment](docs/MyFirstExperiment.md)
1931

2032
### How does this work
2133

@@ -26,44 +38,6 @@ and to end, prolong or modify parts of experimental protocol.
2638

2739
![Flowchart](docs/flowchart2.png)
2840

29-
## Installation
30-
31-
See [Installation](utils/Installation.md).
32-
33-
## Testing
34-
35-
To properly test your DeepLabStream installation, we included a testing script that you can run in three different modes. ```DeepLabStream.py``` allows you to test your cameras, your DeepLabcut installation,
36-
and to benchmark your DeepLabStream performance.
37-
38-
1. Run the following command to test your cameras:
39-
```bash
40-
python DeepLabStream.py
41-
```
42-
43-
2. Next, you can test how your DeepLabCut installation behaves and if you did correctly set the DeepLabCut path in the config:
44-
```bash
45-
python DeepLabStream.py --dlc-enabled
46-
```
47-
48-
3. And finally you can benchmark your system automatically:
49-
```bash
50-
python DeepLabStream.py --dlc-enabled --benchmark-enabled
51-
```
52-
The stream would run until it gets 3000 analyzed frames (you can always stop it manually at any point, just press 'Q' while the stream window is in focus).
53-
Then it will show you a detailed statistic of the overall performance timings, analysis timings, percentage of frames where it did lose tracking and your average FPS.
54-
55-
#### Recording testing
56-
57-
Additionally, you can test and see the results of the build-in video recorder. Run the following command to test it:
58-
```bash
59-
python DeepLabStream.py --recording-enabled
60-
```
61-
62-
This will record the videofeed from the camera to your `OUTPUT_DIRECTORY`. You can also add this flag to any of the previously mentioned tests to check performance with recording enabled.
63-
64-
Important note: **recording will always save only "raw" video, without analysis, with framerate as close to specified as possible**
65-
66-
6741
## Usage
6842

6943
### How to use DeepLabStream
@@ -109,37 +83,18 @@ As a visual representation of this event, the border of the ROI will turn green.
10983

11084
All experimental output will be stored to a .csv file for easy postprocessing.
11185

112-
Look at the [Introduction to experiments](docs/Introduction.md) to get an idea how to design your own experiment in DeepLabStream.
86+
Look at the [Introduction to experiments](https://github.com/SchwarzNeuroconLab/DeepLabStream/wiki/Introduction) to get an idea how to design your own experiment in DeepLabStream or learn how to adapt one of the already published experiments at [Adapting an existing experiment](https://github.com/SchwarzNeuroconLab/DeepLabStream/wiki/Adapting-an-existing-experiment-to-your-own-needs).
11387

11488
### Known issues
11589

116-
#### Error when stopping the analysis:
117-
```
118-
BrokenPipeError: [Errno 32] Broken pipe
119-
```
90+
If you encounter any issues or errors, you can check out the wiki article ([Help there is an error!](https://github.com/SchwarzNeuroconLab/DeepLabStream/wiki/Help-there-is-an-error!)). If your issue is not listed yet, please refer to the issues and either submit a new issue or find a reported issue (which might be already solved) there. Thank you!
12091

121-
This is an `multiprocessing.Queue` closing error, when some items are still in the Queue.
122-
This should not affect the app in any meaningful way.
123-
124-
#### Tensorflow not releasing GPU memory
125-
Sometimes Tensorflow session will not release all allocated GPU memory when you stop the analysis. This will result in OOM (out of memory) error.
126-
See more on that issue on [tensorflow github](https://github.com/tensorflow/tensorflow/issues/19731)
127-
128-
The error itself looks like this:
129-
```
130-
2020-02-10 13:44:49.972600: E tensorflow/stream_executor/cuda/cuda_driver.cc:806] failed to allocate 635,29M (666146048 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY: out of memory
131-
```
132-
133-
The issue can be resolved by closing and opening the app. If not, manually kill all python processes
134-
```
135-
killall -9 python
136-
```
13792
## References:
13893

13994
If you use this code or data please cite [Schweihoff et al, 2019](https://doi.org/10.1101/2019.12.20.884478).
14095

14196
## License
142-
This project is licensed under the GNU Lesser General Public License v3.0. Note that the software is provided "as is", without warranty of any kind, express or implied.
97+
This project is licensed under the GNU General Public License v3.0. Note that the software is provided "as is", without warranty of any kind, expressed or implied.
14398
## Authors
14499
Lead Researcher: Jens Schweihoff, [email protected]
145100

0 commit comments

Comments
 (0)