The current version of the code assumes brain data as inputs. However, HOI can be computed on any type of system, from population of neurons, interactions between molecules, psychological tests etc. The goal of this first issue is to make the code more general and supports other types of data. Also, here's the Matlab version of the HOI that we'll use for reference.
@Dishie2498
Code structure
Core functions
This folder will contain the low level-functions
[ ] New folder hoi/core
[ ] New file hoi/core/__init__.py
[ ] New file hoi/core/it.py : low-level information-theoretical functions for computing entropy (e.g. ent_g)
[ ] New file hoi/core/combinatory.py: e.g. combinations
HOI functions
This folder will contain HOI measurements (zero-lag, task-related, lagged)
[ ] New folder hoi/metrics
[ ] New file hoi/metrics/__init__.py and hoi/metrics/oinfo_zerolag.py
[ ] In hoi/metrics/oinfo_zerolag.py, new function oinfo_zerolag and move the content of the function conn_oinfo_jax there
Remove dependencies
[ ] Remove dependency to Frites and xarray (also modify setup.py)
[ ] Inutx will still be three dimensional, but we will change the dimension names internally and in the documentation: n_epochs → n_samples; n_roi → n_features; n_times → n_variables
The current version of the code assumes brain data as inputs. However, HOI can be computed on any type of system, from population of neurons, interactions between molecules, psychological tests etc. The goal of this first issue is to make the code more general and supports other types of data. Also, here's the Matlab version of the HOI that we'll use for reference.
@Dishie2498
Code structure
Core functions
This folder will contain the low level-functions
hoi/core
hoi/core/__init__.py
hoi/core/it.py
: low-level information-theoretical functions for computing entropy (e.g.ent_g
)hoi/core/combinatory.py
: e.g.combinations
HOI functions
This folder will contain HOI measurements (zero-lag, task-related, lagged)
hoi/metrics
hoi/metrics/__init__.py
andhoi/metrics/oinfo_zerolag.py
hoi/metrics/oinfo_zerolag.py
, new functionoinfo_zerolag
and move the content of the functionconn_oinfo_jax
thereRemove dependencies
n_epochs
→n_samples
;n_roi
→n_features
;n_times
→n_variables