RokDoc external interface - write and run your own rock physics algorithms | Ikon Science

RokDoc External Interface

The RokDoc External Interface enables you to run your own proprietery algorithms, in the form of plug-ins, within the RokDoc environment.

The RokDoc External Interface Plug-ins system allows users to write custom functions to perform calculations on data within a RokDoc project. Plug-ins are written as functions exposed from within external, shared libraries. Each plug-in is accompanied by an XML file that precisely describes to RokDoc the input & output data types involved in calling the function. RokDoc uses this XML description file to generate a native RokDoc graphical user interface, which is then used to run the plug-in from the RokDoc environment. 

Plug-ins can be used in each of the following contexts: 

  • RokDoc 1D plug-ins operating on well log data 
  • RokDoc 2D/3D plug-ins operating on seismic & synthetic quantities 
  • Rock Physics Model plug-ins

Programming supported languages

  • C++
    • Write your algorithm as a C or C++ function. Take existing code in C, C++ (or other languages, for example Fortran, with a suitable wrapper) & adapt to the RokDoc External Interface with a thin C wrapper.
  • Python
    • Plug-in applications & rock physics models can run natively in Python, without the need for additional compilation steps or the writing of C wrappers. Python plug-ins can utilise additional Python modules, such as SciPy & NumPy.
    • Write your algorithm in standard MATLAB® '.m' files. Any MATLAB® libraries can be called, & figures displayed if required. Use the MATLAB® compiler tool to generate C header and libraries. Thin C wrapper required to map between MATLAB® & RokDoc data structures.

Creating a Matplotlib cross-plot using Vp and Rho logs