Package: signalyzer
Signalyzersignalyzeris a Python package to analyze and process time-discrete,
equidistant measured signals, and visualize them with the open sourcePlotlylibrary forPython.Main features of thesignalyzerpackage aretransform and combine measured signals into a new onedescriptive statistics over the measured signalinteractive plotting of the measured signal withPlotlyintegrating (accumulating) of the measured signaldifferentiating of the measured signalclipping of the measured signalrate limiting of the measured signalfiltering of the measured signallogical operations between measured signalsprioritizing measured logic signals with a priority encodersmoothing of the measured signal with statisticsprocess measured signals with a moving windowmoving sample value (event) countermoving averages with window statisticsmoving differentiationmoving OLS linear regression with window statisticsshifting (moving) of the measured signalslicing of the measured signalevaluate statemachine transitions observed by measured state signalImportant: Thesignalyzerpackage is best used withinJupyterLaba
web-based interactive development environment forJupyternotebooks or with
PlotlyDash,Streamlitor Jupytervoilato build standalone web
applications and dashboards.Table of ContentsProject StatusProject StructureGetting StartedDependenciesInstallationUsageDevelopmentGetting the SourceBuilding a DistributionBuilding the DocumentationRelease ProcessVersioningDocumentationContributingLicenseAuthorsProject StatusThisprojectis stable and active. Feedback is always welcomed!Back to topProject StructureTheprojectis organized in sub-folders.assets:Projectassets filesdocs/:Sphinxdocumentationnotebooks/:Jupyternotebookssrc/signalyzer/: Package sourcessignalyzer/trace: Trace module sourcessignalyzer/statemachine: Statemachine module sourcesBack to topGetting StartedDependenciesThesignalyzerpackage requires at leastPython3.10 and depends on the
external packages:numpyscipypandasplotlyInstallationTheprojectcan be installed fromPyPIusingpip>pipinstallsignalyzerBack to topUsagePlease read the online documentation hosted on "Read The Docs".Back to topDevelopmentGetting the SourceThisprojectis hosted ongitlab.
You can clone thisprojectdirectly using this command:>gitclonehttps://gitlab.com/signalytics/signalyzer.gitBuilding a DistributionTo build a distribution of thisprojectlocal, use this command:>makebuildThe generated the distribution artifacts can be found in the./distfolder
of the clonedprojecton your machine.Building the DocumentationBuilding the documentation requiresSphinx, theFurotheme, theSphinxextensionssphinx-copybuttonandsphinx-plotly-directive.The required Python packages can be installed on your local machine usingpip,
use this commands:>pipinstallsphinx
>pipinstallfuro
>pipinstallsphinx-copybutton
>pipinstallsphinx-plotly-directiveTo build the documentation of thisprojectlocal, use this command:>makedocsThe generated HTML documentation artifact can be found in the./docs/_build/htmlfolder of the clonedprojecton your machine.Release ProcessVersioningThisprojectusesSemantic Versioning.
For a list of available versions, see therepository tag list.Back to topDocumentationThe documentation for the latest repository build is hosted on theGitLab Pagesof theproject.The documentations of theprojectreleasesare hosted onRead The Docs.Back to topContributingIf you are interested to contribute code or documentation to theproject,
please take a look at thecontributing guidelinesfor details
on our development process.Back to topLicenseTheprojectis licensed under the revised3-Clause BSD License.SeeLICENSE.Back to topAuthorsJochen GerhäußerSee also the list ofcontributorswho participated in thisproject.Back to top