Skip to content

Add Screenshot proxy

Allow saving screenshots. This will allow us (among others) to do ImageExtracts in Catalyst.

In contrast to ParaView master screenshots are taken server side by RS (instead of client side). This is done for several reasons:

  • Efficiency: Data is already at RS so no transfer is needed.
  • Works with no change in builtin and remote session.
  • Allows the client to be free and not block while writing
  • Screenshots are taken and written by the RS with no involvement of the DS. Down the line, this should allow to take Data and Image extracts in parallel.

There are (currently) some missing features:

  • No magnification, custom resolution or any other option is available we just grab the current view as is. We can easily add this however in the future.
  • RS writes the images so it could block in big files, this should be easily fixed bringing and utilizing vtkThreadedCallbackQueue.h in the same manner ParaView master does in vtkRemoteFileHelper.

This MR also adds the ability to create any kind of proxy via vtkPipelineBuilderMicroservice (before it was restricted to Sources, views and filter with custom code for each one)

vtkVarianMap is also introduced as an object that:

  • can be used to map python's dict to a vtkObject which is Python-wrappable and thus allows to move easily information between Python<->C++ in the context of proxy manipulation.
Edited by Christos Tsolakis

Merge request reports