gevi/README.md

56 lines
1.9 KiB
Markdown
Raw Normal View History

2023-07-10 14:36:01 +02:00
# gevi
2023-07-10 14:47:58 +02:00
## Main files:
Anime.py : Is a class used for displaying 2d Movies from a 3D Matrix.
ImageAlignment.py: Is a class used for aligning two images (move and rotate as well as an unused scale option). This source code is based on https://github.com/matejak/imreg_dft . Is was ported to PyTorch such it can run in GPUs.
DataContailer.py: Main class for data pre-processing of the gevi raw data.
2023-07-10 14:36:01 +02:00
## TODO / Known problems
2023-07-10 14:40:02 +02:00
Support for several part files was included but, due to missing data with several part files, never tested.
2023-07-10 14:42:51 +02:00
## Installation
2023-07-10 14:40:02 +02:00
The code was tested on a Python 3.11.2 (Linux) with the following pip packages installed:
2023-07-10 14:40:22 +02:00
2023-07-10 14:40:47 +02:00
numpy scipy pandas flake8 pep8-naming black matplotlib seaborn ipython jupyterlab mypy dataclasses-json dataconf mat73 ipympl torch torchtext pywavelets scikit-image opencv-python scikit-learn tensorflow_datasets tensorboard tqdm argh sympy jsmin pybind11 pybind11-stubgen pigar asciichartpy torchvision torchaudio tensorflow natsort roipoly
2023-07-10 14:40:22 +02:00
2023-07-10 14:41:36 +02:00
Not all packages are necessary (probably these are enougth: torch torchaudio torchvision roipoly natsort numpy matplotlib) but this is our default in-house installation plus roipoly.
2023-07-10 14:40:02 +02:00
We used a RTX 3090 as test GPU.
2023-07-10 18:23:18 +02:00
## Data processing chain
### SVD
- start automatic_load
- try to load previous mask: NOT found
- start cleaned_load_data
- start load_data
- work in XXXX.npy
- np.load
- organize acceptor
- organize donor
- move axis
- move intra timeseries
- rotate inter timeseries
- move inter timeseries
- spatial pooling
- data(x,y,t) -= data(x,y,t).mean(t) + 1
- remove the heart beat via SVD
- remove mean
- remove linear trends
- remove heart beat (heartbeat_scale)
- apply bandpass donor_residuum (filtfilt)
- apply bandpass acceptor_residuum (filtfilt)
- calculate mask (optinal)
- don't use regression
- scale acceptor and donor signals
- update inital mask
- end automatic_load