Example #1
0
def generateAllPictures(data_dir):
    father_dir = os.path.dirname(data_dir)

    before_data_dir = os.path.join(data_dir, 'before')
    after_data_dir = os.path.join(data_dir, 'after')
    batch_size = 10

    figures_dir = os.path.join(father_dir, 'figures')

    if not os.path.exists(figures_dir):
        os.mkdir(figures_dir)

    for path_dir in [before_data_dir, after_data_dir]:
        for filename in os.listdir(path_dir):
            filepath = os.path.join(path_dir, filename)
            datafile = SingleFile(filepath=filepath)
            data_reader = datafile.get_reader(batch_size=batch_size)

            if path_dir is before_data_dir:
                single_file_path = os.path.join(figures_dir, 'before',
                                                f'{datafile.filename}')
            else:
                single_file_path = os.path.join(figures_dir, 'after',
                                                f'{datafile.filename}')

            if not os.path.exists(single_file_path):
                os.makedirs(single_file_path)

            for batch_id, points in enumerate(data_reader()):
                for point_id, point in enumerate(points):
                    point_id = batch_id * batch_size + point_id
                    print(f'[INFO] drawing {filename}--point_{point_id}...')
                    plt.figure()
                    # plt configs
                    plt.ylim(0, 30 * 1e-8)

                    point.plot(show=False)

                    plt.savefig(
                        os.path.join(single_file_path,
                                     f'point_{point_id}.jpg'))
                    plt.close()
Example #2
0
    def reader():
        points = []
        labels = []
        for file_name in os.listdir(data_dir):

            if debug:
                print('[INFO] getting teacher from {}'.format(file_name))

            file_path = os.path.join(data_dir, file_name)
            file_name, ext = os.path.splitext(file_name)
            if debug:
                print("[INFO] Reading file {}".format(file_name))
            try:
                file = SingleFile(file_path)
            except Exception as e:
                print(e)
                continue

            point_reader = file.get_reader(batch_size=1)
            label_df = pd.read_csv(os.path.join(csv_dir,
                                                'new_' + file_name + '.csv'),
                                   index_col=0)
            # print(label_df)
            # print(label_df.iloc[0, :])
            for point_id, point in enumerate(point_reader()):
                point = point[0]
                label_series = label_df.iloc[point_id, :]
                points.append(point.get_data())
                labels.append(label_series.to_list())
                if len(points) is batch_size:
                    points = np.array(points,
                                      dtype).reshape(len(points), 2, 1, 100)
                    labels = np.array(labels, dtype).reshape(len(labels), -1)
                    yield points, labels
                    points = []
                    labels = []

        if len(labels):
            points = np.array(points, dtype).reshape(len(points), 2, 1, 100)
            labels = np.array(labels, dtype).reshape(len(labels), -1)
            yield points, labels