pyprobe.cyclers.biologic#

A module to load and process Biologic battery cycler data.

Classes

Biologic(*, input_data_path[, ...])

A class to load and process Biologic battery cycler data.

BiologicMB(*, input_data_path[, ...])

A class to load and process Biologic Modulo Bat battery cycler data.

class Biologic(*, input_data_path, output_data_path=None, compression_priority='performance', overwrite_existing=False, header_row_index=0, column_importers=[<pyprobe.cyclers.column_maps.DateTimeMap object>, <pyprobe.cyclers.column_maps.CastAndRenameMap object>, <pyprobe.cyclers.column_maps.ConvertUnitsMap object>, <pyprobe.cyclers.column_maps.ConvertUnitsMap object>, <pyprobe.cyclers.column_maps.ConvertUnitsMap object>, <pyprobe.cyclers.column_maps.ConvertUnitsMap object>, <pyprobe.cyclers.column_maps.CapacityFromChDchMap object>, <pyprobe.cyclers.column_maps.ConvertTemperatureMap object>, <pyprobe.cyclers.column_maps.ConvertUnitsMap object>], extra_column_importers=<factory>, column_dict={'<I>/*': 'Current [*]', 'Date': 'Date', 'Ecell/*': 'Voltage [*]', 'Ewe/*': 'Voltage [*]', 'I/*': 'Current [*]', 'Ns': 'Step', 'Q charge/*': 'Charge Capacity [*]', 'Q discharge/*': 'Discharge Capacity [*]', 'Temperature/*': 'Temperature [*]', 'time/*': 'Time [*]'})#

Bases: BaseCycler

A class to load and process Biologic battery cycler data.

Parameters:
  • input_data_path (str)

  • output_data_path (str | None)

  • compression_priority (Literal['performance', 'file size', 'uncompressed'])

  • overwrite_existing (bool)

  • header_row_index (int)

  • column_importers (list[ColumnMap])

  • extra_column_importers (list[ColumnMap])

  • column_dict (dict[str, str])

static read_file(filepath, header_row_index=0)#

Read a battery cycler file into a DataFrame.

Parameters:
  • filepath (str) – The path to the file.

  • header_row_index (int) – The index of the header row.

Returns:

The DataFrame.

Return type:

pl.DataFrame | pl.LazyFrame

model_config = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class BiologicMB(*, input_data_path, output_data_path=None, compression_priority='performance', overwrite_existing=False, header_row_index=0, column_importers=[<pyprobe.cyclers.column_maps.DateTimeMap object>, <pyprobe.cyclers.column_maps.CastAndRenameMap object>, <pyprobe.cyclers.column_maps.ConvertUnitsMap object>, <pyprobe.cyclers.column_maps.ConvertUnitsMap object>, <pyprobe.cyclers.column_maps.ConvertUnitsMap object>, <pyprobe.cyclers.column_maps.ConvertUnitsMap object>, <pyprobe.cyclers.column_maps.CapacityFromChDchMap object>, <pyprobe.cyclers.column_maps.ConvertTemperatureMap object>, <pyprobe.cyclers.column_maps.ConvertUnitsMap object>], extra_column_importers=<factory>, column_dict={'<I>/*': 'Current [*]', 'Date': 'Date', 'Ecell/*': 'Voltage [*]', 'Ewe/*': 'Voltage [*]', 'I/*': 'Current [*]', 'Ns': 'Step', 'Q charge/*': 'Charge Capacity [*]', 'Q discharge/*': 'Discharge Capacity [*]', 'Temperature/*': 'Temperature [*]', 'time/*': 'Time [*]'})#

Bases: Biologic

A class to load and process Biologic Modulo Bat battery cycler data.

Parameters:
  • input_data_path (str)

  • output_data_path (str | None)

  • compression_priority (Literal['performance', 'file size', 'uncompressed'])

  • overwrite_existing (bool)

  • header_row_index (int)

  • column_importers (list[ColumnMap])

  • extra_column_importers (list[ColumnMap])

  • column_dict (dict[str, str])

get_imported_dataframe(dataframe_list)#

Read a battery cycler file into a DataFrame.

Parameters:

dataframe_list (list[DataFrame]) – The list of DataFrames to concatenate.

Returns:

The imported DataFrame.

Return type:

DataFrame | LazyFrame

static apply_step_correction(df)#

Correct the step column.

This method adds the maximum step number from the previous MB file to the step number of the following MB file so they monotonically increase.

Parameters:

df (DataFrame | LazyFrame) – The DataFrame to correct.

Returns:

The corrected DataFrame.

Return type:

pl.DataFrame

model_config = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].