Metadata-Version: 2.1
Name: opticalflow3d
Version: 0.2.0
Summary: GPU/CUDA optimized implementation of 3D optical flow algorithms such as Farneback two frame motion estimation and Lucas Kanade dense optical flow algorithms
Home-page: https://gitlab.com/xianbin.yong13/opticalflow3d
Author: Xianbin Yong
Author-email: xianbin.yong13@sps.nus.edu.sg
License: GPLv3
Project-URL: Research group, https://ctlimlab.org/
Project-URL: Source, https://gitlab.com/xianbin.yong13/opticalflow3d
Platform: UNKNOWN
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 3 - Alpha
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.7
Description-Content-Type: text/markdown

# opticalflow3d

GPU/CUDA optimized implementation of 3D optical flow algorithms such as Farneback two frame 
motion estimation and Lucas Kanade dense optical flow algorithms.

Please see the [related projects](#related-projects) section for the other components of this pipeline

***
## Overview
Being able to efficiently calculate the displacements between two imaging volumes will allow us to query the 
dynamics captured in the images. This would include 3D biological samples and 3D force micrsocopy. However, a CPU 
based implementation would be too time consuming. Thus, this repository was created to address this problem by 
providing GPU accelerated implementation of various optical flow algorithms. Speed is key here, and tricks such as 
separable convolutions are used.

Currently, two optical flow methods are implemented:
- Pyramidal Lucas Kanade dense optical flow algorithm
- Farneback two frame motion estimation algorithm

The following methods are also provided to help in the assessment of the vectors.
- forward mapping of the first image using the calculated vectors

***
## Usage
### Required packages
The following packages are required. Please ensure that they are installed using either pip or conda.
- numpy
- numba
- scikit-image
- scipy
- cupy
- tqdm

### Installation
This package is available via pip and can be installed using:
```
pip install opticalflow3d
```

### Examples
Examples can be found in the examples folder

***
## How to cite


## Related projects


