Analysis#

Once filtered, the PyProBE analysis module exists to perform further computation on your experimental data. You can see the currently available methods in this part of the API documentation.

Analysis modules contain functions and classes that operate on PyProBE objects. Analysis classes and functions can be selective about the data that you provide to them. For example, the Cycling analysis class requires the input_data attribute to be assigned an Experiment object. This is to allow this class to use attributes such as charge() internally. PyProBE will provide an error if the incorrect type is provided.

An analysis function may be dependent on specific columns in your experimental data. This is validated when an analysis method is called, and an error is provided if the validation is not passed.

Most analysis functions are available at the module-level. In general:

result = analysis_modue.method(method_parameters)

or for the performing differentiation using the pyprobe.analysis.differentiation.gradient() function:

from pyprobe.analysis import differentiation
gradient = differentiation.gradient(input_data = input_data,
                                    x = "Capacity [Ah]",
                                    y = "Voltage [V]")

Methods within analysis modules and classes always return Result objects, which allows direct integration with other PyProBE functionality such as plotting, and other methods.

Analysis functions have been designed to be simple to read and implement. See the Contributing to the analysis module section of the Developer Guide.