Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ ZENODOarrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
addClaim

python-spectrometer

Authors: Hangleiter, Tobias; Humpohl, Simon; Beer, Max; Otten, René;

python-spectrometer

Abstract

python-spectrometer This package implements data acquisition, processing, and visualization for estimating power spectral densities using Welch's method. It provides the Spectrometer class that serves as a central interface which acquires and manges the data. Several processing steps can be applied to the raw timeseries data, for instance to convert from a voltage signal to an acceleration given a known calibration from a signal conditioning unit. To demonstrate the basic features, here is some example code using the Keysight DMM qcodes driver for data acquisition: from python_spectrometer import Spectrometer, daq from qcodes.instrument_drivers.Keysight.Keysight_34465A_submodules import Keysight_34465A dmm = Keysight_34465A('dmm', 'some_tcpip_address') # Pre-defined functions that set up and execute a measurement using a DMM spect = Spectrometer(daq.qcodes.Keysight344xxA(dmm), procfn=lambda V: V*1000, processed_unit='mV') settings = {'f_min': 0.1, 'f_max': 1000, 'phase_of_the': 'moon'} # any other settings or metadata spect.take('a comment', n_avg=5, **settings) spect.hide(0) spect.show('a comment') # same as spect.show(0) # Save and recall functionality spect.serialize_to_disk('./foo') spect_loaded = Spectrometer.recall_from_disk('./foo') # read-only because no DAQ given spect_loaded.show_keys() # (0, 'a comment') You can also play around with simulated noise (requires qopt): from python_spectrometer import Spectrometer, daq spect = Spectrometer(daq.simulator.QoptColoredNoise(lambda f, A, **_: A/f)) spect.take('foobar', n_avg=10, n_seg=5, A=42) Installing If you just want to use it you can install the latest "released" version via python -m pip install python-spectrometer[complete] However, this package profits from everybody's work and the releases are infrequent. Please make a development install and contribute your changes. You can do this via python -m pip install -e git+https://git.rwth-aachen.de/qutech/python-spectrometer.git#egg=python-spectrometer[complete] This will download the source code (i.e. clone the git repository) into a subdirectory of the ./src argument and link the files into your environment instead of copying them. If you are on Windows you can use SourceTree which is a nice GUI for git. You can specify the source code directory with the --src argument (which needs to be BEFORE -e): python -m pip install --src some_directory/my_python_source -e git+https://git.rwth-aachen.de/qutech/python-spectrometer.git#egg=python-spectrometer[complete] If you have already downloaded/cloned the package yourself you can use python -m pip install -e .[complete]. Please file an issue if any of these instructions does not work. Documentation Some of the development of this package took place during a course taught at the II. Institute of Physics at RWTH Aachen University in the winter semester 2022/23. Targeting applied research topics too specific for lectures but too general for lab courses, several modules intended for self-learning were developed, one of which focuses on "characterizing and avoiding noise and interference in instrumentation". The material can be found here: - Part 1, - Part 2. The python_spectrometer package has an auto-generated documentation that can be found at the Gitlab Pages. To build the documentation locally, navigate to doc/ and run make html or sphinx-build -b html source build Make sure the dependencies are installed via python -m pip install -e .[doc] in the top-level directory. To check if everything works for a clean install (requires hatch to be installed), run python -m hatch run doc:build Tests There are some basic tests in tests/ as well as a couple of doctests. You can run the tests either via python -m pytest --doctest-modules or to check if everything works for a clean install (requires hatch to be installed) python -m hatch run tests:run

Related Organizations
Keywords

data acquisition, Welch's method, Fourier transform, noise spectroscopy

  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
Powered by OpenAIRE graph
Found an issue? Give us feedback
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
0
Average
Average
Average