File size: 2,164 Bytes
ecf08bc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import numpy as cv
import os
import plotly.express as px
import plotly.figure_factory as ff
import datetime
import plotly.io as pio

pio.kaleido.scope.mathjax = None


def distribute_glacier(list_of_samples):
    list_of_glaciers = {}
    for glacier in ['COL', 'Mapple', 'Crane', 'Jorum', 'DBE', 'SI', 'JAC']:
        list_of_glaciers[glacier] = [sample for sample in list_of_samples if glacier in sample]
    return list_of_glaciers


def create_dict(list_of_samples):
    list_dict = []
    for sample in list_of_samples:
        sample_split = sample.split('_')
        finish_date = datetime.datetime.fromisoformat(sample_split[1]) + datetime.timedelta(days=50)
        sample_dict = {
            'Glacier': sample_split[0],
            'Start': sample_split[1],
            'Finish': str(finish_date),
            'Satellite:': sample_split[2]
        }
        list_dict.append(sample_dict)
    return list_dict


if __name__ == '__main__':
    list_of_train_samples = os.listdir('/home/ho11laqe/PycharmProjects/data_raw/fronts/train')
    list_of_test_samples = os.listdir('/home/ho11laqe/PycharmProjects/data_raw/fronts/test')
    list_of_samples = list_of_train_samples + list_of_test_samples
    list_of_glaciers = distribute_glacier(list_of_samples)
    list_dict = create_dict(list_of_samples)

    fig = px.timeline(list_dict, x_start='Start', x_end='Finish', color="Satellite:", y='Glacier',
                      color_discrete_sequence=px.colors.qualitative.G10, template="plotly_white",
                      height=300, category_orders={'Glacier': ['COL', 'Mapple', 'Crane', 'Jorum', 'DBE', 'SI', 'JAC'],
                                                   'Satellite:': ['ERS', 'RSAT', 'ENVISAT', 'PALSAR', 'TSX', 'TDX',
                                                                  'S1']})
    fig.update_layout(legend=dict(
        orientation="h",
        yanchor="bottom",
        y=1.02,
        xanchor="right",
        x=1,
    ),
        margin=dict(l=0, r=0, t=0, b=0), )
    fig.update_layout(
        font=dict(family="Computer Modern", size=14))
    fig.write_image("output/dataset_timeline.pdf", format='pdf')
    # fig.show()