Introduction

Choose the Outkrop packages for seismic sections, well logs and crossplots in your application.

Compare seismic displays

Compare density and wiggles on the same synthetic section. Drag a box to zoom; double-click to reset.

0.00 ms CPU/frame · 0 frames/s · idle FPS can be zero
<SectionView source={source} path="demo"
  display={{ colormap: 'Seismic', wiggle: false, agc: false }}
  rangeBars style={{ height: 340 }} />

Use Outkrop to display seismic sections, well curves and crossplots in your app. The views run in WebGL2; local files can stay entirely in the browser.

Start with Your Data

You have Start here Install
A SEG-Y, SU, LAS or table file Open Local Files Core + readers; add React for views
A compatible data service HTTP Sources Core; add React for views
Arrays already in memory Layers Core
No data yet Samples Core + React

Choose Your View

View Input Included
SectionView Source + seismic path Density/wiggles, axes, navigation, hover
CrossplotView Named table columns Point colors/sizes, axes, hover
OutkropSurface Your panes and layers Canvas lifecycle and navigation

Well tracks use a custom surface with core curve layers. There is no ready-made React well-log component.

How Data Reaches the Screen

flowchart TD
  accTitle: Ways to display data with Outkrop
  accDescr: Local files use readers, a compatible service uses the HTTP source, and in-memory arrays use core layers. React views or a custom core surface display the result.
  Files["Browser files"] --> Readers["LocalDataSource"]
  Service["Compatible data service"] --> HTTP["HttpDataSource"]
  Readers --> Views["React views or core layers"]
  HTTP --> Views
  Arrays["Your arrays"] --> Views
  Views --> Screen["WebGL2 canvas"]

Image layers request visible tiles. Curve envelopes preserve minima and maxima when zoomed out. Frames are drawn when something changes.

File work still takes time: overviews read the values they average; variable-length traces may need an offset scan; text formats retain parsed columns. See memory limits.

Install the 0.3.0 packages or try your files in the playground.