Spaces:
Sleeping
Sleeping
# | |
# This is the user-interface definition of a Shiny web application. You can | |
# run the application by clicking 'Run App' above. | |
# | |
# Find out more about building applications with Shiny here: | |
# | |
# http://shiny.rstudio.com/ | |
# | |
shinyUI(fluidPage( | |
#theme = shinythemes::shinytheme("cerulean"), | |
# Application title | |
titlePanel("DeepVATS"), | |
# Load Shinyjs | |
shinyjs::useShinyjs(), | |
# Sidebar with a slider input for number of bins | |
sidebarLayout( | |
sidebarPanel( | |
fluidRow( | |
shiny::actionButton("load_dataset", label = "Load dataset", icon = icon("database")), | |
shiny::actionButton("load_embs", label = "Load embeddings", icon = icon("project-diagram")) | |
), | |
hr(), | |
selectizeInput("dataset", label = "Dataset", choices = NULL), | |
selectizeInput("encoder", label = "Encoder", choices = NULL), | |
#selectizeInput("embs_ar", label = "Select embeddings", choices = names(embs_l)), | |
br(), | |
sliderInput("wlen", "Select window size", min = 0, max = 0, value =0 , step = 1), | |
sliderInput("stride", "Select stride", min = 0, max = 0, value = 0, step = 1), | |
# sliderInput("points_emb", "Select range of points to plot in the projections", | |
# min = 0, max = 0, value = 0, step = 1, ticks = FALSE), | |
#uiOutput("points_prj_controls"), | |
#### TODO: Check. Added for debugging solar 4_secs | |
sliderInput("prj_n_neighbors", "Projections n_neighbors:", min = 1, max = 50, value = 15), | |
sliderInput("prj_min_dist", "Projections min_dist:", min = 0.0001, max = 1, value = 0.1), | |
#sliderInput("prj_random_state", "Projections random_state:", min = 0, max = 2^32-1, value = 1234), | |
sliderInput("prj_random_state", "Projections random_state:", min = 0, max = 2000, value = 1234), | |
################ | |
radioButtons("cpu_flag", "Use: ", c("GPU", "CPU"), selected = "GPU", inline = T), | |
radioButtons("dr_method", "Projection method:", c("UMAP", "TSNE", "PCA"), selected="UMAP", inline=T), | |
br(), | |
radioButtons("clustering_options", label = "Select a clustering option", selected = "no_clusters", | |
choices = c("No clusters" = "no_clusters", | |
#"Show precomputed clusters" = "precomputed_clusters", | |
"Calculate and show clusters" = "calculate_clusters")), | |
# conditionalPanel( | |
# condition = "input.clustering_options == 'precomputed_clusters'", | |
# selectInput("clusters_labels_name", label = "Select a clusters_labels artifact", choices = NULL), | |
# tags$b("Selected 'clusters_labels' artifact description:"), | |
# textOutput("clusters_labels_ar_desc") | |
# ), | |
conditionalPanel( | |
condition = "input.clustering_options == 'calculate_clusters'", | |
selectInput("metric_hdbscan", label = "Metric", choices = DEFAULT_VALUES$metric_hdbscan), | |
sliderInput("min_cluster_size_hdbscan", label = "min_cluster_size_hdbscan", | |
value = DEFAULT_VALUES$min_cluster_size_hdbscan, min=0, max=200, step = 1), | |
sliderInput("min_samples_hdbscan", label = "min_samples_hdbscan", | |
value = DEFAULT_VALUES$min_samples_hdbscan, min=0, max=50, step = 1), | |
sliderInput("cluster_selection_epsilon_hdbscan", label = "cluster_selection_epsilon", | |
value = DEFAULT_VALUES$cluster_selection_epsilon_hdbscan, min=0, max=5, step = 0.01), | |
actionBttn(inputId = "calculate_clusters", label = "Calculate and show clusters", style = "bordered", | |
color = "primary", size = "sm", block = TRUE) | |
), | |
), | |
# Show a plot of the generated distribution | |
mainPanel( | |
tabsetPanel( | |
id = "tabs", | |
tabPanel( | |
"Projections", | |
fluidRow( | |
h3("Embedding projections"), | |
fluidRow( | |
column(1, | |
dropdownButton( | |
tags$b("Set height of the projections plot (px):"), | |
numericInput("embedding_plot_height", label = "Height",value =400), | |
hr(), | |
tags$b("Configure aestethics"), | |
sliderInput("path_line_size", label = "path_line_size", | |
value = DEFAULT_VALUES$path_line_size, min=0, max=5, step = 0.01), | |
sliderInput("path_alpha", label = "path_alpha", | |
value = DEFAULT_VALUES$path_alpha, min=0, max=1, step = 0.01), | |
sliderInput("point_alpha", label = "point_alpha", | |
value = DEFAULT_VALUES$point_alpha, min=0, max=1, step = 0.01), | |
sliderInput("point_size", label = "point_size", | |
value = DEFAULT_VALUES$point_size, min=0, max=10, step = 0.5), | |
checkboxInput("show_lines", "Show lines", value = TRUE), | |
actionButton('savePlot', 'Save embedding projections plot'), | |
actionBttn(inputId = "update_prj_graph",label = "Update aestethics",style = "simple", | |
color = "primary",icon = icon("bar-chart"),size = "xs", block = TRUE), | |
circle = FALSE, status = "primary", | |
icon = icon("gear"), width = "300px",size = "xs", | |
tooltip = tooltipOptions(title = "Configure the embedding appearance"), | |
inputId = "projections_config" | |
) | |
), | |
column(8, | |
prettyToggle( | |
inputId = "zoom_btn", | |
label_on = "Zoom out", | |
label_off = "Zoom in", | |
shape = "square", | |
outline = TRUE, | |
plain = TRUE, | |
inline = TRUE, | |
icon_on = icon("search-minus"), | |
icon_off = icon("search-plus"), | |
status_on = "danger", | |
status_off = "primary" | |
), | |
materialSwitch( | |
inputId = "plot_windows", | |
label = "Plot windows", | |
status = "info", | |
value = TRUE, | |
inline = TRUE | |
) | |
), | |
column(3) | |
), | |
fluidRow( | |
uiOutput("projections_plot_ui") | |
) | |
), | |
fluidRow(h3("Original data")), | |
fluidRow( | |
dropdownButton( | |
tags$b("Select/deselect variables"), | |
tags$div(style= 'height:200px; overflow-y: scroll', | |
checkboxGroupInput(inputId = "select_variables", | |
label=NULL, choices = NULL, selected = NULL) | |
), | |
actionBttn(inputId = "selectall",label = "Select/Deselect all",style = "simple", | |
color = "primary",icon = icon("check-double"),size = "xs", block = TRUE), | |
hr(), | |
prettySwitch(inputId = "dygraph_sel",label = "Show stacked graphs (Not available yet)", | |
status = "success",fill = TRUE), | |
circle = FALSE, status = "primary", size = "xs", | |
icon = icon("gear"), width = "300px", | |
tooltip = tooltipOptions(title = "Configure the TS appearance"), | |
inputId = "ts_config" | |
) | |
), | |
fluidRow( | |
column(12, | |
#sliderInput( | |
#"nrows", "Select initial data range:", | |
#min = 0, max = 10000, | |
#value = c(0,0), | |
#step = 1000000 | |
#), | |
dygraphOutput("ts_plot_dygraph") %>% withSpinner(), | |
plotOutput("windows_plot"), | |
uiOutput("windows_text") | |
) | |
) | |
#verbatimTextOutput("projections_plot_interaction_info"), | |
#verbatimTextOutput("point") | |
), | |
tabPanel( | |
"Information", | |
fluidRow( | |
h3("Time series"), | |
dataTableOutput("ts_ar_info"), | |
h3("Configuration of the associated encoder"), | |
dataTableOutput("enc_info") | |
) | |
), | |
) | |
) | |
) | |
)) | |