Scripting:Requirements: Difference between revisions

From ParaQ Wiki
Jump to navigationJump to search
Line 26: Line 26:


<ol>
<ol>
<li><b>Wrapping:</b> ParaView classes can be automatically wrapped in a variety of scripting languages.</li>
<b><li>Wrapping:</b> ParaView classes can be automatically wrapped in a variety of scripting languages.</li>
<b><li>Trace file:</b> ParaView saves out a state file, which is a Tcl/tk script, that records every action taken by the user.  This trace file can be 'replayed' in ParaView, restoring the application to the final state of the script.  In addition, this script can be hand-edited by expert users, who can make the script do just about anything.
</li>
<b><li>State file:</b> This is a Tcl/Tk script that captures the current state of the application.</li>
</ol>
</ol>
'''# Trace file''': ParaView saves out a state file, which is a Tcl/tk script, that records every action taken by the user.  This trace file can be 'replayed' in ParaView, restoring the application to the final state of the script.  In addition, this script can be hand-edited by expert users, who can make the script do just about anything.
'''# State file''':

Revision as of 15:44, 28 September 2005

Overview

Users, developers, and managers (oh my) have requested a scripting interface to ParaQ. The ParaQ Scripting Group is responsible for capturing the requirements for scripting, and developing a design document to guide ParaQ development.

This page is a first step in that process.

Requirements

  • Ability to apply a script to multiple different input files and save an image/movie of the visualization from each input file
  • Scripting language is backwards compatible. Scripts written in a previous version of ParaQ must work in newer versions.
  • Script files saved from ParaQ must work in the batch/command line program.
  • Script files must be understandable by humans without needing 2 Tylenol.
  • Either the scripting language or the pvCommandLine application must provide looping and flow-of-control.
  • (Optional?) When a user determines that they like a set of scripted operations, they can attach the script to a button in ParaQ.

Use Cases

  • A user makes a visualization in ParaQ and saves out a script file. The user then open the script file in pvCommandLine, twiddles some values and saves the image/movie of the visualization. Some values include filenames, variable names, values of variables.
  • A user opens a toy dataset that models an extremely large dataset. The user creates a visualization and saves a script. The user then opens pvCommandLine and applies the script to the extremely large dataset
  • An expert user can copy and paste from their scripts to new scripts to add steps.
  • An expert user can set some reader parameters for one or possibly several pipeline elements, then re-run the script for different filenmanes ending up with an interactive interface to continue investigating the data (e.g. setting the metadatafile name or loading each sideset in a different pipeline element).
  • A user makes a visualization in ParaQ and saves out a script file. The user then repeats the script for different input files (note: this case could be implemented by state files instead of editable script files.
  • An expert user can edit a script to add mathematical (calculator) functions to create new variables and either save a new data file or proceed to an interactive visualization.
  • (Low priority) A user opens a saved script file with ParaQ and steps through, visualizing what each command actually does to their data.

Current Capabilities

ParaView ParaView currently uses or enables scripting in the following ways:

  1. Wrapping: ParaView classes can be automatically wrapped in a variety of scripting languages.
  2. Trace file: ParaView saves out a state file, which is a Tcl/tk script, that records every action taken by the user. This trace file can be 'replayed' in ParaView, restoring the application to the final state of the script. In addition, this script can be hand-edited by expert users, who can make the script do just about anything.
  3. State file: This is a Tcl/Tk script that captures the current state of the application.