This software is designed to learn the causality/correlation between different modalities of medical data. These modalities include Numbers, signals with 1D consistency like language or ECG, signals with 2D consistency like images or activation maps and signals with 3D consistency like videos or MRI.
This software is written in python language version 3.6 & 3.7
See the requirements.txt
for a package dump. To insall you can use conda install --file requirements.txt
or install manually the following packages:
pandas: for handling dataframes and CSVs.
pip install pandas --user
scikit-image: for image operations
pip install scikit-image --user
opencv: for image operations
pip install opencv-python --user
At the moment, we use pytorch back-end for our neural network operations
The main objective of this software is automatically to create a Graph between different modalities defined in Datasets, update the parameters of the Graph based on the samples in the Dataset and evaluate the results (training).
@startuml
Actor main
participant Scenario
participant Scene
participant Task
participant Graphs
participant Dataset
== Initialization ==
main -> Scenario: constructor()
loop each scene
Scenario -> Scenario: create scenes configs
end
== Training ==
loop through Scenario iterator
Scenario -> main: ""__iterator__""
note right
==** Scene object **==
# Create Scene object: ""constructor()""
# Inits the acyclyc graph: ""init_graph()""
# Creat the models: ""init_models_and_adjust_sizes()""
end note
main -> Scene: run_scene()
loop Run scene: ""repeat * epochs"" times
Scene -> Task: update learning rate
loop batch iteration ""epoch_size"" times
Scene -> Task: step()
Dataset -> Task: next() gets batch
Task -> Graphs: train() on train_set_name
end
Scene -> Task: Save with current scene //name//
end
Scene -> Task: run test dataset
Scene -> Task: Save with scene name //last//
end
@enduml
In the tests
folder you will find component tests. You can run all of them using nose2
(install conda install -y nose2
)