pyskna


Namepyskna JSON
Version 0.1.0.post3 PyPI version JSON
download
home_pageNone
SummaryThis toolbox provides computation methods for skin sympathetic nerve activity (SKNA), which can be derived from electrocardiogram (ECG) signals collected under specific recording conditions.
upload_time2025-08-05 23:26:13
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseMIT
keywords skna tvskna iskna biosignal neuroscience biomedical mit non-commercial
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pyskna
This toolbox provides computation methods for skin nerve activity (SKNA), which can be derived from electrocardiogram (ECG) signals collected under specific recording conditions.

## Installation

```bash
pip install pyskna
```

## Example



```python
import pandas as pd
from pyskna import extract_iSKNA, extract_TVSKNA

# Load EKG file
EKG = pd.read_csv("example_ekg.csv", header=None).to_numpy().reshape(-1)

# iSKNA computation
SKNA_dict = extract_iSKNA(input_ary=EKG, fs=4000, f_l=500, f_h=1000, smoothing_win_len=0.1)

# TVSKNA computation
TVSKNA_dict = extract_TVSKNA(input_ary=EKG, fs=4000, smoothing_win_len=0.1, thread_n=12)

```
See [`test.py`](./tests/test.py)

## Compatibility for extract_TVSKNA
The extract_TVSKNA function uses VFCDM binaries, which has been tested with **Python 3.11** on the following platforms:
- macOS (Apple Silicon / ARM64) 
- Linux (x86_64)
- Windows (x86_64)

### Notes
- macOS x86_64 (Intel) **is expected to work**, but has not been formally tested.
- 32-bit systems are **not supported**; the VFCDM library has only been compiled for 64-bit architectures.

## Citation
The neuECG technique for computing iSKNA has been implemented based on the following paper:
### iSKNA:
Kusayama, T., Wong, J., Liu, X., He, W., Doytchinova, A., Robinson, E. A., ... & Chen, P. S. (2020).  
*Simultaneous noninvasive recording of electrocardiogram and skin sympathetic nerve activity (neuECG).*  
**Nature Protocols**, 15(5), 1853–1877.

### TVSKNA:
If you use TVSKNA for 4kHz sampling frequency. Please cite the following paper:

- **For 4 kHz sampling:**

  Kong, Y., Baghestani, F., D'Angelo, W., Chen, I. P., & Chon, K. H. (2025).  
  *A New Approach to Characterize Dynamics of ECG-Derived Skin Nerve Activity via Time-Varying Spectral Analysis.*  
  **IEEE Transactions on Affective Computing**.

- **For 500 and 1000 Hz sampling:**

  Kong, Y., Baghestani, F., D'Angelo, W., Chen, I. P., & Chon, K. H. (2025).  
  *A New Approach to Characterize Dynamics of ECG-Derived Skin Nerve Activity via Time-Varying Spectral Analysis.*  
  **IEEE Transactions on Affective Computing**.

  Kong, Y., Baghestani, F., Chen, I. P., & Chon, K. H. (2025).  
  *Feasibility of Extracting Skin Nerve Activity from Electrocardiogram Recorded at a Low Sampling Frequency.*  
  **arXiv preprint**, arXiv:2508.00494. https://doi.org/10.48550/arXiv.2508.00494




### ⚠️ Patent Notice

Some functions (e.g., **`process_tvskna`**) in this library interface with the **VFCDM** algorithm covered by  
U.S. Patent No. **US8858450B2**, owned by Ki Chon, Ph.D. and Kihwan Ju, Ph.D.  
(Assignee: Research Foundation of the State University of New York).

By using VFCDM‑related functions (e.g., **`process_tvskna`**) in PySKNA, you agree to the  
[LICENSE.md](https://github.com/ykong-phd/vfcdm-binaries/blob/main/LICENSE.md) and [PATENT_NOTICE.md](https://github.com/ykong-phd/vfcdm-binaries/blob/main/PATENT_NOTICE.md) provided in the VFCDM Binaries repository, **solely for non-commercial, academic, and research use**.

 

Please see the PySKNA `LICENSE.md` for more details.

Commercial use of the patented components requires a separate license.  

For patent‑related inquiries, contact **ki.chon@uconn.edu**.  

For all other matters, contact **youngsun.kong.phd@gmail.com**.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pyskna",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "SKNA, TVSKNA, iSKNA, biosignal, neuroscience, biomedical, MIT, non-commercial",
    "author": null,
    "author_email": "\"Youngsun Kong, Ph.D.\" <youngsun.kong.phd@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/14/73/7352ec8f1141a1de69d161c67455f1444b937b88aa2d327d128be1b88fa5/pyskna-0.1.0.post3.tar.gz",
    "platform": null,
    "description": "# pyskna\nThis toolbox provides computation methods for skin nerve activity (SKNA), which can be derived from electrocardiogram (ECG) signals collected under specific recording conditions.\n\n## Installation\n\n```bash\npip install pyskna\n```\n\n## Example\n\n\n\n```python\nimport pandas as pd\nfrom pyskna import extract_iSKNA, extract_TVSKNA\n\n# Load EKG file\nEKG = pd.read_csv(\"example_ekg.csv\", header=None).to_numpy().reshape(-1)\n\n# iSKNA computation\nSKNA_dict = extract_iSKNA(input_ary=EKG, fs=4000, f_l=500, f_h=1000, smoothing_win_len=0.1)\n\n# TVSKNA computation\nTVSKNA_dict = extract_TVSKNA(input_ary=EKG, fs=4000, smoothing_win_len=0.1, thread_n=12)\n\n```\nSee [`test.py`](./tests/test.py)\n\n## Compatibility for extract_TVSKNA\nThe extract_TVSKNA function uses VFCDM binaries, which has been tested with **Python 3.11** on the following platforms:\n- macOS (Apple Silicon / ARM64) \n- Linux (x86_64)\n- Windows (x86_64)\n\n### Notes\n- macOS x86_64 (Intel) **is expected to work**, but has not been formally tested.\n- 32-bit systems are **not supported**; the VFCDM library has only been compiled for 64-bit architectures.\n\n## Citation\nThe neuECG technique for computing iSKNA has been implemented based on the following paper:\n### iSKNA:\nKusayama, T., Wong, J., Liu, X., He, W., Doytchinova, A., Robinson, E. A., ... & Chen, P. S. (2020).  \n*Simultaneous noninvasive recording of electrocardiogram and skin sympathetic nerve activity (neuECG).*  \n**Nature Protocols**, 15(5), 1853\u20131877.\n\n### TVSKNA:\nIf you use TVSKNA for 4kHz sampling frequency. Please cite the following paper:\n\n- **For 4 kHz sampling:**\n\n  Kong, Y., Baghestani, F., D'Angelo, W., Chen, I. P., & Chon, K. H. (2025).  \n  *A New Approach to Characterize Dynamics of ECG-Derived Skin Nerve Activity via Time-Varying Spectral Analysis.*  \n  **IEEE Transactions on Affective Computing**.\n\n- **For 500 and 1000 Hz sampling:**\n\n  Kong, Y., Baghestani, F., D'Angelo, W., Chen, I. P., & Chon, K. H. (2025).  \n  *A New Approach to Characterize Dynamics of ECG-Derived Skin Nerve Activity via Time-Varying Spectral Analysis.*  \n  **IEEE Transactions on Affective Computing**.\n\n  Kong, Y., Baghestani, F., Chen, I. P., & Chon, K. H. (2025).  \n  *Feasibility of Extracting Skin Nerve Activity from Electrocardiogram Recorded at a Low Sampling Frequency.*  \n  **arXiv preprint**, arXiv:2508.00494. https://doi.org/10.48550/arXiv.2508.00494\n\n\n\n\n### \u26a0\ufe0f Patent Notice\n\nSome functions (e.g., **`process_tvskna`**) in this library interface with the **VFCDM** algorithm covered by  \nU.S. Patent No. **US8858450B2**, owned by Ki Chon, Ph.D. and Kihwan Ju, Ph.D.  \n(Assignee: Research Foundation of the State University of New York).\n\nBy using VFCDM\u2011related functions (e.g., **`process_tvskna`**) in PySKNA, you agree to the  \n[LICENSE.md](https://github.com/ykong-phd/vfcdm-binaries/blob/main/LICENSE.md) and [PATENT_NOTICE.md](https://github.com/ykong-phd/vfcdm-binaries/blob/main/PATENT_NOTICE.md) provided in the VFCDM Binaries repository, **solely for non-commercial, academic, and research use**.\n\n \n\nPlease see the PySKNA `LICENSE.md` for more details.\n\nCommercial use of the patented components requires a separate license.  \n\nFor patent\u2011related inquiries, contact **ki.chon@uconn.edu**.  \n\nFor all other matters, contact **youngsun.kong.phd@gmail.com**.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "This toolbox provides computation methods for skin sympathetic nerve activity (SKNA), which can be derived from electrocardiogram (ECG) signals collected under specific recording conditions.",
    "version": "0.1.0.post3",
    "project_urls": null,
    "split_keywords": [
        "skna",
        " tvskna",
        " iskna",
        " biosignal",
        " neuroscience",
        " biomedical",
        " mit",
        " non-commercial"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4b26c4106ec6715199da08dc34cd4f46235c1513f456e59a66b4e87a91db61b8",
                "md5": "a89303182a2efe699fcad1a913c07349",
                "sha256": "a6aa6880f809f6002fdeafb8630b2b359d09d49a9051f3df5a35729fbb918447"
            },
            "downloads": -1,
            "filename": "pyskna-0.1.0.post3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a89303182a2efe699fcad1a913c07349",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 9624,
            "upload_time": "2025-08-05T23:26:12",
            "upload_time_iso_8601": "2025-08-05T23:26:12.468590Z",
            "url": "https://files.pythonhosted.org/packages/4b/26/c4106ec6715199da08dc34cd4f46235c1513f456e59a66b4e87a91db61b8/pyskna-0.1.0.post3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "14737352ec8f1141a1de69d161c67455f1444b937b88aa2d327d128be1b88fa5",
                "md5": "eac888163c1d08ea651f6cf826ec5c83",
                "sha256": "be79a720e1877a076b8db96092c4ceb3b73322058da41afdbf3fea749bef62b2"
            },
            "downloads": -1,
            "filename": "pyskna-0.1.0.post3.tar.gz",
            "has_sig": false,
            "md5_digest": "eac888163c1d08ea651f6cf826ec5c83",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 9516,
            "upload_time": "2025-08-05T23:26:13",
            "upload_time_iso_8601": "2025-08-05T23:26:13.558732Z",
            "url": "https://files.pythonhosted.org/packages/14/73/7352ec8f1141a1de69d161c67455f1444b937b88aa2d327d128be1b88fa5/pyskna-0.1.0.post3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-05 23:26:13",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pyskna"
}
        
Elapsed time: 0.75805s