在线演示

Open Inventor for OSDU

OSDU

The Open Group OSDU Forum delivers an open-source, standards-based, data platform for the energy industry that stimulates innovation, industrializes data management, and reduces time to market for new solutions.  Thermo Fisher Scientific is proud to be a member of the OSDU Forum and present the Open Inventor toolkit for visualization and image streaming as a valuable complement to the OSDU Data Platform. 

You can download a free trial of the Open Inventor SDK.  You can also run online demos showing Open Inventor visualization and RemoteViz image streaming.

For an overview of OSDU see the previous post here.

How Open Inventor adds value to OSDU 

Open Inventor toolkit has been the premier 3D visualization engine for E&P applications for over 20 years. If you use one of the major applications in the seismic-to-reservoir workflow, there is a good chance that Open Inventor is generating the visuals. Open Inventor provides fast, quality visualization for slices, horizons, volume rendering, wells and well logs, reservoir models, and more features explicitly implemented to meet E&P requirements.  Visualization is highly optimized to use parallelism on CPU and GPU.  These features ensure that your visualization meets the expectations of your users.  Open Inventor is available for Windows and Linux and can be used with C++, Java, and .NET languages.

A particular strength of Open Inventor is its unmatched ability to visualize massive data sets on a single machine. This feature simplifies and lowers the cost of deploying your visualization microservice.

The RemoteViz toolkit provides efficient high-resolution image streaming with no client software installation. This toolkit allows your users to use Cloud-native visualization services directly in their browser on any platform.

Open Inventor for big seismic data

A particular strength of Open Inventor is its ability to visualize massive data sets on a single machine, simplifying and reducing deployment cost.  In most cases, it is not possible to completely load a seismic data set in the memory available on a single machine.  A typical seismic volume contains hundreds of gigabytes of data.  A typical, reasonably priced, server instance might only have 64 gigabytes of CPU memory and 16 gigabytes of GPU memory.  An effective and proven solution is to convert the seismic data to a multi-resolution "bricked" format and visualize it using Open Inventor's volume data management technology.   Open Inventor pioneered this technique almost 20 years ago and it is used today in multiple applications on the desktop and in the Cloud.

The OSDU Data Platform includes two libraries for storing seismic data as highly compressed, multi-resolution “bricks": OpenVDS from Bluware and OpenZGY from Schlumberger.  Both allow fast random access to any part of the data set, at any desired resolution, and allows streaming of multiple data requests in parallel.  Both are a perfect match for the volume data management technology in Open Inventor.  (Open Inventor data import is extensible and can be used with any bricked format or even directly with SEGY data by converting on the fly.)

Open Inventor uses sophisticated heuristics to compute the optimal set of bricks for visualization.  This calculation considers what kind of objects are in the scene, the position of the camera, the resolution of the screen, the available CPU and GPU memory, and more.  For example, slice rendering only requires the bricks intersected by each slice.  Based on the optimal brick set, Open Inventor makes multiple data requests in parallel to take maximum advantage of network connectivity.  As shown in the figure, Open Inventor manages a cache of active bricks in CPU and in GPU memory.

The result is a greatly improved user experience in several ways.  Users do not have to wait a long time for data to load.  They can see an initial image quickly because Open Inventor initially requests lower resolution bricks.  The image is automatically "refined" as higher resolution bricks become available.  The application is always responsive because bricks are loaded and processed by worker threads running in the background to avoid blocking the application's main thread.  User interactions with the scene, for example moving the camera or dragging a slice, are always responsive.  This is because Open Inventor maintains performance by automatically reducing image quality and/or the resolution of the bricks used for rendering.

A key feature of Open Inventor's rendering engine is its ability to do mixed resolution rendering.  Multi-resolution bricks are not simply "levels of detail."  They can be mixed in the same scene. Visual quality and memory usage are optimized by using high-resolution bricks close to the camera and lower resolution bricks far from the camera. Open Inventor also does view-dependent rendering.  For example, when the user "zooms in" on part of the volume, rendering automatically uses higher resolution bricks

In addition to prioritizing bricks, memory usage is optimized by various techniques.  If the bricks are compressed (the usual case), Open Inventor keeps the compressed data in CPU memory and only expands the bricks in GPU memory for rendering.  Volumes and horizons may contain large regions with a constant value.  Often this is an "undefined" value.  Open Inventor efficiently stores constant value bricks as a single value in memory and the renderer knows to skip over undefined regions.

 

RemoteViz Image Streaming

The RemoteViz toolkit allows your users to use Cloud-native visualization services directly in their browser on any platform.  RemoteViz is not a remote desktop tool.  It is designed to implement Cloud-native visualization microservices that are integrated with other Cloud services such as the OSDU Data Platform, mapping, authentication, and load balancing.

RemoteViz streams rendered images from the server to the client browser.  Bandwidth usage is optimized using image compression.  Multiple compression algorithms are supported, including JPEG, H.264, and VP9.  Compression parameters are automatically adjusted to maximize performance while the user is interacting and maximize image quality when the interaction ends.  Compression parameters can also be adjusted if available bandwidth changes.

On the server-side, RemoteViz is multi-threaded and H.264 video compression is hardware accelerated on the GPU.  Examples are provided showing how a RemoteViz visualization microservice can be integrated (authentication, load balancing, health checks, etc) and deployed (Docker, Kubernetes, etc).  A "headless" version of Open Inventor is available to you to deploy without dependencies on X Windows.

On the browser side, RemoteViz works with Chrome, Firefox, Edge, and Safari browsers.  The RemoteViz "render area" object detects user events (keyboard, mouse, and touch) and sends them to the visualization service.  The render area can be programmed using JavaScript or TypeScript and can be combined with frameworks and user interface libraries like Angular, React, and so on.  The application developer can create multiple views inside a render area or create multiple render areas (streamed separately).

Note that RemoteViz and Open Inventor are optimized to work together for maximum performance, but RemoteViz can be used with any visualization technology.

 

Try Open Inventor

You can download a free trial of the Open Inventor SDK.

You can also run online demos showing Open Inventor visualization and RemoteViz image streaming.