CinemaScience Viewers

CinemaScience provides reference viewers and flexible components for users to build application specific viewers. The basic viewers are introduced here. A full viewer tutorial is available at Tutorial: Cinema Viewers.



Cinema:View is the new version of Cinema:Compare – a now deprecated viewer.


To use browser based viewers, you need to allow local file access. See A Note on Browser Security for more information.

Cinema:View is an interactive visualization approach to exploring Cinema databases. It can be used with single databases to rotate around a visualization as with the MPAS-Ocean simulation shown in Fig. 3.

MPAS image

Fig. 3 An example using Cinema:View to view a single Cinema database. This MPAS-Ocean database can be explored via sliders that range across the available parameter values. The choice of database(s) can be changed by selecting from a drop-down menu (above sliders) defined by a JSON file.

Cinema:View can also be used to compare multiple databases as with the Warp plasma accelerator visualization, Fig. 4 that compares different approaches to finding isocontours in the simulation.

Warp image

Fig. 4 A comparison of two Warp plasma accelerator simulations. In the one on the left, a data-driven topological analysis selects important isocontours. On the right, regularly space isocontours are used. The time/phi/theta sliders can be used to explore the differences spatially and temporally.

The list of databases available in the viewer is controlled via a databases.json file in the cinema_view/data/ directory. The sets of single or multiple databases are defined in the databases.json file and appear as a list in the dropdown menu above the control sliders. Titles can also be specified for the each Cinema database in the comparison view. Cinema:View can be found at cinema_view and its tutorial is at Cinema:View.


Cinema:Explorer is a browser based viewer for Spec D databases. It includes a parallel coordinates plot and a scatterplot view. The columns are the data artifacts or derived quantities that are defined in the data.csv file for the Spec D database. Fig. 5 shows the baryon density from a Nyx cosmological simulation. Note how one can choose a subset of the images to view by selecting a region along one of the variable axes. The parallel coordinates view supports linking and brushing allowing the user to query a subset of the data and view the resultant set of images.

Cinema Explorer Example

Fig. 5 A large Nyx cosmological simulation is viewed within Cinema:Explorer. The database has had a series of computer vision algorithms applied to extend the database (see cinema_lib Library).

Cinema:Explorer uses a similar databases.json approach to define a list of available databases which can be explored. databases.json is located within the cinema_explorer/cinema/explorer/1.9 directory. Cinema:Explorer can be found at cinema_explorer and its tutorial is at Cinema:Explorer.


Cinema:Scope is a prototype cross-platform viewer application that allows the user to interactively explore a Cinema database of images, through both sliders and mouse controls. Cinema:Scope is compatible with the CSV specification of Cinema databases. In Fig. 6, a Sedov blast wave is viewed with Cinema:Scope. The parameters linked to the mouse controls can be changed by the user. For databases with multiple artifacts, the image artifact can be changed by the user to change the view to a different set of images.

Cinema Scope Example

Fig. 6 A Sedov blast wave is viewed within Cinema:Scope. The database can be explored either through slider control or through intuitive mouse controls.

CinemaScope can be found at cinema_scope and its tutorial is at Cinema:Scope.

Other Viewers

The CinemaScience GitHub page contains other Cinema viewers and modules that provide useful examples for developers. In particular, cinema_components provides a javascript library of components that can be used to extend CinemaExplorer or individually assembled to create an application-specific viewer (see cinema_components Library).

The Cinema viewer projects include:

  • cinema_components A javascript library containing prebuilt components for viewing and querying Cinema CSV-based databases.
  • cinema_newsfeed A pipeline approach to present analysis results to the user.
  • cinema_quest An interactive visual tool for querying Cinema Database ensembles.
  • cinema_bandit A multi-view application for analysis and visualization of experimental data.
  • cinema_debye_scherrer An interactive web-based tool to visualize multiple datasets.
  • cinema_simpleviewers A set of simple viewers to be used as examples to create custom Cinema viewers.
  • cinema_unityviewer An experimental viewer based on the Unity game engine.
  • cinema_jnc A prototype Jupyter notebook-based viewer.