You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pyCinemaExplorer: a query-based viewer for Cinema Databases
Overview
The pycinema module provides an extensible framework for loading, manipulating and viewing cinema databases. We have used jupyter notebook as a prototype delivery mechanism for an application using the pycinema module, but this framework is not appropriate for delivering a desktop application. This document captures the pros and cons of several application delivery mechanisms, and proposes a first set of requirements for a new cinema viewer.
At a high level, the interface is an expression of a table of data. An underlying pycinema network captures interactions with a data source, maintaining filtering, merging, querying and other operations on the data. Unless explicitly directed to operate on the source data, all operations are maintained in the filter network, and do not impact the source data.
Application Diagrams
Figure 1: Diagram of the Home view of a Cinema database, showing the menu bar (A), parallel coordinate view (B), spreadsheet (C), and artifact viewer (D) widgets. These are different views of the same filter in a pycinema pipeline, showing the metadata and artifacts output by that filter. These widgets provide views of the data, and methods of selecting rows and columns in the metadata table, and these selections are reflected in the other views.
Figure 2: Diagram of the Connect view of a Cinema database. This shows the pycinema filter network that is used to produce the widgets shown in the Home view. The Connect tab is highlighted (A), and an interactive filter network view(B) shows the operations being performed.
Operations
A user's session is a set of operations on data. These operations are saved by the application, either as python filters, or as operations specific to a view. These operations are performed in a specific order by the user, and that order is captured in the filter graph and an overall undo/redo stack that includes all operations (filter graph operations, attribute set operations, etc.).
The following diagrams illustrate an example:
Figure 3:Operations performed and recorded by filters and operators. (A) shows a database loaded and viewed in a parallel coordinates viewer. (B) shows filter operations performed by the user through the UI and recorded in the filter graph, and also attribute operations performed on the view, resulting in a more refined visualization of the data.
Adding Capability
The architecture shall support adding capability at runtime, so that a developer can update the application in place, without a re-build or a re-install. The following use cases shall be supported:
User creates a new filter and places it in a specific directory. That filter is added to the filters available when the application starts
User creates new operations in a programmable filter
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
pyCinemaExplorer: a query-based viewer for Cinema Databases
Overview
The pycinema module provides an extensible framework for loading, manipulating and viewing cinema databases. We have used jupyter notebook as a prototype delivery mechanism for an application using the pycinema module, but this framework is not appropriate for delivering a desktop application. This document captures the pros and cons of several application delivery mechanisms, and proposes a first set of requirements for a new cinema viewer.
At a high level, the interface is an expression of a table of data. An underlying pycinema network captures interactions with a data source, maintaining filtering, merging, querying and other operations on the data. Unless explicitly directed to operate on the source data, all operations are maintained in the filter network, and do not impact the source data.
Application Diagrams
Operations
A user's session is a set of operations on data. These operations are saved by the application, either as python filters, or as operations specific to a view. These operations are performed in a specific order by the user, and that order is captured in the filter graph and an overall undo/redo stack that includes all operations (filter graph operations, attribute set operations, etc.).
The following diagrams illustrate an example:
Adding Capability
The architecture shall support adding capability at runtime, so that a developer can update the application in place, without a re-build or a re-install. The following use cases shall be supported:
Beta Was this translation helpful? Give feedback.
All reactions