GithubHelp home page GithubHelp logo

nedkab / tvb-epilepsy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from the-virtual-brain/tvb-epilepsy

0.0 1.0 0.0 375.57 MB

TVB applications to epilepsy

License: Other

Python 2.30% Shell 0.01% Stan 0.17% Jupyter Notebook 97.53%

tvb-epilepsy's Introduction

TVB Epilepsy

This project contains prototype code for epilepsy applications of TVB.

Project architecture

The project is split in 2 packages:

  • tvb-fit intended as a base package, stand-alone library
  • tvb-epilepsy is dependent on tvb-fit for models and algorithms, but specialised on the Epilepsy use-case

Both package follow the followig structure:

  • base
    This package is independent and used by the other packages in tvb-epilepsy. It is holding sub-packages that define models, configurations, logger, computations, symbolic computations etc.

  • io
    The I/O functionality is kept here. This package provides readers and writers for various file types, like: h5, csv, rdump, tvb_data format.
    It is mostly used to serialize models from base package in files. It is dependent on base package.

  • plot
    Besides keeping data into files, tvb-epilepsy provides plotting functionality under this package.
    There are plot methods for: hypothesis, connectivity, simulation results, epileptor model, fitting results etc.
    It is dependent only on the base package.

  • service
    This package provides all the logic of tvb_epilepsy. It contains builders, factories and services.
    Builders can be used to generate objects based on some conditions. There are builders like: hypothesis, model configuration, simulator.
    Factories are used to create instances based on the wanted type (usually string or enum). For example, there are factories for epileptor model, probability distribution.
    Services can be split in two big parts: services that do forward computations (Simulator, LSA, PSE) and services that do backwards computations (Model inversion/fitting).
    These are usually dependent on the base package because they are working with models, logger and computations. In some cases, there are also dependencies on the io package.

  • top
    Here there are 3 sub-packages: examples, scripts and notebooks.
    Inside examples there are main files with different flows that can be used with tvb-epilepsy. As an example, main_vep exemplifies steps for: reading an hypothesis -> generating a model configuration based on it -> configuring a Simulator -> launching a simulation -> plotting the simulation results -> serializing models to h5 files.
    The scrips sub-package contains some helper functions that are used within the main files.
    Notebooks, are similar with the main files, but with extra text explaining what is happening.
    The package depends on all of the above, as here is where the flow is chosen.

  • tests
    Inside this package there are various unit tests implemented for verifying the correctness of the code. They can also be used for tvb-epilepsy guidance, as they are smaller than examples package.

Build Status Coverage Status

tvb-epilepsy's People

Contributors

dionperd avatar popaula937 avatar liadomide avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.