Ejemplo n.º 1
0
    def segment_heuristically(self, sensors, reference_signal, label=None):
        p = PeakAnalysis(self.view)
        peaks = p.get_peaks(reference_signal)

        timestamps = []
        for peak_position in peaks:
            timestamps.append(sensors[0].timestamp[peak_position])

        if label:
            label_timestamps = label.timestamp
            labels = label.label
            closer_labels = []
            closer_timestamps = []

            for i in range(0, len(label_timestamps)):
                min_dist = label_timestamps[len(label_timestamps) -
                                            1] - label_timestamps[0]
                closer_label = None
                closer_timestamp = None

                for heuristic_timestamp in timestamps:
                    dist = sqrt(
                        np.square(label_timestamps[i] - heuristic_timestamp))

                    if dist < min_dist:
                        min_dist = dist
                        closer_label = labels[i]
                        closer_timestamp = heuristic_timestamp

                closer_labels.append(closer_label)
                closer_timestamps.append(closer_timestamp)

            self.segment(sensors, closer_timestamps, closer_labels)
        else:
            self.segment(sensors, timestamps)
Ejemplo n.º 2
0
    def segment_heuristically(self, sensors, reference_signal, label=None):
        p = PeakAnalysis(self.view)
        peaks = p.get_peaks(reference_signal)

        timestamps = []
        for peak_position in peaks:
            timestamps.append(sensors[0].timestamp[peak_position])

        if label:
            label_timestamps = label.timestamp
            labels = label.label
            closer_labels = []
            closer_timestamps = []

            for i in range(0, len(label_timestamps)):
                min_dist = label_timestamps[len(label_timestamps) - 1] - label_timestamps[0]
                closer_label = None
                closer_timestamp = None

                for heuristic_timestamp in timestamps:
                    dist = sqrt(np.square(label_timestamps[i] - heuristic_timestamp))

                    if dist < min_dist:
                        min_dist = dist
                        closer_label = labels[i]
                        closer_timestamp = heuristic_timestamp

                closer_labels.append(closer_label)
                closer_timestamps.append(closer_timestamp)

            self.segment(sensors, closer_timestamps, closer_labels)
        else:
            self.segment(sensors, timestamps)
Ejemplo n.º 3
0
    def get_statistical_features(self, data):
        p = PeakAnalysis(self.view)

        min_value = np.amin(data)
        max_value = np.amax(data)
        root_mean_square = UMath.get_root_mean_square(data)
        peaks_number = np.mean(len(p.get_peaks(data)))
        crest_factor = np.median(p.get_peak_to_average_ratios(data))
        skewness = stats.skew(data, False)
        kurtosis = stats.kurtosis(data, False)
        variance = np.var(data)

        return [min_value, max_value, root_mean_square, peaks_number, crest_factor, skewness, kurtosis, variance]
Ejemplo n.º 4
0
    def get_statistical_features(self, data):
        p = PeakAnalysis(self.view)

        min_value = np.amin(data)
        max_value = np.amax(data)
        root_mean_square = UMath.get_root_mean_square(data)
        peaks_number = np.mean(len(p.get_peaks(data)))
        crest_factor = np.median(p.get_peak_to_average_ratios(data))
        skewness = stats.skew(data, False)
        kurtosis = stats.kurtosis(data, False)
        variance = np.var(data)

        return [
            min_value, max_value, root_mean_square, peaks_number, crest_factor,
            skewness, kurtosis, variance
        ]