Introduction

INTViewer has been successful both as an application and a development platform for geoscience data. Until 2013, the language of choice to customize INTViewer was Java. Oil and gas companies have used Java to:

  • Visualize datasets stored in proprietary formats,
  • Add their own analysis tools,
  • Add their own workflows,
  • Customize the user experience.

With the addition of Python, a new class of use becomes even more accessible: quick automation.

INTViewer has lots of visualization options: it can take several clicks to create several visualizations of the same data and to customize each one of them. With a simple Python script, users can automate all these operations. Running a script is easy, just drag and drop that script into INTViewer, or select it from a menu.

Many QA/QC activities revolve around creating reports that can be shared. These reports are often in the form of PowerPoint presentations and screenshots. The INTViewer Python programming interface is an easy-to-use set of instructions that you can use to:

  • Load a dataset and visualize it in 2D or 3D,
  • Customize the data selection being visualized and the visualization display parameters,
  • Create analysis charts, such as spectra, histograms, FT, FK, cross-plots,
  • Take screenshots and save them to image files,
  • Create Microsoft Office documents from these screenshots.

By combining these Python instructions as a script, oil and gas companies automate the creation of documents containing hundreds of images, saving valuable time and avoiding errors.

While the customization capabilities are not as extensive as the capabilities that Java plugins would allow, they have the benefit of being directly accessible without the need for a development environment:

  • You can type Python commands and see their effect immediately on screen,
  • No project to setup or code compilation required: if a syntax issue is detected, a message will be displayed with the line number where the issue was found,
  • A text editor is sufficient to maintain a Python script.

Because Python scripts are file-based, Python script can be deployed immediately. No need to wait for a deployment of the next version of INTViewer to benefit from your Python scripts. Python scripts fill the gap between the current deployment and the next deployment of INTViewer.

We are often surprised to hear from our own customers that they found a novel use of Python with INTViewer. For example, at their own initiative, onboard geophysical analysts have automated daily reporting with Python scripting. No training was required. This might be due to the fact that the discovery of features is extremely simple:

  • The documentation is built-in to the Python Terminal,
  • The properties of INTViewer objects (windows, layers, datasets, etc.) can be inspected just by drag and dropping then into the Python terminal,
  • The Python language is widely known in the geoscience community for its numerical analysis capabilities. Even if you have never written anything in Python, it is a simple scripting language to learn, but with modern features.

Recent reports from the field indicate that Python is used to perform light numerical analysis. INTViewer makes it really easy to perform maths on the curves of a well and visualize the result instantly.

INTViewer customers have also used the Python capabilities to take remote control of INTViewer. Oil and gas companies link their processing system to INTViewer to visualize in real time each processing step. No user interaction is needed, the processing system tells INTViewer which files to load and how to display them. This link is very easy to setup: the processing system and INTViewer only share a socket, and instructions are sent in plain text over that socket.

For advanced uses, you can even expose your own utilities written in Java to the Python interface.

This web site will help you get started leveraging the Python capabilities of INTViewer. It provides many examples of scripts. Let's get started with the basics.