Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
320 commits
Select commit Hold shift + click to select a range
8a84f32
Feature: ComplexGaussian
BenjaminMidtvedt May 16, 2021
d17c389
Add distributed to base class
BenjaminMidtvedt May 16, 2021
5da510c
More robust index handling
BenjaminMidtvedt May 16, 2021
4c2345d
Correctly broadcast arithmetic operators
BenjaminMidtvedt May 16, 2021
8b46eac
lower case function
BenjaminMidtvedt May 16, 2021
3271af0
convert to new syntax
BenjaminMidtvedt May 16, 2021
e55aac3
Add dependencies
BenjaminMidtvedt May 16, 2021
97a0f77
introduce benchmarking
BenjaminMidtvedt May 21, 2021
07a6816
Add config object
BenjaminMidtvedt May 24, 2021
d701f4e
Allow init with cupy
BenjaminMidtvedt May 24, 2021
7e4f573
hide _update methods
BenjaminMidtvedt May 24, 2021
c83b6c3
Benchmark on gpu vs cpu
BenjaminMidtvedt May 24, 2021
8357994
Implement mie on gpu
BenjaminMidtvedt May 24, 2021
11e7d4d
Implement brightfield on gpu
BenjaminMidtvedt May 24, 2021
2f8349f
Bigfix Clip
BenjaminMidtvedt May 24, 2021
f8eab70
Coerce inputs before method to ensure all is on same devicc
BenjaminMidtvedt May 24, 2021
ff5bf50
Allow gpu
BenjaminMidtvedt May 24, 2021
ad7e241
Implement conditional features
BenjaminMidtvedt May 24, 2021
8e55128
Enable memory growth
BenjaminMidtvedt May 24, 2021
4bc81dc
More tests
BenjaminMidtvedt May 24, 2021
9a94537
format input after properties
BenjaminMidtvedt May 26, 2021
3514b92
Merge CappedContinuousGenerator into ContinuousGenerator
BenjaminMidtvedt May 26, 2021
80835a1
Update benchmarks using groups
BenjaminMidtvedt May 26, 2021
d26b920
Include banchmark command
BenjaminMidtvedt May 26, 2021
8039663
Significant speedup by not copying array
BenjaminMidtvedt May 30, 2021
2d8b0f4
Enable benchmark
BenjaminMidtvedt May 31, 2021
703ae87
Specialcase creating Image with another Image
BenjaminMidtvedt May 31, 2021
7186d7d
Don't return depadding
BenjaminMidtvedt Jun 10, 2021
b092bda
Minor bugfixes
BenjaminMidtvedt Jun 10, 2021
6b31688
Request pixel radius
BenjaminMidtvedt Jun 10, 2021
d118944
Support adding preprocessing to model
BenjaminMidtvedt Jun 10, 2021
d21eaf0
Implement autotracker
BenjaminMidtvedt Jun 14, 2021
5b34841
Implement autotracker
BenjaminMidtvedt Jun 14, 2021
5f3432e
base multiparticle autotracking implementation
BenjaminMidtvedt Jun 15, 2021
4061248
Correcting loss and data generation
BenjaminMidtvedt Jun 16, 2021
e158f67
Make labels array before indexing
BenjaminMidtvedt Jun 16, 2021
713e3dc
Include new models implementation
BenjaminMidtvedt Jun 16, 2021
45723ce
Defining center in terms of center of mass
BenjaminMidtvedt Jun 17, 2021
3c8a7e5
Single particle tracking tests
BenjaminMidtvedt Jun 17, 2021
a7c81e3
Single particle tests
BenjaminMidtvedt Jun 21, 2021
bbc2efd
Addded rotational consistency loss
BenjaminMidtvedt Jul 3, 2021
d275746
Allow definition of number of symmetries
BenjaminMidtvedt Jul 3, 2021
bac01e7
Sorting imports
BenjaminMidtvedt Jul 3, 2021
bc4560d
Added documentation
BenjaminMidtvedt Jul 3, 2021
643cd84
Merge branch 'feature/sp-orientation' into docs
BenjaminMidtvedt Jul 3, 2021
daa1bd2
Delete legacy examples
BenjaminMidtvedt Jul 3, 2021
43c0b94
Get z directly
BenjaminMidtvedt Jul 3, 2021
e933b93
Linting improvements
BenjaminMidtvedt Jul 3, 2021
4de4e86
Autotrack multiply by symmetries
BenjaminMidtvedt Jul 5, 2021
a178058
Allow different modes
BenjaminMidtvedt Jul 5, 2021
117d984
Implement rotational consistency
BenjaminMidtvedt Jul 5, 2021
9240052
alpha release version
BenjaminMidtvedt Jul 5, 2021
526d27a
Orientation training notebook
BenjaminMidtvedt Jul 5, 2021
6adfa75
Fixing positioning of complex images
BenjaminMidtvedt Jul 5, 2021
dbcf3cb
Add rnn
BenjaminMidtvedt Jul 5, 2021
833a527
remove cappedcontinuousgenerator
BenjaminMidtvedt Jul 5, 2021
64245f3
Merge pull request #2 from BenjaminMidtvedt/BenjaminMidtvedt-master
BenjaminMidtvedt Jul 5, 2021
6672822
removed vscode settings
BenjaminMidtvedt Jul 5, 2021
069289a
Merge branch 'BenjaminMidtvedt-master' into v2.1
BenjaminMidtvedt Jul 5, 2021
8986530
Remove logging
BenjaminMidtvedt Jul 5, 2021
3c3e9d4
allow image of tuples
BenjaminMidtvedt Jul 16, 2021
3813c58
Made fluorescence compatible with gpu
BenjaminMidtvedt Jul 20, 2021
8a532c2
Fetch z-position of fields via get_property
BenjaminMidtvedt Jul 20, 2021
3c5af47
Merge pull request #36 from BenjaminMidtvedt/master
BenjaminMidtvedt Jul 20, 2021
751f78d
Update README.md
BenjaminMidtvedt Jul 20, 2021
4572a92
Merge pull request #57 from softmatterlab/bm/fluorescence_gpu
BenjaminMidtvedt Jul 23, 2021
0318df9
add cgan model
JesusPinedaC Jul 24, 2021
2312e59
add pcgan model
JesusPinedaC Jul 24, 2021
2c87c83
add documentation for cgan
JesusPinedaC Jul 24, 2021
2bb626a
add documentation for pcgan and evaluate the perceptual model definition
JesusPinedaC Jul 24, 2021
c058172
all layers in perceptual discriminator are now frozen
JesusPinedaC Jul 25, 2021
84c77f7
update documentation
JesusPinedaC Jul 25, 2021
899c980
Merge pull request #60 from JesusPinedaC/v2.1
BenjaminMidtvedt Jul 25, 2021
c679a7f
Check for nans in pupil
BenjaminMidtvedt Jul 30, 2021
48c7408
Fixed bug where array is not converted to cpu
BenjaminMidtvedt Jul 30, 2021
0914d00
Don't correct prediction
BenjaminMidtvedt Jul 30, 2021
8b85d34
Added OneOf and OneOfDict
BenjaminMidtvedt Aug 1, 2021
4de50c1
Add resolve arguments to property-list
BenjaminMidtvedt Aug 1, 2021
28c815d
Facilitate external control of key
BenjaminMidtvedt Aug 1, 2021
7f4435a
Initialize before adding deps
BenjaminMidtvedt Aug 1, 2021
275bfe9
OneOf should not be distributed
BenjaminMidtvedt Aug 1, 2021
275b7af
Ensure key is propagated to properties
BenjaminMidtvedt Aug 1, 2021
8281e5a
correctly return modified properties
BenjaminMidtvedt Aug 1, 2021
8fb649d
Add unit tests for OneOf and OneOfDict
BenjaminMidtvedt Aug 1, 2021
c644038
Correct error with array function
BenjaminMidtvedt Aug 1, 2021
8c649fe
Ensure code runs without cupy
BenjaminMidtvedt Aug 1, 2021
25c6310
Merge pull request #66 from softmatterlab/bm/argument-properties
BenjaminMidtvedt Aug 1, 2021
75860f4
Merge pull request #65 from softmatterlab/bm/correct-error-without-cupy
BenjaminMidtvedt Aug 1, 2021
b475d28
Merge pull request #63 from softmatterlab/bm/OneOf
BenjaminMidtvedt Aug 1, 2021
abdc3ab
Add sizing and notebooks
BenjaminMidtvedt Aug 1, 2021
dc16527
Implement rudimentary citation system
BenjaminMidtvedt Aug 2, 2021
51ec809
elementwise test fix
BenjaminMidtvedt Aug 2, 2021
4ca19be
Remove center_crop
BenjaminMidtvedt Aug 2, 2021
63c9a61
Implement rudimentary citation system (#68)
BenjaminMidtvedt Aug 3, 2021
4389449
citation as static property
BenjaminMidtvedt Aug 3, 2021
5b9a66b
Merge branch 'v2.1' into bm/get_citation
BenjaminMidtvedt Aug 5, 2021
18a5279
Merge pull request #69 from softmatterlab/bm/get_citation
BenjaminMidtvedt Aug 5, 2021
c545c0c
Fix convolutional loss
BenjaminMidtvedt Aug 5, 2021
9cb44f6
Fix brughtfield pupil
BenjaminMidtvedt Aug 5, 2021
1a42e82
Reduced memory allocation in brightfield
BenjaminMidtvedt Aug 5, 2021
2e55f42
Remove unused context definition
BenjaminMidtvedt Aug 5, 2021
9c2c767
Load copy of default unit definitions without Printing group
BenjaminMidtvedt Aug 5, 2021
c1b41e7
Use with-statement to set context
BenjaminMidtvedt Aug 5, 2021
fb31f38
Change conversions
BenjaminMidtvedt Aug 5, 2021
c15ca98
Create default definition file
BenjaminMidtvedt Aug 5, 2021
8b7c4e2
Set context outside conversion table
BenjaminMidtvedt Aug 5, 2021
c739b19
Merge pull request #70 from softmatterlab/bm/fix-unit-name-clash
BenjaminMidtvedt Aug 5, 2021
5c18d6d
remove print
BenjaminMidtvedt Aug 5, 2021
891e194
Implemented tests for base models
BenjaminMidtvedt Aug 6, 2021
251e0f1
Merge branch 'bm/autotracking' into v2.1
BenjaminMidtvedt Aug 6, 2021
9570728
Update autotracking
BenjaminMidtvedt Aug 6, 2021
3234f5a
allow registered configs
BenjaminMidtvedt Aug 9, 2021
76ba0e3
sizing
BenjaminMidtvedt Aug 9, 2021
4fd2d2a
Implement pytorch style generator
BenjaminMidtvedt Aug 11, 2021
6d423c5
Patch weird interaction with np.ma.ravel
BenjaminMidtvedt Aug 11, 2021
2248983
Example showcasing how to usse pytorch with deeptrack
BenjaminMidtvedt Aug 11, 2021
26065ae
tutorial for experimental data
BenjaminMidtvedt Aug 12, 2021
6c8c1d2
optmized loss calculation
BenjaminMidtvedt Aug 21, 2021
df5a46d
Reformat model structure
BenjaminMidtvedt Aug 26, 2021
4144802
Merge pull request #72 from softmatterlab/bm/PyTorch
BenjaminMidtvedt Aug 27, 2021
7dcfa65
version bump
BenjaminMidtvedt Sep 1, 2021
ba92708
Merge branch 'v2.1' into bm/autotracking
BenjaminMidtvedt Sep 1, 2021
c0090bc
Fix shape prediction shape bug
BenjaminMidtvedt Sep 1, 2021
a8e98af
Better saving/loading
BenjaminMidtvedt Sep 1, 2021
1c54c0d
better indexing
BenjaminMidtvedt Sep 2, 2021
b8ffe2f
latest
BenjaminMidtvedt Sep 8, 2021
4cad994
Allow generator kwargs
BenjaminMidtvedt Sep 8, 2021
e2aa8ed
Correct generator output
BenjaminMidtvedt Sep 8, 2021
c095916
Correct generator output
BenjaminMidtvedt Sep 8, 2021
a340fd8
Run notebook
BenjaminMidtvedt Sep 15, 2021
5ca987d
Fix Average
BenjaminMidtvedt Sep 15, 2021
b3b324c
Merge branch 'bm/autotracking' into v2.1
BenjaminMidtvedt Sep 15, 2021
b06efac
Optimized autotracker speed
BenjaminMidtvedt Sep 16, 2021
ad80562
Implement equivariances
BenjaminMidtvedt Oct 3, 2021
320cef3
update example
BenjaminMidtvedt Oct 11, 2021
ce2df82
Merge branch 'bm/autotracking' into v2.1
BenjaminMidtvedt Oct 20, 2021
9b91fe2
typo fix
BenjaminMidtvedt Oct 20, 2021
4083523
Check for data size first
BenjaminMidtvedt Oct 20, 2021
4004441
Wait at start of on_epoch_end
BenjaminMidtvedt Oct 26, 2021
6bbab4c
Merge branch 'v2.1' of https://github.com/softmatterlab/DeepTrack-2.0…
BenjaminMidtvedt Oct 26, 2021
8957936
Invalidate entire DataList
BenjaminMidtvedt Oct 26, 2021
9842bb3
un-name unused kwargs
BenjaminMidtvedt Oct 26, 2021
0fe048f
Fix interaction between repeat and sequence
BenjaminMidtvedt Oct 26, 2021
d89aecb
version bump
BenjaminMidtvedt Oct 26, 2021
a37a21d
Set default z-offset unit to meters
BenjaminMidtvedt Nov 23, 2021
985fa22
Update autotracking example
BenjaminMidtvedt Nov 23, 2021
fba0dc7
restructure examples
BenjaminMidtvedt Jan 10, 2022
3fdef2f
Merge branch 'v2.1' into bm/autotrack
BenjaminMidtvedt Jan 10, 2022
e7d97ce
Merge pull request #82 from softmatterlab/bm/autotrack
BenjaminMidtvedt Jan 10, 2022
cd46996
Delete autotrack-examples directory
BenjaminMidtvedt Jan 10, 2022
a3a433f
Update python-app.yml
BenjaminMidtvedt Jan 10, 2022
6d4b858
Remove plotting
BenjaminMidtvedt Jan 11, 2022
9c11164
rerun notebooks
BenjaminMidtvedt Jan 11, 2022
5b5d166
chore: make docs
BenjaminMidtvedt Jan 11, 2022
3c3503b
add dep to pint
BenjaminMidtvedt Jan 11, 2022
b345446
allow user-defined normalization layers
JesusPinedaC Jan 19, 2022
95fd092
Avoid optional dependencies
JesusPinedaC Jan 19, 2022
fcaf5d2
avoid optional dependencies and improve documentation
JesusPinedaC Jan 19, 2022
9322267
Update layers.py
JesusPinedaC Jan 19, 2022
0f6ab17
Update test_layers.py
JesusPinedaC Jan 19, 2022
4a3d2be
Update layers.py
JesusPinedaC Jan 19, 2022
d7fe7af
Merge pull request #84 from softmatterlab/jp/magik
BenjaminMidtvedt Jan 19, 2022
f9c0682
Vastly simplified logic in code
BenjaminMidtvedt Jan 20, 2022
34dec1a
Use weakref to avoid dependency explosion
BenjaminMidtvedt Jan 20, 2022
8873156
rename replicate_index to _ID
BenjaminMidtvedt Jan 20, 2022
aca2ecc
linting improvements
BenjaminMidtvedt Jan 20, 2022
95cd403
Merge pull request #85 from softmatterlab/bm/simplify-core
BenjaminMidtvedt Jan 20, 2022
8aff491
Add multi-head attention layers
JesusPinedaC Jan 27, 2022
826e594
Update test_layers.py
JesusPinedaC Jan 27, 2022
6632d37
Merge pull request #87 from softmatterlab/jp/magik
BenjaminMidtvedt Jan 27, 2022
f1fcc50
Allow use of unit for resolution
BenjaminMidtvedt Jan 28, 2022
e566a87
remove test code
BenjaminMidtvedt Jan 28, 2022
90a3de0
Merge pull request #88 from softmatterlab/bm/fix-units
BenjaminMidtvedt Jan 28, 2022
c8fcc77
fix merge errors
BenjaminMidtvedt Jan 28, 2022
67cfcad
Merge pull request #90 from softmatterlab/develop-merge-branch
BenjaminMidtvedt Jan 28, 2022
7576f3d
Merge branch 'develop' into v2.1
BenjaminMidtvedt Jan 28, 2022
1341cf0
11.5 pypi fix
BenjaminMidtvedt Jan 29, 2022
aadee6d
Update layers.py
JesusPinedaC Jan 31, 2022
3d8510a
Update layers.py
JesusPinedaC Jan 31, 2022
f2bd843
Create gnns/layers.py
JesusPinedaC Jan 31, 2022
2046c28
Update test_layers.py
JesusPinedaC Jan 31, 2022
babc045
Merge branch 'v2.1' of https://github.com/softmatterlab/DeepTrack-2.0…
JesusPinedaC Jan 31, 2022
079a7fa
Update test_layers.py
JesusPinedaC Feb 1, 2022
243bcad
Update python-app.yml
BenjaminMidtvedt Feb 1, 2022
7efd8d7
Update python-app.yml
BenjaminMidtvedt Feb 1, 2022
4c388c8
Update test_layers.py
JesusPinedaC Feb 1, 2022
79f5ddb
Merge branch 'jp/magik' of https://github.com/softmatterlab/DeepTrack…
JesusPinedaC Feb 1, 2022
f317053
Update python-app.yml
BenjaminMidtvedt Feb 1, 2022
76cc244
Update python-app.yml
BenjaminMidtvedt Feb 1, 2022
9c32e36
Update layers.py
JesusPinedaC Feb 1, 2022
e66634e
Update layers.py
JesusPinedaC Feb 1, 2022
1a9d159
Merge pull request #91 from softmatterlab/jp/magik
BenjaminMidtvedt Feb 1, 2022
6b0eb12
v2.0.11.3 (#61) (#92)
giovannivolpe Feb 1, 2022
19d9383
Update gans
JesusPinedaC Feb 1, 2022
1e32f08
Update gnn layers and fix bugs related to non-accessible trainable pa…
JesusPinedaC Feb 1, 2022
a9b9e19
Move layer functions to utils.py
JesusPinedaC Feb 1, 2022
bcfa492
Update test_layers.py
JesusPinedaC Feb 1, 2022
befcbaa
Update utils.py
JesusPinedaC Feb 1, 2022
43ce33a
Add reuse and fix off by one error in flips
BenjaminMidtvedt Feb 2, 2022
87e57aa
Cap poisson to avoid lam too large error
BenjaminMidtvedt Feb 2, 2022
08d03a4
Make generator not stall on out_of_data
BenjaminMidtvedt Feb 3, 2022
279ac50
move lodestar examples
BenjaminMidtvedt Feb 3, 2022
c2116c2
correctly import gans
BenjaminMidtvedt Feb 8, 2022
0968a59
fix bug with reuse with lists
BenjaminMidtvedt Feb 8, 2022
53d6ff4
Fix LoadImage extra dimensions
BenjaminMidtvedt Feb 8, 2022
2dafe3f
LoadImage and Poisson bug fixes
BenjaminMidtvedt Feb 8, 2022
1906140
update examples to v2.1
BenjaminMidtvedt Feb 8, 2022
350df2d
Accidental import of value
BenjaminMidtvedt Feb 8, 2022
03df5da
rename to lodestar
BenjaminMidtvedt Feb 8, 2022
c0e5c9c
rename folder
BenjaminMidtvedt Feb 8, 2022
d0f5e9e
rename folder
BenjaminMidtvedt Feb 8, 2022
e99803f
rename to lodestar
BenjaminMidtvedt Feb 8, 2022
0bed89b
ignore datasets
BenjaminMidtvedt Feb 8, 2022
00beac7
failed run
BenjaminMidtvedt Feb 8, 2022
8e814df
better run
BenjaminMidtvedt Feb 9, 2022
b8c44a4
Merge pull request #95 from softmatterlab/bm/examples
BenjaminMidtvedt Feb 9, 2022
cccb98b
version bump
BenjaminMidtvedt Feb 9, 2022
0316045
don't pass batch_size to model.fit
BenjaminMidtvedt Feb 10, 2022
84c1d14
improve plotting
BenjaminMidtvedt Feb 10, 2022
6ae5afd
Create embeddings.py
JesusPinedaC Feb 11, 2022
5748636
Add TransformerEncoder
JesusPinedaC Feb 11, 2022
8f42c05
Update test_layers.py
JesusPinedaC Feb 11, 2022
37ca214
Update layers.py
JesusPinedaC Feb 11, 2022
4943023
Create __init__.py
JesusPinedaC Feb 12, 2022
832c87f
Update __init__.py
JesusPinedaC Feb 12, 2022
247dd74
Update layers.py
JesusPinedaC Feb 12, 2022
8fd08bb
Create gnns/models
JesusPinedaC Feb 12, 2022
f0b6d90
Update layers.py
JesusPinedaC Feb 12, 2022
adccde6
Update __init__.py
JesusPinedaC Feb 12, 2022
b32aab7
Update layers.py
JesusPinedaC Feb 12, 2022
a46275e
Merge pull request #94 from softmatterlab/jp/magik
BenjaminMidtvedt Feb 14, 2022
a18d762
fix polarization calculation
BenjaminMidtvedt Feb 14, 2022
5ce316c
Merge branch 'v2.1' of https://github.com/softmatterlab/DeepTrack-2.0…
BenjaminMidtvedt Feb 14, 2022
3bcc727
Merge branch 'develop' into v2.1
BenjaminMidtvedt Feb 14, 2022
4aa78ae
Delete 04. building_complex_pipelines copy.ipynb
BenjaminMidtvedt Feb 15, 2022
fe94d68
Delete 05. making_timeseries.ipynb
BenjaminMidtvedt Feb 15, 2022
ca29634
Remove legacy functions
BenjaminMidtvedt Feb 15, 2022
8131f2a
Merge branch 'v2.1' of https://github.com/softmatterlab/DeepTrack-2.0…
BenjaminMidtvedt Feb 15, 2022
fd9791c
Update README.md
BenjaminMidtvedt Feb 15, 2022
4f2030e
fix minor bug
JesusPinedaC Feb 16, 2022
e53f0a0
Update README.md
giovannivolpe Feb 24, 2022
bb3ab1a
Update README.md
BenjaminMidtvedt Feb 28, 2022
21e7dc8
Update README.md
BenjaminMidtvedt Feb 28, 2022
4cbcd94
Update logo.png
JesusPinedaC Feb 28, 2022
e6d6396
Merge branch 'v2.1' of https://github.com/softmatterlab/DeepTrack-2.0…
JesusPinedaC Feb 28, 2022
33e9483
Update README.md
BenjaminMidtvedt Feb 28, 2022
e099c7d
Update README.md
giovannivolpe Feb 28, 2022
ee7cebd
Update generators.py
BenjaminMidtvedt Feb 28, 2022
9d4eef0
Merge pull request #83 from softmatterlab/v2.1
BenjaminMidtvedt Feb 28, 2022
7beae05
Merge branch 'master' into develop
giovannivolpe Mar 1, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

22 changes: 15 additions & 7 deletions .github/workflows/python-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,34 @@ name: Python application

on:
push:
branches: [ develop ]
branches: [ develop, v2.1 ]
pull_request:
branches: [ develop ]
branches: [ develop, v2.1 ]

jobs:
build:


strategy:
matrix:
tfa: [true, false]

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up Python 3.9
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.9
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 pytest
pip install flake8 pytest numpy
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi

- name: Conditionally install tfa
if: ${{ matrix.tfa }}
run: |
pip install tensorflow-addons
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
Expand Down
12 changes: 10 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,19 @@
**/__pycache__
deeptrack-app/*
*/datasets/*
*/models/*
paper-examples/models/*

build/*
dist/*
*.egg-info/
*/datasets/*
*/theory
_src/build/**/*
_src/build/**/*

ParticleSizing
3DTracking
CellData
ParticleTracking
data/
datasets/
examples/**/*/models/
175 changes: 83 additions & 92 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,149 +1,140 @@
<p align="center">
<img width="350" src=https://github.com/softmatterlab/DeepTrack-2.0/blob/master/assets/logo.png?raw=true>
<img width="350" src=https://github.com/softmatterlab/DeepTrack-2.0/blob/develop/assets/logo.png?raw=true>
</p>


DeepTrack is a comprehensive deep learning framework for digital microscopy.
DeepTrack is a comprehensive deep learning framework for digital microscopy.
We provide tools to create physical simulations of customizable optical systems, to generate and train neural network models, and to analyze experimental data.

If you use DeepTrack 2.0 in your project, please cite our DeepTrack 2.0 article:
If you use DeepTrack 2.1 in your project, please cite our DeepTrack article:

```
Benjamin Midtvedt, Saga Helgadottir, Aykut Argun, Jesús Pineda, Daniel Midtvedt, Giovanni Volpe.
Benjamin Midtvedt, Saga Helgadottir, Aykut Argun, Jesús Pineda, Daniel Midtvedt, Giovanni Volpe.
"Quantitative Digital Microscopy with Deep Learning."
Applied Physics Reviews 8 (2021), 011310.
https://doi.org/10.1063/5.0034891
```

# Getting started

## Installation

DeepTrack 2.0 requires at least python 3.6
DeepTrack 2.1 requires at least python 3.6.

To install DeepTrack 2.0, open a terminal or command prompt and run
To install DeepTrack 2.1, open a terminal or command prompt and run:

pip install deeptrack

## Learning DeepTrack 2.0
If you have a very recent version of python, you may need to install numpy _before_ DeepTrack. This is a known issue with scikit-image.

## Updating to 2.1 from 2.0

If you are already using DeepTrack 2.0 (pypi version 0.x.x), updating to DeepTrack 2.1 (pypi version 1.x.x) is painless. If you have followed deprecation warnings, no change to your code is needed. There are two breaking changes:

- The deprecated operator `+` to chain features has been removed. It is now only possible using the `>>` operator.
- The deprecated operator `**` to duplicate a feature has been removed. It is now only possible using the `^` operator.

If you notice any other changes in behavior, please report it to us in the issues tab.

## Learning DeepTrack 2.1

Everybody learns in different ways! Depending on your preferences, and what you want to do with DeepTrack, you may want to check out one or more of these resources.

### Fundamentals

First, we have a very general walkthrough of [basic](https://softmatterlab.github.io/DeepTrack-2.0/basics.html) and [advanced](https://softmatterlab.github.io/DeepTrack-2.0/advanced.html) topics. This is a 5-10 minute read, that will get you well on your way to understand the unique interactions available in DeepTrack.

### DeepTrack 2.0 in action
Similarly, you may find the [get-started notebooks](examples/get-started) a rewarding way to start learning DeepTrack

## Documentation

The detailed documentation of DeepTrack 2.1 is available at the following link: https://softmatterlab.github.io/DeepTrack-2.0/deeptrack.html

### DeepTrack 2.1 in action

To see DeepTrack in action, we provide six well documented tutorial notebooks that create simulation pipelines and train models:

1. [deeptrack_introduction_tutorial](tutorials/deeptrack_introduction_tutorial.ipynb) gives an overview of how to use DeepTrack 2.0.
2. [tracking_particle_cnn_tutorial](tutorials/tracking_particle_cnn_tutorial.ipynb) demonstrates how to track a point particle with a convolutional neural network (CNN).
3. [tracking_multiple_particles_unet_tutorial](tutorials/tracking_multiple_particles_unet_tutorial.ipynb) demonstrates how to track multiple particles using a U-net.
4. [characterizing_aberrations_tutorial](tutorials/characterizing_aberrations_tutorial.ipynb) demonstrates how to add and characterize aberrations of an optical device.
5. [distinguishing_particles_in_brightfield_tutorial](tutorials/distinguishing_particles_in_brightfield_tutorial.ipynb) demonstrates how to use a U-net to track and distinguish particles of different sizes in brightfield microscopy.
6. [analyzing_video_tutorial](tutorials/analyzing_video_tutorial.ipynb) demonstrates how to create videos and how to train a neural network to analyze them.
1. [deeptrack_introduction_tutorial](examples/tutorials/deeptrack_introduction_tutorial.ipynb) gives an overview of how to use DeepTrack 2.1.
2. [tracking_particle_cnn_tutorial](examples/tutorials/tracking_particle_cnn_tutorial.ipynb) demonstrates how to track a point particle with a convolutional neural network (CNN).
3. [tracking_multiple_particles_unet_tutorial](examples/tutorials/tracking_multiple_particles_unet_tutorial.ipynb) demonstrates how to track multiple particles using a U-net.
4. [characterizing_aberrations_tutorial](examples/tutorials/characterizing_aberrations_tutorial.ipynb) demonstrates how to add and characterize aberrations of an optical device.
5. [distinguishing_particles_in_brightfield_tutorial](examples/tutorials/distinguishing_particles_in_brightfield_tutorial.ipynb) demonstrates how to use a U-net to track and distinguish particles of different sizes in brightfield microscopy.
6. [analyzing_video_tutorial](examples/tutorials/analyzing_video_tutorial.ipynb) demonstrates how to create videos and how to train a neural network to analyze them.

Additionally, we have seven more case studies which are less documented, but gives additional insight in how to use DeepTrack with real datasets

1. [![](https://colab.research.google.com/assets/colab-badge.svg) MNIST](https://colab.research.google.com/drive/1dRehGzf9DNpz7Jo2dw4U6vSyE4STZgpF?usp=sharing) classifies handwritted digits.
2. [![](https://colab.research.google.com/assets/colab-badge.svg) single particle tracking](https://colab.research.google.com/drive/1rh46w8TuJDF0mnvLpo6dlWkLiLr7MmQ9?usp=sharing) tracks experimentally captured videos of a single particle. (Requires opencv-python compiled with ffmpeg to open and read a video.)
3. [![](https://colab.research.google.com/assets/colab-badge.svg) single particle sizing](https://colab.research.google.com/drive/1U12f3m3oLKCGp-BAERGrwjMhEZdkWvT5?usp=sharing) extracts the radius and refractive index of particles.
4. [![](https://colab.research.google.com/assets/colab-badge.svg) multi-particle tracking](https://colab.research.google.com/drive/1TpNZ6ytoDXSZvGDFAFWrSjNs4SXGZmBw?usp=sharing) detects quantum dots in a low SNR image.
5. [![](https://colab.research.google.com/assets/colab-badge.svg) 3-dimensional tracking](https://colab.research.google.com/drive/1QJXPxsVeDt1ZW1685D5VANsME69s3mqi?usp=sharing) tracks particles in three dimensions.
6. [![](https://colab.research.google.com/assets/colab-badge.svg) cell counting](https://colab.research.google.com/drive/1C2Gn1Ym8etycOYW9yfDB_WiKlEeyvLtp?usp=sharing) counts the number of cells in fluorescence images.
7. [![](https://colab.research.google.com/assets/colab-badge.svg) GAN image generation](https://colab.research.google.com/drive/1rfFbeE-qkg3PxHBEa_r7Q9wXq0vdueEC?usp=sharing) uses a GAN to create cell image from masks.
1. [MNIST](examples/paper-examples/1_MNIST.ipynb) classifies handwritted digits.
2. [single particle tracking](examples/paper-examples/2-single_particle_tracking.ipynb) tracks experimentally captured videos of a single particle. (Requires opencv-python compiled with ffmpeg to open and read a video.)
3. [single particle sizing](examples/paper-examples/3-particle_sizing.ipynb) extracts the radius and refractive index of particles.
4. [multi-particle tracking](examples/paper-examples/4-multi-molecule-tracking.ipynb) detects quantum dots in a low SNR image.
5. [3-dimensional tracking](examples/paper-examples/5-inline_holography_3d_tracking.ipynb) tracks particles in three dimensions.
6. [cell counting](examples/paper-examples/6-cell_counting.ipynb) counts the number of cells in fluorescence images.
7. [GAN image generation](examples/paper-examples/7-GAN_image_generation.ipynb) uses a GAN to create cell image from masks.

### Model-specific examples

We also have examples that are specific for certain models. This includes
- [*LodeSTAR*](examples/LodeSTAR) for label-free particle tracking.
- [*MAGIK*](examples/MAGIK) for graph-based particle linking a trace characterization.

### Video Tutorials

DeepTrack 2.0 introduction tutorial video: https://youtu.be/hyfaxF8q6VE
<a href="http://www.youtube.com/watch?feature=player_embedded&v=hyfaxF8q6VE
" target="_blank"><img src="https://img.youtube.com/vi/hyfaxF8q6VE/maxresdefault.jpg"
alt="Tutorial" width="384" height="216" border="10" /></a>

DeepTrack 2.0 recognizing handwritten digits tutorial video: https://youtu.be/QD9JUXyLJpc
<a href="http://www.youtube.com/watch?feature=player_embedded&v=QD9JUXyLJpc
" target="_blank"><img src="https://img.youtube.com/vi/QD9JUXyLJpc/maxresdefault.jpg"
alt="Tutorial" width="384" height="216" border="10" /></a>

DeepTrack 2.0 single particle tracking tutorial video: https://youtu.be/6Cntik6AfBI
<a href="http://www.youtube.com/watch?feature=player_embedded&v=6Cntik6AfBI
" target="_blank"><img src="https://img.youtube.com/vi/6Cntik6AfBI/maxresdefault.jpg"
alt="Tutorial" width="384" height="216" border="10" /></a>

DeepTrack 2.0 single-particle characterization tutorial video: https://youtu.be/ia2H1QO1cHg
<a href="http://www.youtube.com/watch?feature=player_embedded&v=ia2H1QO1cHg
" target="_blank"><img src="https://img.youtube.com/vi/ia2H1QO1cHg/maxresdefault.jpg"
alt="Tutorial" width="384" height="216" border="10" /></a>

DeepTrack 2.0 multiple particle tracking tutorial video: https://youtu.be/wFV2VqzpeZs
<a href="http://www.youtube.com/watch?feature=player_embedded&v=wFV2VqzpeZs
" target="_blank"><img src="https://img.youtube.com/vi/wFV2VqzpeZs/maxresdefault.jpg"
alt="Tutorial" width="384" height="216" border="10" /></a>

DeepTrack 2.0 multiple particle tracking in 3D tutorial video: https://youtu.be/fzD1QIEIJ04
<a href="http://www.youtube.com/watch?feature=player_embedded&v=fzD1QIEIJ04
" target="_blank"><img src="https://img.youtube.com/vi/fzD1QIEIJ04/mqdefault.jpg"
alt="Tutorial" width="384" height="216" border="10" /></a>

DeepTrack 2.0 cell counting tutorial video: https://youtu.be/C6hu_IYoWtI
<a href="https://www.youtube.com/watch?feature=player_embedded&v=C6hu_IYoWtI
" target="_blank"><img src="https://img.youtube.com/vi/C6hu_IYoWtI/mqdefault.jpg"
alt="Tutorial" width="384" height="216" border="10" /></a>

DeepTrack 2.0 GAN image generation tutorial video: https://youtu.be/8g44Yks7cis
<a href="https://www.youtube.com/watch?feature=player_embedded&v=8g44Yks7cis
" target="_blank"><img src="https://img.youtube.com/vi/8g44Yks7cis/mqdefault.jpg"
alt="Tutorial" width="384" height="216" border="10" /></a>
Videos are currently being updated to match with the current version of DeepTrack.

### In-depth dives

The examples folder contains notebooks which explains the different modules in more detail. These can be read in any order, but we provide a recommended order where more fundamental topics are introduced early.
This order is as follows:

1. [features_example](examples/features_example.ipynb)
2. [properties_example](examples/properties_example.ipynb)
3. [scatterers_example](examples/scatterers_example.ipynb)
4. [optics_example](examples/optics_example.ipynb)
5. [aberrations_example](examples/aberrations_example.ipynb)
6. [noises_example](examples/noises_example.ipynb)
7. [augmentations_example](examples/augmentations_example.ipynb)
6. [image_example](examples/image_example.ipynb)
7. [generators_example](examples/generators_example.ipynb)
8. [models_example](examples/models_example.ipynb)
10. [losses_example](examples/losses_example.ipynb)
11. [utils_example](examples/utils_example.ipynb)
12. [sequences_example](examples/sequences_example.ipynb)
13. [math_example](examples/math_example.ipynb)
1. [features_example](examples/module-examples/features_example.ipynb)
2. [properties_example](examples/module-examples/properties_example.ipynb)
3. [scatterers_example](examples/module-examples/scatterers_example.ipynb)
4. [optics_example](examples/module-examples/optics_example.ipynb)
5. [aberrations_example](examples/module-examples/aberrations_example.ipynb)
6. [noises_example](examples/module-examples/noises_example.ipynb)
7. [augmentations_example](examples/module-examples/augmentations_example.ipynb)
8. [image_example](examples/module-examples/image_example.ipynb)
9. [generators_example](examples/module-examples/generators_example.ipynb)
10. [models_example](examples/module-examples/models_example.ipynb)
11. [losses_example](examples/module-examples/losses_example.ipynb)
12. [utils_example](examples/module-examples/utils_example.ipynb)
13. [sequences_example](examples/module-examples/sequences_example.ipynb)
14. [math_example](examples/module-examples/math_example.ipynb)

## Graphical user interface

DeepTrack 2.0 provides a completely stand-alone [graphical user interface](https://github.com/softmatterlab/DeepTrack-2.0-app), which delivers all the power of DeepTrack without requiring programming knowledge.

[![InterfaceDemo](https://i.imgur.com/lTy2vhz.gif)](https://i.imgur.com/lTy2vhz.gif)

## Documentation

The detailed documentation of DeepTrack 2.0 is available at the following link: https://softmatterlab.github.io/DeepTrack-2.0/deeptrack.html

## Cite us!

If you use DeepTrack 2.0 in your project, please cite us here:
If you use DeepTrack 2.1 in your project, please cite us here:

```
Benjamin Midtvedt, Saga Helgadottir, Aykut Argun, Jesús Pineda, Daniel Midtvedt, Giovanni Volpe.
Benjamin Midtvedt, Saga Helgadottir, Aykut Argun, Jesús Pineda, Daniel Midtvedt, Giovanni Volpe.
"Quantitative Digital Microscopy with Deep Learning."
Applied Physics Reviews 8 (2021), 011310.
https://doi.org/10.1063/5.0034891
```

See also:

<https://arxiv.org/abs/2202.06355>:
```
Saga Helgadottir, Aykut Argun, and Giovanni Volpe.
"Digital video microscopy enhanced by deep learning."
Optica 6.4 (2019): 506-513.
https://doi.org/10.1364/OPTICA.6.000506
Jesús Pineda, Benjamin Midtvedt, Harshith Bachimanchi, Sergio Noé, Daniel Midtvedt, Giovanni Volpe,1 and Carlo Manzo
"Geometric deep learning reveals the spatiotemporal fingerprint ofmicroscopic motion."
arXiv 2202.06355 (2022).
```

<https://doi.org/10.1364/OPTICA.6.000506>:
```
Saga Helgadottir, Aykut Argun, and Giovanni Volpe.
"Digital video microscopy enhanced by deep learning."
Optica 6.4 (2019): 506-513.
```

<https://github.com/softmatterlab/DeepTrack.git>:
```
Saga Helgadottir, Aykut Argun, and Giovanni Volpe.
Saga Helgadottir, Aykut Argun, and Giovanni Volpe.
"DeepTrack." (2019)
https://github.com/softmatterlab/DeepTrack.git
```

## Funding
This work was supported by the ERC Starting Grant ComplexSwimmers (Grant No. 677511).

This work was supported by the ERC Starting Grant ComplexSwimmers (Grant No. 677511) and the ERC Starting Grant MAPEI (101001267).
7 changes: 0 additions & 7 deletions _src/source/augmentations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,3 @@ PadToMultiplesOf
:members:
:exclude-members: get

PreLoad
^^^^^^^

.. autoclass:: deeptrack.augmentations.PreLoad
:members:
:exclude-members: get

Loading