Git Product home page Git Product logo

tbss-vis's Introduction

TBSSvis

Visual Analytics for Temporal Blind Source Separation

This repository contains code for the prototype TBSSvis, a visual analytics app for the Blind Source Separation algorithm gSOBI [1, 1a]. It provides a consistent and intuitive interface to select parameters and explore components.

DOI

Usage

Please refer to the paper:

N. Piccolotto, M. Bögl, T. Gschwandtner, C. Muehlmann, K. Nordhausen, P. Filzmoser, and S. Miksch: "TBSSvis: Visual Analytics for Temporal Blind Source Separation", Visual Informatics (2022). http://dx.doi.org/10.1016/j.visinf.2022.10.002

Installation and running

Prerequisites: Node.js (>= v12), Docker (>= 19.03.13). Note that the tool itself is called TBSSvis but some things, e.g. environment variables, use TSBSS (observe the additional S).

  1. Clone this repository
  2. Install frontend dependencies: npm install
  3. Build the backend: docker build server --tag tsbss
  4. Run the backend with docker: docker run -e TSBSS_DATASET=exrates -d -p 8008:8000 -v $PWD/server/app:/app tsbss - after some preprocessing time the backend runs on port 8008 on your host, check with docker logs if it's working
  5. Run the frontend: npx vue-cli-service serve - the frontend runs on port 8080 on your host

TBSSvis should now be accessible at http://localhost:8080/ with the exrates [2] dataset. See next section how to change the dataset.

Without Docker

You can also run the backend server (a plumber API) on your host. Open api.R with RStudio. Install its dependencies and comment out the setwd line. Any dataset name should be hardcoded a few lines below. Open a Terminal in the folder server of this project. Start an R session (just the R command). Then type plumber::pr_run(plumber::pr("api.R", dir="app"), port=8008) and hit return.

Changing the dataset

Data is loaded from the subfolder server/app/data. Two datasets are included: exrates [2], a dataset of currency exchange rates, and fetal-ecg, a medical dataset. Note that TBSSvis expects datasets to be connected to a Gregorian calendar with resolution up to milliseconds.

To use a custom dataset, place a CSV file in the folder mentioned above. The first column must contain the date and be named date. The column names should be preferably short, we developed TBSSvis with 3 characters length.

Then, when starting the backend, point TBSSvis to your dataset with the TSBSS_DATASET environment variable. E.g., if your data is in the file server/app/data/customdata.csv, use -e TSBSS_DATASET=customdata in the docker command in step 4 of the previous section.

References

tbss-vis's People

Contributors

npiccolotto avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

tbss-vis's Issues

Should there be HTML output?

My supposition was that running the code would generate a dashboard such as is shown in the paper "TBSSvis--Visual-analytics-for-Temporal-Blind-Source" from Sep_2022 in the Visual Informatics journal.

In my experience - R calculations can all be run successfully - is the output supposed to appear as HTML using something called Swagger docs? It is unclear (to me) from the documentation - what is supposed to occur with the Swagger docs link that is generated by the R/plumber combination?

"Try it Out"

There is a link generated, when you go the Swagger docs website, the pages and use the "try it out" button, nothing happens. Should something happen?

"Download"

There is a "download" button. Nothing happens when it is clicked. Should something happen?

image

ambiguous instruction "cd [path to project]/dist_local"

Instruction given as "cd [path to project]/dist_local", but there are multiple possible systems that this command could be referring to. Tried the ones I know of, with no success.

*** Is it possible to give details on which system is being referred to? ***

I looked up the path used in the RStudio terminal

image

In order to follow this command "cd [path to project]/dist_local", I was expecting that the file would be dated today, 9/5/23 because I just ran the api.R script successfully.

image

Seems incorrect that the date on "local_host" would be 8/4/23. Makes me wonder if today's "dist_local" file was written to a location other than the path used in the RStudio terminal.

image

Assuming that the dist-local folder location has been successfully identified, try to follow the command

cd [path to project]/dist_local

This appears to be a command line, and the instructions say that Python will be used to run the HTML file. Is this command supposed to run in a new command line window? Or is it supposed to be run within Python? Or even within the terminal window back from RStudio?
image

image
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.