piel.experimental.measurements.data.dc
======================================

.. py:module:: piel.experimental.measurements.data.dc


Functions
---------

.. autoapisummary::

   piel.experimental.measurements.data.dc.construct_sourcemeter_sweep_signal_from_csv
   piel.experimental.measurements.data.dc.construct_sourcemeter_sweep_signal_from_dataframe
   piel.experimental.measurements.data.dc.construct_multimeter_sweep_signal_from_csv
   piel.experimental.measurements.data.dc.construct_multimeter_sweep_signal_from_dataframe
   piel.experimental.measurements.data.dc.extract_signal_data_from_dataframe
   piel.experimental.measurements.data.dc.extract_signal_data_from_csv
   piel.experimental.measurements.data.dc.extract_dc_sweeps_from_operating_point_csv
   piel.experimental.measurements.data.dc.extract_dc_sweep_experiment_data_from_csv
   piel.experimental.measurements.data.dc.extract_dc_metrics_from_experiment_data


Module Contents
---------------

.. py:function:: construct_sourcemeter_sweep_signal_from_csv(file_path: piel.types.PathTypes, voltage_signal_name: str, current_signal_name: str, **kwargs) -> piel.types.SignalDC

.. py:function:: construct_sourcemeter_sweep_signal_from_dataframe(dataframe: pandas.DataFrame, voltage_signal_name: str, current_signal_name: str, signal_kwargs: dict = None, **kwargs) -> piel.types.SignalDC

.. py:function:: construct_multimeter_sweep_signal_from_csv(file_path: piel.types.PathTypes, signal_name: str, unit: piel.types.Unit = V, **kwargs) -> piel.types.SignalDC

   Construct a multimeter sweep signal from a CSV file.

   :param file_path: The path to the CSV file.
   :type file_path: PathTypes
   :param signal_name: The name of the signal.
   :type signal_name: str
   :param unit: Determines type of signal.
   :type unit: Unit
   :param \*\*kwargs:

   :returns: *
             * *SignalDC* -- The multimeter sweep signal


.. py:function:: construct_multimeter_sweep_signal_from_dataframe(dataframe: pandas.DataFrame, signal_name: str, signal_kwargs: dict = None, **kwargs) -> piel.types.SignalDC

   Construct a multimeter sweep signal from a dataframe.

   :param dataframe: The dataframe containing the multimeter sweep signal data.
   :type dataframe: pd.DataFrame
   :param signal_name: The name of the signal.
   :type signal_name: str
   :param signal_kwargs: Additional keyword arguments.
   :type signal_kwargs: dict
   :param \*\*kwargs:

   :returns: *
             * *SignalDC* -- The multimeter sweep signal


.. py:function:: extract_signal_data_from_dataframe(dataframe: pandas.DataFrame, input_signal_name_list: list[piel.types.VoltageCurrentSignalNamePair], output_signal_name_list: list[str], power_signal_name_list: list[piel.types.VoltageCurrentSignalNamePair], **kwargs) -> piel.types.SignalDCCollection

   Extract DC sweep data from a dataframe.

   :param dataframe: The dataframe containing the DC sweep data.
   :type dataframe: pd.DataFrame
   :param input_signal_name_list: The pairs of sourcemeter voltage and current signal names.
   :type input_signal_name_list: list[VoltageCurrentSignalNamePair]
   :param output_signal_name_list: The multimeter signals.
   :type output_signal_name_list: list[str]
   :param power_signal_name_list: The pairs of sourcemeter voltage and current signal names.
   :type power_signal_name_list: list[VoltageCurrentSignalNamePair]
   :param \*\*kwargs: Additional keyword arguments.

   :returns: *
             * *SignalDCCollection* -- The DC sweep data.


.. py:function:: extract_signal_data_from_csv(file_path: piel.types.PathTypes, input_signal_name_list: list[piel.types.VoltageCurrentSignalNamePair], output_signal_name_list: list[str], power_signal_name_list: list[piel.types.VoltageCurrentSignalNamePair], **kwargs) -> piel.types.SignalDCCollection

   Extract DC sweep data from a CSV file.

   :param file_path: The path to the CSV file.
   :type file_path: PathTypes
   :param input_signal_name_list: The pairs of sourcemeter voltage and current signal names.
   :type input_signal_name_list: list[VoltageCurrentSignalNamePair]
   :param output_signal_name_list: The multimeter signals.
   :type output_signal_name_list: list[str]
   :param power_signal_name_list: The pairs of sourcemeter voltage and current signal names relating to power lines.
   :type power_signal_name_list: list[VoltageCurrentSignalNamePair]
   :param \*\*kwargs: Additional keyword arguments.

   :returns: *
             * *SignalDCCollection* -- The DC sweep data.


.. py:function:: extract_dc_sweeps_from_operating_point_csv(file_path: piel.types.PathTypes, input_signal_name_list: list[piel.types.VoltageCurrentSignalNamePair], output_signal_name_list: list[str], power_signal_name_list: list[piel.types.VoltageCurrentSignalNamePair], unique_operating_point_columns: list[str], **kwargs) -> piel.types.DCSweepMeasurementDataCollection

   Extract DC sweep data from a full operating point CSV file. The operating point CSV file contains the DC sweep data
   for multiple operating points. The unique operating point columns are used to extract the unique operating points
   from the CSV file. The DC sweep data is then extracted for each unique operating point. The DC sweep data is
   returned as a DCMeasurementDataCollection. The DCMeasurementDataCollection is a list of DCMeasurementDataTypes.

   :param file_path: The path to the operating point CSV file.
   :type file_path: PathTypes
   :param input_signal_name_list: The pairs of sourcemeter voltage and current signal names.
   :type input_signal_name_list: list[VoltageCurrentSignalNamePair]
   :param output_signal_name_list: The multimeter signals.
   :type output_signal_name_list: list[str]
   :param power_signal_name_list: The pairs of sourcemeter voltage and current signal names relating to power lines.
   :type power_signal_name_list: list[VoltageCurrentSignalNamePair]
   :param unique_operating_point_columns: The unique operating point columns.
   :type unique_operating_point_columns: list[str]
   :param \*\*kwargs: Additional keyword arguments.

   :returns: The DC sweep data collection.
   :rtype: DCMeasurementDataCollection


.. py:function:: extract_dc_sweep_experiment_data_from_csv(file_path: piel.types.PathTypes, input_signal_name_list: list[piel.types.VoltageCurrentSignalNamePair], output_signal_name_list: list[str], power_signal_name_list: list[piel.types.VoltageCurrentSignalNamePair], unique_operating_point_columns: list[str], **kwargs) -> piel.types.ExperimentData

   Extract DC sweep data experiment data from a full operating point CSV file. The operating point CSV file contains the DC sweep data
   for multiple operating points. The unique operating point columns are used to extract the unique operating points
   from the CSV file. The DC sweep data is then extracted for each unique operating point. The DC sweep data is returned as a ExperimentData with the unique_operating_point_columns as part of the parameter_list definition, and the sweep data as part of the collection DCSweepMeasurementDataCollection.

   :param file_path: The path to the operating point CSV file.
   :type file_path: PathTypes
   :param input_signal_name_list: The pairs of sourcemeter voltage and current signal names.
   :type input_signal_name_list: list[VoltageCurrentSignalNamePair]
   :param output_signal_name_list: The multimeter signals.
   :type output_signal_name_list: list[str]
   :param power_signal_name_list: The pairs of sourcemeter voltage and current signal names of the power lines.
   :type power_signal_name_list: list[VoltageCurrentSignalNamePair]
   :param unique_operating_point_columns: The unique operating point columns.
   :type unique_operating_point_columns: list[str]
   :param \*\*kwargs: Additional keyword arguments.

   :returns: A collection of experiment and metadata to represent a DC sweep analysis.
   :rtype: ExperimentData


.. py:function:: extract_dc_metrics_from_experiment_data(experiment_data: piel.types.ExperimentData, parameter_column: str = 'driver_b_v_set', label_column_name='ID', **kwargs)

