| |
- arcing_classifier(filtered_waveform: numpy.ndarray, configs: dict) -> (<class 'bool'>, <class 'dict'>)
- Identifies whether the transient is arcing and, if so, calculates additional meta data for the transient, such as
the number of zero crossings in the transient waveform
:param filtered_waveform: The transient waveform, that is the sampled waveform without the fundamental frequency
included
:param configs: Includes the necessary parameters needed to classify the transient
:return: A tuple which has contains a boolean indicator of whether the transient was indeed classified as being
arcing and then a dictionary of the calculated meta data.
- find_zero_xings(waveform: numpy.ndarray) -> numpy.ndarray
- Function which returns a boolean array indicating the positions of zero crossings in the the waveform
:param waveform:
:return: a boolean array indicating the positions of zero crossings in the the waveform
- impulsive_classifier(filtered_waveform: numpy.ndarray, configs: dict) -> (<class 'bool'>, <class 'dict'>)
- Identifies whether the transient is impulsive and, if so, calculates additional meta data for the transient, such as
the magnitude, duration, and rise/fall and fall/rise times.
:param filtered_waveform: The transient waveform, that is the sampled waveform without the fundamental frequency
included
:param configs: Includes the necessary parameters needed to classify the transient
:return: A tuple which has contains a boolean indicator of whether the transient was indeed classified as being
impulsive and then a dictionary of the calculated meta data.
- multiple_zero_xing_classifier(waveforms: dict, configs: dict) -> (<class 'bool'>, <class 'dict'>)
- Identifies whether the transient causes multiple zero crossings and, if so, calculates additional meta data for the
transient, such as the additional number of zero crossings caused by the transient
:param waveforms: The raw, fundamental, and filtered waveform
:param configs: Includes the necessary parameters needed to classify the transient
:return: A tuple which has contains a boolean indicator of whether the transient was indeed classified as being
a multiple zero crossing transient, and then a dictionary of the calculated metadata.
- noise_canceler(voltage, noise_floor)
- Cancels waveform measurements below noise floor. This method is intended to be used in a vectorized fashion.
:param voltage: The voltage measurement
:param noise_floor: The noise floor
:return: voltage above noise floor.
- oscillatory_classifier(filtered_waveform: numpy.ndarray, configs: dict) -> (<class 'bool'>, <class 'dict'>)
- Identifies whether the transient is oscillatory and, if so, further classifies the transient as a medium, low, or
high frequency oscillatory transient and calculates additional meta data for the transient such as the magnitude,
duration, and spectral content.
:param filtered_waveform: The transient waveform, that is the sampled waveform without the fundamental frequency
included
:return: A tuple which has contains a boolean indicator of whether the transient was indeed classified as being
oscillatory and then a dictionary of the calculated meta data.
- periodic_notching_classifier(filtered_waveform: numpy.ndarray, fundamental_waveform: numpy.ndarray, configs: dict) -> (<class 'bool'>, <class 'dict'>)
- Identifies whether the transient is periodic notching and, if so, calculates additional meta data for the transient,
such as the amplitude, width, period, and time.
:param filtered_waveform: The transient waveform, that is the sampled waveform without the fundamental frequency
included
:param fundamental_waveform: The fundamental waveform of the signal during the transient window, used to determine
whether the notching is negative power or not.
:param configs: Includes the necessary parameters needed to classify the transient
:return: A tuple which has contains a boolean indicator of whether the transient was indeed classified as being
periodic notching and then a dictionary of the calculated meta data.
- transient_incident_classifier(event_id: int, box_id: str, raw_waveform: numpy.ndarray, box_event_start_ts: int, configs: dict, opq_mongo_client: mongo.OpqMongoClient = None, logger=None)
- Classifies transient waveform. Creates a Mongo Incident document
:param event_id:
:param box_id:
:param raw_waveform:
:param box_event_start_ts:
:param configs:
:param opq_mongo_client:
:param logger:
:return: list of the classified incidents
- transient_sliding_window(filtered_waveform: numpy.ndarray, noise_floor: float, max_lull_ms: float) -> list
- Function to find candidate transient window start and stop indices
:param filtered_waveform:
:param noise_floor:
:param max_lull_ms:
:return:
- waveform_filter(raw_waveform: numpy.ndarray, filter_order: int, transient_cutoff_frequency: float) -> dict
- Function to filter out the fundamental waveform to retrieve the potential transient waveform
:param raw_waveform: The raw sampled voltages
:param filter_order: The order of the low pass Butterworth filter
:param transient_cutoff_frequency: The cutoff frequency of the low pass Butterworth filter.
:return: The filtered waveform, that is the waveform without the fundamental frequency component
|