cinemascience / pycinema

cinema engine toolkit
Other
1 stars 4 forks source link

Cinema python toolkit

RenderTest MLPredictionTest UberTest

pycinema is a toolkit of python-based components for creating, filtering, transforming and viewing Cinema databases. Cinema databases are a compact and interactive output format that can be created from scientific visualization tools and infrastructures (ParaView, Ascent, etc.) or created through other code by writing to the common output format. There is more information about the Cinema project here.

Full documentation for this project can be found on readthedocs.org

application
Screen capture of two pycinema applications, cinema:explorer and cinema:view, which mimic the functionality of existing viewers in Cinema (and add a few added features). Both of these are available in the pycinema toolkit.

New concepts to Cinema: 'filter graphs' and 'applications'

This toolkit introduces the concept of filter graphs and applications to Cinema. Data operations (loading, querying, manipulating and viewing) are performed by filters that take input data, transform it, and pass it on in the form of tables, data, or data products. A collection of these filters is connected in a filter graph, and a filter graph can be saved in a reusable way known as an application. This makes the cinema toolkit a flexible platform for creating, modifying and saving data applications.

application
Screen capture of Cinema:Explorer application, showing the normal view (left) and also revealing the 'filter graph' view (lower right) of the application. pycinema introduces both of these concepts to cinema data application.

Working with the code and the pycinema module

git clone git@github.com:cinemascience/pycinema.git
cd pycinema
python3 -m venv pcenv
source pcenv/bin/activate
pip install --upgrade pip
pip install . 
mkdir pyc-test
cd pyc-test
python3 -m venv pcenv
source pcenv/bin/activate
pip install --upgrade pip
pip install pycinema 

You can now use this python environment to run examples from the repository. Run cinema and select a file from the data directory:

source pcenv/bin/activate
cinema view data/sphere.cdb

Making and uploading the python module

make module

And then to upload it to pypi (assuming you have permission):

make module-upload

To upload it to testpypi (assuming you have permission):

make module-test-upload

Documentation

Documentation for this project can be found on readthedocs.org

Related repositories

Citing this work

Contributing

Contributions can be made by submitting issues and contributing code through pull requests. The code shall be reviewed by the core Cinema team, and accepted when both content and code standards are met.