yjmantilla / sovabids

A python package for the automatic conversion of EEG datasets to the BIDS standard, with a focus on making the most out of metadata.
https://sovabids.readthedocs.io/en/latest/
BSD 3-Clause "New" or "Revised" License
9 stars 3 forks source link

.. image:: https://img.shields.io/codecov/c/github/yjmantilla/sovabids :target: https://app.codecov.io/gh/yjmantilla/sovabids :alt: codecov

.. image:: https://img.shields.io/github/actions/workflow/status/yjmantilla/sovabids/python-tests.yml?branch=main&label=tests :target: https://github.com/yjmantilla/sovabids/actions?query=workflow%3Apython-tests :alt: Python tests

.. image:: https://readthedocs.org/projects/sovabids/badge/?version=latest :target: https://sovabids.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status

sovabids

Visit the documentation <https://sovabids.readthedocs.io/>_

.. after-init-label

.. note::

The advantage of the JSON-RPC way is that it can be used from other programming languages.

Limitation:

Do notice that at the moment the files have to be on the same computer that runs the server.

.. warning::

Currently meg2bids conversion is not supported, but this is a targeted feature.

.. tip::

By default sovabids will skip files already converted. If you want to overwrite previous conversions currently you need to delete the output folder (by yourself) and start sovabids over again.

Architecture

The main elements of sovabids are:

.. image:: https://mermaid.ink/svg/eyJjb2RlIjoiZ3JhcGggTFJcbiAgICBTPlwiU291cmNlIHBhdGhcIl1cbiAgICBCPlwiQmlkcyBwYXRoXCJdXG4gICAgUj5cIlJ1bGVzIGZpbGVcIl1cbiAgICBBUigoXCJBcHBseSBSdWxlc1wiKSlcbiAgICBNPlwiTWFwcGluZ3MgZmlsZVwiXVxuICAgIENUKChcIkNvbnZlcnQgVGhlbVwiKSlcbiAgICBPWyhcIkNvbnZlcnRlZCBkYXRhc2V0XCIpXVxuICAgIFMgLS0-IEFSXG4gICAgQiAtLT4gQVJcbiAgICBSIC0tPiBBUlxuICAgIEFSIC0tPiBNXG4gICAgTSAtLT4gQ1RcbiAgICBDVCAtLT4gT1xuICAiLCJtZXJtYWlkIjp7InRoZW1lIjoiZm9yZXN0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2UsImF1dG9TeW5jIjp0cnVlLCJ1cGRhdGVEaWFncmFtIjpmYWxzZX0

Internally sovabids uses MNE-Python <https://github.com/mne-tools/mne-python> and MNE-BIDS <https://github.com/mne-tools/mne-bids> to perform the conversion. In a sense is a wrapper that allows to do conversions from the command line.

Installation

.. code-block:: bash

git clone https://github.com/yjmantilla/sovabids.git cd sovabids pip install -r requirements-user.txt

Installation for GUI usage

This will install sovabids for usage with an experimental web gui, and as an experimental plugin for bidscoin.

.. code-block:: bash

git clone https://github.com/yjmantilla/sovabids.git cd sovabids pip install -r requirements-gui.txt

Installation for developers

Fork this repo and run:

.. code-block:: bash

git clone https://github.com//sovabids.git cd sovabids pip install -r requirements-dev.txt

Notice that the requirements-dev.txt file already has the sovabids installation using editable mode.

Basic Usage

The easiest way is to use sovabids through its CLI entry-points as follows:

sovapply ^^^^^^^^

Use the sovapply entry-point to produce a mapping file from a source path, an output bids root path and a rules filepath.

.. code-block:: bash

sovapply source_path bids_path rules_path

By default the mapping file made will have the following filepath:

.. code-block:: text

bids_path/code/sovabids/mappings.yml

sovaconvert ^^^^^^^^^^^

Use the sovaconvert entry-point to convert the dataset given its mapping file.

.. code-block:: bash

sovaconvert mapping_file

Funding

.. raw:: html



Acknowledgments

sovabids is developed with the help of the following entities:

.. raw:: html







Academic Works

What does sova means?

sova is a contraction of 'eso va' which mean 'that goes' in spanish.

Nevertheless the real usage by the original developers is just to convey the idea of :

we will make it happen, we dont know how, but we will