Working with Files
pypalmsens and PSTrace store measurements and their corresponding methods in .pssession files. Methods can also be stored separately in .psmethod files. pypalmsens contains all the functions needed to work with session and method files.
Loading a Method
pypalmsens.load_method_file is used to load method files (with the .psmethod extension). This returns a Technique object containing all technique parameters.
>>> import pypalmsens as ps
>>> method = ps.load_method_file('examples/PSDummyCell_LSV.psmethod')
>>> method
LinearSweepVoltammetry(..., current_range=CurrentRange(max='1mA', min='100nA', start='100uA'), equilibration_time=2.0, begin_potential=-5.0, end_potential=5.0, step_potential=0.01, scanrate=1.0, ...)
Saving a Method
Save the method using pypalmsens.save_method_file. The .psmethod file can be opened with PSTRace.
>>> ps.save_method_file('lsv.psmethod', method)
Loading Data
Measurement data can be loaded from .pssession files. A session file contains one or more measurements, including experimental methods, metadata, and raw data.
pypalmsens.load_session_file is used to load session files. It returns a list of measurements containing the dataset (raw data in array form) and curves (plot data). The equivalent in PSTrace or PSTrace Express would be the 'Data' and the 'Plot' tabs, respectively.
For example, loading a collection of measurements from a session file:
>>> measurements = ps.load_session_file(
... 'examples/Demo CV DPV EIS IS-C electrode.pssession'
... )
>>> measurements
[Measurement(title=Differential Pulse Voltammetry, timestamp=2017-07-12T14:28:58, device=PalmSens4),
Measurement(title=Cyclic Voltammetry [1], timestamp=2017-07-12T14:33:10, device=PalmSens4),
Measurement(title=Impedance Spectroscopy [2], timestamp=2017-07-12T14:48:42, device=PalmSens4)]
If you only need to extract a single measurement from the session file, use pypalmsens.load_measurement.
For example, loading a single measurement:
>>> measurement = ps.load_measurement(
... 'examples/CV example.pssession'
... ) #(1)!
>>> measurement
Measurement(title=Cyclic Voltammetry, timestamp=2017-07-12T14:33:10, device=PalmSens4)
- Loading a single measurement is equivalent to unpacking a single measurement from a session file load:
[measurement] = ps.load_session_file(...).
load_measurement This function raise an error if your session file contains multiple measurements.
Data components
The specific data components (curves, raw data, and EIS data) are stored within the following attributes of a Measurement object:
- Curves:
.curves - Raw data:
.dataset - EIS data:
.eis_data
See the Measurement documentation for how to work with the data classes.
Saving Data
To save a single measurement, use pypalmsens.save_measurement, for example.
ps.save_measurement('cv_measurement.pssession', measurement) #(1)!
- This is equivalent to
ps.save_session_file(..., [measurement]).
Session files can contain multiple measurements. To store multiple measurements to a single file, use pypalmsens.save_session_file:
>>> ps.save_session_file(
... 'CV DPV EIS measurements.pssession',
... measurements #(1)!
... )
- A list of measurements