NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • What is datascope Datascope is a platform for visualizing massive data. Datascope generates dashboards that are interactive and the visualizations are coordinated. This can be used to slice/dice the data and generate different views.
  • Cool! So how do I get started? Start by installing Datascope locally. Now generate a Hello world dashboard using Titanic survivor data. TUTORIAL
    Multiexcerpt include
    nopaneltrue
    MultiExcerptNameExitDisclaimer
    PageWithExcerptwikicontent:Exit Disclaimer to Include
  • What does the demo do? The demo should present a dashboard similar to the ones below: (Links to dashboards). The left pane is called interactive filters and the right pane is called visualizations . Click and interact with the interactive filters to slice and dice your data. Note that all the visualizations are coordinated!
  • Smooth! How does it work? It uses 4 configuration files present in public/config:
    • dataSource.json: tells datascope how to fetch the data

    • dataDescription.json: What are the different attributes of the data and their data types.
    • interactiveFilters.json: The filters on the left hand side of the dashboard
    • visualization.json: The visualizations on the right-hand side.
  • If you're using data from flat files then you should put your data in data/
  • Well the titanic dataset is a bore! Can I use an interesting dataset : Sure! Datascope accepts data from in csv or json format from files , REST APIs, and Databases.
  • Configuring these dashboards is a pain! Are there any tools to help me out with this? : You can use the Datascope Author (https://github.com/lastlegion/AuthorDataExplorer
    Multiexcerpt include
    nopaneltrue
    MultiExcerptNameExitDisclaimer
    PageWithExcerptwikicontent:Exit Disclaimer to Include
    ) tool to generate dashboards. This will provide you with a neat interface to generate configuration files that you can use with Datascope. It's quite unstable though :(.
  • How can I start contributing?
    • Take a clean dataset( Collection of awesome public datasets) and generate a Datascope dashboard. A nice dataset with interesting results would be a plus.
    • This tells us that you're able to install it and have an understanding of configuring it.
    • File issues that you face while setting up your dashboard.

...

  • dataSourceAlias: Name of the data source. Used by datadescription.json to identify data sources.
  • joinKey: Attribute used for joining the data sources. Must be present in all the sources.
  • sourceName: Used to identify the data source.
  • sourceType: The type of data source. The system currently supports: json, csv, rest/json, rest/csv, odbc.
  • options: An object used to specify the path of the data source.
  • dataAttributes: The attributes provided by this data source. Accepts an array of strings.

...

Info

Notes on visTypes

  • The datatype of the attribute must be enum (in the dataDescription.json) for rowChart and pieChart.
  • barChart must have float or integer as their dataType.

Visualization Options

visualization.json

Accepts an array of objects, each object describing the visualization.

Example:

Code Block
[
{
"visualizationType" : "dataTable" ,
"attributes" :[
{ "attributeName" : "CancerType" },
{ "attributeName" : "BCRPatientUIDFromClinical" },
{ "attributeName" : "BCRSlideUID" },
{ "attributeName" : "BCRPatientUIDFromPathology" }
],
"heading" : "TCGA" ,
"subheading" : ""
},
{
"visualizationType" : "imageGrid" ,
"attributes" :[
{
"attributeName" : "image" ,
"type" : "image"
}
],
"heading" : "Bubble Chart" ,
"subheading" : "Using synthetic data"
},
{
"visualizationType" : "heatMap" ,
"attributes" :[
{
"attributeName" : "AgeatInitialDiagnosis" ,
"type" : "x"
},
{
"attributeName" : "KarnofskyScore" ,
"type" : "y"
}
],
"heading" : "Heat Map" ,
"subheading" : "AgeatInitialDiagnosis vs KarnofskyScore"
}
]

In the above example we have three visualizations: dataTable, imageGrid, and heatMap. Details of the supported visualizations are described below.

The system currently supports four types of visualizations:

  • dataTable
  • bubbleChart
  • imageGrid
  • heatMap

dataTable

Provides a tabular representation of the provided attributes. Shows 100 records at a time.

...

A bubble chart representation of the provided attributes. Can be used to visualize 4 four dimensions.

Code Block
{
"visualizationType" : "bubbleChart" ,
"attributes" :[
{
"attributeName" : "a1" ,
"type" : "x" ,
"dimension" : true
},
{
"attributeName" : "a2" ,
"type" : "y"
},
{
"attributeName" : "a3" ,
"type" : "color"
},
{
"attributeName" : "a4" ,
"type" : "r"
},
]
}

...

At least one attributes needs to have dimension: true.

imageGrid

Creates an image grid using the images from the attribute having "type" : "image".

Code Block
{
"visualizationType" : "imageGrid" ,
"attributes" :[
{
"attributeName" : "image" ,
"type" : "image"
}
],
"heading" : "Image grid" ,
"subheading" : "Using dummy data"
}

Requires an attribute to have "type" : "image" which shall be used as the location of the image.

...

Requires attributes having "type": "x" and "type": "y" for the x and y axes, respectively.

...