Name | psifr JSON |
Version |
0.9.0
JSON |
| download |
home_page | |
Summary | Psifr: Analysis and visualization of free recall data |
upload_time | 2023-06-05 23:14:33 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.8 |
license | GPL-3.0-or-later |
keywords |
psychology
memory
free recall
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Psifr
[![PyPI version](https://badge.fury.io/py/psifr.svg)](https://badge.fury.io/py/psifr)
[![Documentation Status](https://readthedocs.org/projects/psifr/badge/?version=latest)](https://psifr.readthedocs.io/en/latest/?badge=latest)
[![Pytest](https://github.com/mortonne/psifr/actions/workflows/pytest.yml/badge.svg)](https://github.com/mortonne/psifr/actions/workflows/pytest.yml)
[![codecov](https://codecov.io/gh/mortonne/psifr/branch/master/graph/badge.svg)](https://codecov.io/gh/mortonne/psifr)
[![status](https://joss.theoj.org/papers/712d4452e465229d61d0e281d3d6f299/status.svg)](https://joss.theoj.org/papers/712d4452e465229d61d0e281d3d6f299)
[![DOI](https://zenodo.org/badge/248593723.svg)](https://zenodo.org/badge/latestdoi/248593723)
Advanced analysis and visualization of free recall data in Python.
Features:
* A large library of advanced analyses, tested against published benchmarks
* Flexible analysis customization and plotting
* Tools for exploratory analysis of large datasets
* Extensive automated testing to ensure analysis correctness
* Based around a simple and flexible table-based data format
* Comprehensive [documentation](https://psifr.readthedocs.io/en/stable/api/overview.html) and [user guide](https://psifr.readthedocs.io/en/stable/guide/overview.html)
The name Psifr is pronounced "cipher". It's taken from Psi, in reference to the field of psychology, and FR for free recall.
<div align="center">
<div style="max-width:500px; margin:0 20px;">
<img src="https://github.com/mortonne/psifr/blob/master/images/raster.png" alt="free recall visualization" width="500px">
<div style="text-align:left; padding:10px 0;">
Raster plot showing each recall in a free recall experiment. Color indicates serial position; yellow items were presented late in the list, while purple items were presented at the beginning. Magenta squares indicate intrusions of items that were not presented during the study list.
</div>
</div>
</div>
## Installation
You can install the latest stable version of Psifr using pip:
```bash
pip install psifr
```
You can also install the development version directly from the code
repository on GitHub:
```bash
pip install git+https://github.com/mortonne/psifr
```
## Quickstart
To plot a serial position curve for a sample dataset:
```python
from psifr import fr
df = fr.sample_data('Morton2013')
data = fr.merge_free_recall(df)
recall = fr.spc(data)
g = fr.plot_spc(recall)
```
See the [user guide](https://psifr.readthedocs.io/en/latest/guide/overview.html) for detailed documentation on importing and analyzing free recall datasets.
Also see the Jupyter notebooks for more analysis examples:
* [Recall performance](https://github.com/mortonne/psifr-notebooks/blob/master/demo_recall.ipynb)
* [Temporal clustering](https://github.com/mortonne/psifr-notebooks/blob/master/demo_lag_crp.ipynb)
## Importing data
Generally the best way to get your data into shape for analysis in Psifr is to create a CSV (or TSV) file with one row for each event in the experiment, including study events (i.e., item presentations) and all recall attempts (including repeats and intrusions).
See [importing data](https://psifr.readthedocs.io/en/latest/guide/import.html) for details.
A number of archival free recall datasets are available in the Matlab-based EMBAM format.
Data archives for a number of studies are available from the [UPenn](https://memory.psych.upenn.edu/Data_Archive) and [Vanderbilt](https://memory.psy.vanderbilt.edu/w/index.php/Publications) memory labs.
If you have data in [EMBAM](https://github.com/vucml/EMBAM) format, use `matlab/frdata2table.m` to convert your data struct to a table with standard format.
Then use the Matlab function `writetable` to write a CSV file which can then be read into Python for analysis.
## Citation
If you use Psifr, please cite the paper:
Morton, N. W., (2020).
Psifr: Analysis and visualization of free recall data.
Journal of Open Source Software, 5(54), 2669, https://doi.org/10.21105/joss.02669
## Publications using Psifr
Hong, B., Barense, M. D., Pace-Tonna, C. A. & Mack, M. L. (2022).
Emphasizing associations from encoding affects free recall at retrieval.
Proceedings of the Annual Meeting of the Cognitive Science Society 453–460.
https://escholarship.org/uc/item/2gw1s36q
## Related projects
### EMBAM
Analyses supported by Psifr are based on analyses implemented in the Matlab toolbox [EMBAM](https://github.com/vucml/EMBAM).
### pybeh
[pybeh](https://github.com/pennmem/pybeh) is a direct Python port of EMBAM that supports a wide range of analyses.
### Quail
[Quail](https://github.com/ContextLab/quail) runs automatic scoring of free recall data, supports calculation and plotting of some common free recall measures, and has tools for measuring the "memory fingerprint" of individuals.
## Contributing to Psifr
Contributions are welcome to suggest new features, add documentation, and identify bugs. See the [contributing guidelines](.github/CONTRIBUTING.md) for an overview.
Raw data
{
"_id": null,
"home_page": "",
"name": "psifr",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "psychology,memory,free recall",
"author": "",
"author_email": "Neal W Morton <mortonne@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/fc/35/0fce1dcc822a90f398889dae0f0c196bd403d6fb9726726bec4f6d9911c0/psifr-0.9.0.tar.gz",
"platform": null,
"description": "# Psifr\n[![PyPI version](https://badge.fury.io/py/psifr.svg)](https://badge.fury.io/py/psifr)\n[![Documentation Status](https://readthedocs.org/projects/psifr/badge/?version=latest)](https://psifr.readthedocs.io/en/latest/?badge=latest)\n[![Pytest](https://github.com/mortonne/psifr/actions/workflows/pytest.yml/badge.svg)](https://github.com/mortonne/psifr/actions/workflows/pytest.yml)\n[![codecov](https://codecov.io/gh/mortonne/psifr/branch/master/graph/badge.svg)](https://codecov.io/gh/mortonne/psifr)\n[![status](https://joss.theoj.org/papers/712d4452e465229d61d0e281d3d6f299/status.svg)](https://joss.theoj.org/papers/712d4452e465229d61d0e281d3d6f299)\n[![DOI](https://zenodo.org/badge/248593723.svg)](https://zenodo.org/badge/latestdoi/248593723)\n\nAdvanced analysis and visualization of free recall data in Python.\n\nFeatures:\n* A large library of advanced analyses, tested against published benchmarks\n* Flexible analysis customization and plotting\n* Tools for exploratory analysis of large datasets\n* Extensive automated testing to ensure analysis correctness\n* Based around a simple and flexible table-based data format\n* Comprehensive [documentation](https://psifr.readthedocs.io/en/stable/api/overview.html) and [user guide](https://psifr.readthedocs.io/en/stable/guide/overview.html)\n\nThe name Psifr is pronounced \"cipher\". It's taken from Psi, in reference to the field of psychology, and FR for free recall.\n\n<div align=\"center\">\n <div style=\"max-width:500px; margin:0 20px;\">\n <img src=\"https://github.com/mortonne/psifr/blob/master/images/raster.png\" alt=\"free recall visualization\" width=\"500px\">\n <div style=\"text-align:left; padding:10px 0;\">\n Raster plot showing each recall in a free recall experiment. Color indicates serial position; yellow items were presented late in the list, while purple items were presented at the beginning. Magenta squares indicate intrusions of items that were not presented during the study list.\n </div>\n </div>\n</div>\n\n## Installation\n\nYou can install the latest stable version of Psifr using pip:\n\n```bash\npip install psifr\n```\n\nYou can also install the development version directly from the code\nrepository on GitHub:\n\n```bash\npip install git+https://github.com/mortonne/psifr\n```\n\n## Quickstart\n\nTo plot a serial position curve for a sample dataset:\n\n```python\nfrom psifr import fr\ndf = fr.sample_data('Morton2013')\ndata = fr.merge_free_recall(df)\nrecall = fr.spc(data)\ng = fr.plot_spc(recall)\n```\n\nSee the [user guide](https://psifr.readthedocs.io/en/latest/guide/overview.html) for detailed documentation on importing and analyzing free recall datasets.\n\nAlso see the Jupyter notebooks for more analysis examples:\n* [Recall performance](https://github.com/mortonne/psifr-notebooks/blob/master/demo_recall.ipynb)\n* [Temporal clustering](https://github.com/mortonne/psifr-notebooks/blob/master/demo_lag_crp.ipynb)\n\n## Importing data\n\nGenerally the best way to get your data into shape for analysis in Psifr is to create a CSV (or TSV) file with one row for each event in the experiment, including study events (i.e., item presentations) and all recall attempts (including repeats and intrusions).\nSee [importing data](https://psifr.readthedocs.io/en/latest/guide/import.html) for details.\n\nA number of archival free recall datasets are available in the Matlab-based EMBAM format.\nData archives for a number of studies are available from the [UPenn](https://memory.psych.upenn.edu/Data_Archive) and [Vanderbilt](https://memory.psy.vanderbilt.edu/w/index.php/Publications) memory labs.\nIf you have data in [EMBAM](https://github.com/vucml/EMBAM) format, use `matlab/frdata2table.m` to convert your data struct to a table with standard format.\nThen use the Matlab function `writetable` to write a CSV file which can then be read into Python for analysis.\n\n## Citation\n\nIf you use Psifr, please cite the paper:\n\nMorton, N. W., (2020). \nPsifr: Analysis and visualization of free recall data. \nJournal of Open Source Software, 5(54), 2669, https://doi.org/10.21105/joss.02669\n\n## Publications using Psifr\n\nHong, B., Barense, M. D., Pace-Tonna, C. A. & Mack, M. L. (2022). \nEmphasizing associations from encoding affects free recall at retrieval. \nProceedings of the Annual Meeting of the Cognitive Science Society 453\u2013460.\nhttps://escholarship.org/uc/item/2gw1s36q\n\n## Related projects\n\n### EMBAM\nAnalyses supported by Psifr are based on analyses implemented in the Matlab toolbox [EMBAM](https://github.com/vucml/EMBAM).\n\n### pybeh\n[pybeh](https://github.com/pennmem/pybeh) is a direct Python port of EMBAM that supports a wide range of analyses.\n\n### Quail\n[Quail](https://github.com/ContextLab/quail) runs automatic scoring of free recall data, supports calculation and plotting of some common free recall measures, and has tools for measuring the \"memory fingerprint\" of individuals.\n\n## Contributing to Psifr\n\nContributions are welcome to suggest new features, add documentation, and identify bugs. See the [contributing guidelines](.github/CONTRIBUTING.md) for an overview. \n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Psifr: Analysis and visualization of free recall data",
"version": "0.9.0",
"project_urls": null,
"split_keywords": [
"psychology",
"memory",
"free recall"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "dba88d05079fbc37c931089de319180cd3f51dc56df801caeae058964d3c9489",
"md5": "e37f5aa47602c40dc8d0af5448946cc7",
"sha256": "942f6f961adb5b61debd9829b686f1d2775b288ef1c48c969a8e89a0aa455ac2"
},
"downloads": -1,
"filename": "psifr-0.9.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e37f5aa47602c40dc8d0af5448946cc7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 5255188,
"upload_time": "2023-06-05T23:14:31",
"upload_time_iso_8601": "2023-06-05T23:14:31.434433Z",
"url": "https://files.pythonhosted.org/packages/db/a8/8d05079fbc37c931089de319180cd3f51dc56df801caeae058964d3c9489/psifr-0.9.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fc350fce1dcc822a90f398889dae0f0c196bd403d6fb9726726bec4f6d9911c0",
"md5": "96a8530efa9d4f4b9508ab6073a769f5",
"sha256": "2128e1f5fc2ad63eacd1088967028837137d226b7a342e601b7acf60a73a62cc"
},
"downloads": -1,
"filename": "psifr-0.9.0.tar.gz",
"has_sig": false,
"md5_digest": "96a8530efa9d4f4b9508ab6073a769f5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 5251790,
"upload_time": "2023-06-05T23:14:33",
"upload_time_iso_8601": "2023-06-05T23:14:33.627288Z",
"url": "https://files.pythonhosted.org/packages/fc/35/0fce1dcc822a90f398889dae0f0c196bd403d6fb9726726bec4f6d9911c0/psifr-0.9.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-05 23:14:33",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "psifr"
}