pvc-export


Namepvc-export JSON
Version 0.0.1.2023.6.28.1635 PyPI version JSON
download
home_page
SummaryExport Implen NanoPhotometer P300 PVC wavescan (absorption spectrum) files into a PNG figure and CSV tables
upload_time2023-06-28 14:35:50
maintainer
docs_urlNone
authoro124
requires_python>=3.8
licenseCopyright (c) 2016 The Python Packaging Authority (PyPA) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords implen nanophotometer p300 pvc export
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ### Implen spectra export(er)

__Intention:__

- extract XY (absorption spectrum) data from PVC wavescan files created by _"Implen NanoPhotometer Pearl P300"_
- export the data as a "CSV" (TAB-separated) table, original and smoothed
- find most prominent peaks in the spectrum and export them as a separate CSV table
- plot the data and save the image
- support loading of multiple PVC files, plotting them together in one figure and exporting them into a single table
- if a custom configuration file (*.yaml) provided (by the`-c`option), read it,
  merge it with the default configuration and use to style the plot(s)
- if requested (by the`--cc`option), create a custom configuration file template


__Implementation:__

- Import the default configuration from cfg.py as dict `cfg`
- Read a custom config and merge it with the default one, reconstruct missing values
- XY (absorption spectrum) array in PVC file is on the line starting with '$PVC '\
  Find and read the line, reshape the array, apply transformations specified in the config file
- Create a dict `data` holding all the read data and merged configuration
- Use `scipy.signal.savgol_filter()` to smooth the raw data
- Use`scipy.signal.find_peaks()`to find peaks in spectra
- Plot loaded data on `matplotlib.Figure()` , reserve a large part of the figure for the plot descriptions,\
  so that most of the images created with this tool have the same dimensions of the plot area.
- Create `Pillow.Image()` from the figure.
- Remove excessive white borders from the image with `Pillow.Image.crop()`
- Add borders (padding) of the size defined by config.
- Save (export) the figure image and CSV files with the loaded data


__Installation:__

- Either install the package directly from _pypi_\
  `pipx install pvc-export`,
- Or download a `.whl` file from the [latest release][] page\
  and install the package from the file\
  `pipx install <the-downloaded-file>.whl`
- In command shell, the script can be started with\
  `pvc-export` or `python3 -m pvc_export`
- In Windows, to add right click menu actions for PVC and YAML files,\
  consult the included [win-install.reg][] file.\
  Note that the suggested approach does not support combining multiple files
  into a single figure or CSV table via the right-click menu.


__Some command line examples:__

    pvc-export *.pvc
        => from all found *.pvc files produce:
        export.png       - figure
        export.csv       - plot data
        export.peaks.csv - peaks data

    pvc-export *.pvc -e <name>
        => from all found *.pvc files produce:
        <name>.png       - figure
        <name>.csv       - plot data
        <name>.peaks.csv - peaks data

    pvc-export --cc "config"
        => create "config.yaml" template,
        do not export figure or data

    pvc-export *.pvc --cc "config"
        => create "config.yaml" listing inside all found *.pvc files with the default styles assigned,
        do not export figure or data

    pvc-export -c "config.yaml"
        => use "config.yaml" to save
        figure, plot data, and peaks data with the styles and locations defined inside "config.yaml"

    pvc-export *.pvc -c "config.yaml"
        => use "config.yaml" for styles and locations to save all found .pvc files
        <name>.png       - figure,
        <name>.csv       - plot data,
        <name>.peaks.csv - peaks data,
        where <name> is set in advance in CONFIG:export:path

Variables, like `"$HOME"`, and globs, like `"*"`, are expanded in *.pvc file names, `"~"` is not.\
Globs are only expanded if a file path is not absolute.


[latest release]:
https://gitlab.com/_124_/pvc-export/-/releases/permalink/latest

[win-install.reg]:
src/pvc-export-etc/win-install.reg

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "pvc-export",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "Implen,NanoPhotometer,P300,pvc,export",
    "author": "o124",
    "author_email": "",
    "download_url": "",
    "platform": null,
    "description": "### Implen spectra export(er)\n\n__Intention:__\n\n- extract XY (absorption spectrum) data from PVC wavescan files created by _\"Implen NanoPhotometer Pearl P300\"_\n- export the data as a \"CSV\" (TAB-separated) table, original and smoothed\n- find most prominent peaks in the spectrum and export them as a separate CSV table\n- plot the data and save the image\n- support loading of multiple PVC files, plotting them together in one figure and exporting them into a single table\n- if a custom configuration file (*.yaml) provided (by the`-c`option), read it,\n  merge it with the default configuration and use to style the plot(s)\n- if requested (by the`--cc`option), create a custom configuration file template\n\n\n__Implementation:__\n\n- Import the default configuration from cfg.py as dict `cfg`\n- Read a custom config and merge it with the default one, reconstruct missing values\n- XY (absorption spectrum) array in PVC file is on the line starting with '$PVC '\\\n  Find and read the line, reshape the array, apply transformations specified in the config file\n- Create a dict `data` holding all the read data and merged configuration\n- Use `scipy.signal.savgol_filter()` to smooth the raw data\n- Use`scipy.signal.find_peaks()`to find peaks in spectra\n- Plot loaded data on `matplotlib.Figure()` , reserve a large part of the figure for the plot descriptions,\\\n  so that most of the images created with this tool have the same dimensions of the plot area.\n- Create `Pillow.Image()` from the figure.\n- Remove excessive white borders from the image with `Pillow.Image.crop()`\n- Add borders (padding) of the size defined by config.\n- Save (export) the figure image and CSV files with the loaded data\n\n\n__Installation:__\n\n- Either install the package directly from _pypi_\\\n  `pipx install pvc-export`,\n- Or download a `.whl` file from the [latest release][] page\\\n  and install the package from the file\\\n  `pipx install <the-downloaded-file>.whl`\n- In command shell, the script can be started with\\\n  `pvc-export` or `python3 -m pvc_export`\n- In Windows, to add right click menu actions for PVC and YAML files,\\\n  consult the included [win-install.reg][] file.\\\n  Note that the suggested approach does not support combining multiple files\n  into a single figure or CSV table via the right-click menu.\n\n\n__Some command line examples:__\n\n    pvc-export *.pvc\n        => from all found *.pvc files produce:\n        export.png       - figure\n        export.csv       - plot data\n        export.peaks.csv - peaks data\n\n    pvc-export *.pvc -e <name>\n        => from all found *.pvc files produce:\n        <name>.png       - figure\n        <name>.csv       - plot data\n        <name>.peaks.csv - peaks data\n\n    pvc-export --cc \"config\"\n        => create \"config.yaml\" template,\n        do not export figure or data\n\n    pvc-export *.pvc --cc \"config\"\n        => create \"config.yaml\" listing inside all found *.pvc files with the default styles assigned,\n        do not export figure or data\n\n    pvc-export -c \"config.yaml\"\n        => use \"config.yaml\" to save\n        figure, plot data, and peaks data with the styles and locations defined inside \"config.yaml\"\n\n    pvc-export *.pvc -c \"config.yaml\"\n        => use \"config.yaml\" for styles and locations to save all found .pvc files\n        <name>.png       - figure,\n        <name>.csv       - plot data,\n        <name>.peaks.csv - peaks data,\n        where <name> is set in advance in CONFIG:export:path\n\nVariables, like `\"$HOME\"`, and globs, like `\"*\"`, are expanded in *.pvc file names, `\"~\"` is not.\\\nGlobs are only expanded if a file path is not absolute.\n\n\n[latest release]:\nhttps://gitlab.com/_124_/pvc-export/-/releases/permalink/latest\n\n[win-install.reg]:\nsrc/pvc-export-etc/win-install.reg\n",
    "bugtrack_url": null,
    "license": "Copyright (c) 2016 The Python Packaging Authority (PyPA)  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "Export Implen NanoPhotometer P300 PVC wavescan (absorption spectrum) files into a PNG figure and CSV tables",
    "version": "0.0.1.2023.6.28.1635",
    "project_urls": {
        "Downloads": "https://gitlab.com/_124_/pvc-export/-/packages",
        "Homepage": "https://gitlab.com/_124_/pvc-export"
    },
    "split_keywords": [
        "implen",
        "nanophotometer",
        "p300",
        "pvc",
        "export"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2cb1d09a8281f1d48bcae55f4f197e505234337e481eb2c40f88809bd2621870",
                "md5": "4b9c102bc8315c1a8eccdc695d4049ec",
                "sha256": "d773dd2ad9d3f80735d418b561a6b95bc96e5173d058f374f7b1fe6ab605c44d"
            },
            "downloads": -1,
            "filename": "pvc_export-0.0.1.2023.6.28.1635-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4b9c102bc8315c1a8eccdc695d4049ec",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 22540,
            "upload_time": "2023-06-28T14:35:50",
            "upload_time_iso_8601": "2023-06-28T14:35:50.520853Z",
            "url": "https://files.pythonhosted.org/packages/2c/b1/d09a8281f1d48bcae55f4f197e505234337e481eb2c40f88809bd2621870/pvc_export-0.0.1.2023.6.28.1635-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-28 14:35:50",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "_124_",
    "gitlab_project": "pvc-export",
    "lcname": "pvc-export"
}
        
Elapsed time: 0.08643s