sefef


Namesefef JSON
Version 1.2.3 PyPI version JSON
download
home_pageNone
SummarySeFEF: Seizure Forecast Evaluation Framework
upload_time2024-12-16 14:28:15
maintainerNone
docs_urlNone
authorAna Sofia Carmo
requires_pythonNone
licenseBSD 3-clause
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Welcome to ``SeFEF``
======================

.. image:: https://raw.githubusercontent.com/anascacais/sefef/main/docs/logo/sefef-logo.png
    :align: center
    :alt: SeFEF logo

|

``SeFEF`` is a Seizure Forecast Evaluation Framework written in Python.
The framework standardizes the development, evaluation, and reporting of individualized algorithms for seizure likelihood forecast. 
``SeFEF`` aims to decrease development time and minimize implementation errors by automating key procedures within data preparation, training/testing, and computation of evaluation metrics. 

Highlights:
-----------

- ``evaluation`` module: implements time series cross-validation.
- ``labeling`` module: automatically labels samples according to the desired pre-ictal duration and prediction latency.
- ``postprocessing`` module: processes individual predicted probabilities into a unified forecast according to the desired forecast horizon.
- ``scoring`` module: computes both deterministic and probabilistic metrics according to the horizon of the forecast.  



Installation
------------

Installation can be easily done with ``pip``:

.. code:: bash

    $ pip install sefef

Simple Example
--------------

The code below loads the metadata from an existing dataset from the ``examples`` folder, create a ``Dataset`` instance, and creates an adequate split for a time series cross-validation.

.. code:: python

    import json
    import pandas as pd
    from sefef import evaluation

    # read example files
    files_metadata = pd.read_csv('examples/files_metadata.csv')
    with open('examples/sz_onsets.txt', 'r') as f:
         sz_onsets = json.load(f)
   
    # create Dataset instance and perform TSCV
    dataset = evaluation.Dataset(files_metadata, sz_onsets, sampling_frequency=128)
    tscv = evaluation.TimeSeriesCV()
    tscv.split(dataset, iteratively=False, plot=True)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "sefef",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "Ana Sofia Carmo",
    "author_email": "anascacais@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ba/5a/ebb3ea7e5d62590582fcaa63a1ca21c29b0b9a7e2feac1c3870cd17bbdba/sefef-1.2.3.tar.gz",
    "platform": null,
    "description": "Welcome to ``SeFEF``\n======================\n\n.. image:: https://raw.githubusercontent.com/anascacais/sefef/main/docs/logo/sefef-logo.png\n    :align: center\n    :alt: SeFEF logo\n\n|\n\n``SeFEF`` is a Seizure Forecast Evaluation Framework written in Python.\nThe framework standardizes the development, evaluation, and reporting of individualized algorithms for seizure likelihood forecast. \n``SeFEF`` aims to decrease development time and minimize implementation errors by automating key procedures within data preparation, training/testing, and computation of evaluation metrics. \n\nHighlights:\n-----------\n\n- ``evaluation`` module: implements time series cross-validation.\n- ``labeling`` module: automatically labels samples according to the desired pre-ictal duration and prediction latency.\n- ``postprocessing`` module: processes individual predicted probabilities into a unified forecast according to the desired forecast horizon.\n- ``scoring`` module: computes both deterministic and probabilistic metrics according to the horizon of the forecast.  \n\n\n\nInstallation\n------------\n\nInstallation can be easily done with ``pip``:\n\n.. code:: bash\n\n    $ pip install sefef\n\nSimple Example\n--------------\n\nThe code below loads the metadata from an existing dataset from the ``examples`` folder, create a ``Dataset`` instance, and creates an adequate split for a time series cross-validation.\n\n.. code:: python\n\n    import json\n    import pandas as pd\n    from sefef import evaluation\n\n    # read example files\n    files_metadata = pd.read_csv('examples/files_metadata.csv')\n    with open('examples/sz_onsets.txt', 'r') as f:\n         sz_onsets = json.load(f)\n   \n    # create Dataset instance and perform TSCV\n    dataset = evaluation.Dataset(files_metadata, sz_onsets, sampling_frequency=128)\n    tscv = evaluation.TimeSeriesCV()\n    tscv.split(dataset, iteratively=False, plot=True)\n",
    "bugtrack_url": null,
    "license": "BSD 3-clause",
    "summary": "SeFEF: Seizure Forecast Evaluation Framework",
    "version": "1.2.3",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "971671d5e6905b95da88122b9640d6747c85e8e4b614f407df4fc4305eca0905",
                "md5": "2f0c79165ad022045ec7896f71a14d71",
                "sha256": "151e0c3869c8cbad24984f3fb7bf31261ff75489bef7947734869e91deb09037"
            },
            "downloads": -1,
            "filename": "sefef-1.2.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2f0c79165ad022045ec7896f71a14d71",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 21916,
            "upload_time": "2024-12-16T14:28:14",
            "upload_time_iso_8601": "2024-12-16T14:28:14.602797Z",
            "url": "https://files.pythonhosted.org/packages/97/16/71d5e6905b95da88122b9640d6747c85e8e4b614f407df4fc4305eca0905/sefef-1.2.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ba5aebb3ea7e5d62590582fcaa63a1ca21c29b0b9a7e2feac1c3870cd17bbdba",
                "md5": "4b8ebdb0a429f04080d2152865dcd15d",
                "sha256": "904ad292e598688aa4ae35b7ebf0cdbc3668f61393b4b403e03a4416d60bcfc2"
            },
            "downloads": -1,
            "filename": "sefef-1.2.3.tar.gz",
            "has_sig": false,
            "md5_digest": "4b8ebdb0a429f04080d2152865dcd15d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 118299,
            "upload_time": "2024-12-16T14:28:15",
            "upload_time_iso_8601": "2024-12-16T14:28:15.906859Z",
            "url": "https://files.pythonhosted.org/packages/ba/5a/ebb3ea7e5d62590582fcaa63a1ca21c29b0b9a7e2feac1c3870cd17bbdba/sefef-1.2.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-16 14:28:15",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "sefef"
}
        
Elapsed time: 0.45033s