|
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') |
|
|
|
|