Trace Header Table

The seismic library provides two ways to display header values: inside a table view or inside a seismic view.
First, create the Seismic Widget and Seismic Pipeline See the tutorials Seismic Widget and Seismic Pipeline for more information.

# Table View

The TraceHeaderViewWidget provides an easy way to display trace header values inside a table view. Values of each trace header are stored as columns inside the table view.

import { TraceHeaderViewWidget } from "@int/geotoolkit/seismic/widgets/TraceHeaderViewWidget.ts";
import { Plot } from "@int/geotoolkit/plot/Plot.ts";
import { createPipeline, createSeismicReader } from "/src/code/Seismic/TraceHeaderTable/common.ts";
function createScene(canvas) {
  const seismicReader = createSeismicReader();
  const pipeline = createPipeline("MemoryReader", seismicReader, seismicReader.getStatistics());
  const widget = new TraceHeaderViewWidget({
    "pipeline": pipeline,
    "headers": [
      "INLINE",
      {
        "name": "XLINE",
        "title": "XLINE"
      }
    ]
  });
  return new Plot({
    "canvaselement": canvas,
    "root": widget
  });
}
export { createScene };

createScene(document.querySelector('[ref="plot"]'));

# Seismic View

The seismic widget provides an easy way to display trace header values inside a table view. Values of each trace header are stored as columns inside the table view. This table view is synchronized with the seismic view model. Any cursor movement inside the seismic view model will highlight the corresponding trace header value in the table view.

import { SeismicWidget } from "@int/geotoolkit/seismic/widgets/SeismicWidget.ts";
import { Plot } from "@int/geotoolkit/plot/Plot.ts";
import { createPipeline, createSeismicReader } from "/src/code/Seismic/TraceHeaderTable/common.ts";
function createScene(canvas) {
  const seismicReader = createSeismicReader();
  const pipeline = createPipeline("MemoryReader", seismicReader, seismicReader.getStatistics());
  const widget = new SeismicWidget({
    "pipeline": pipeline,
    "colorbar": {
      "axis": {
        "tickgenerator": {
          "edge": {
            "tickvisible": false,
            "labelvisible": false
          }
        }
      }
    },
    "layouttype": "inside",
    "statusbar": {
      "visible": false
    },
    "table": {
      "visible": "visible",
      "size": 100,
      "headers": [
        "INLINE",
        {
          "name": "XLINE",
          "title": "XLINE"
        }
      ]
    }
  });
  return new Plot({
    "canvaselement": canvas,
    "root": widget
  });
}
export { createScene };

createScene(document.querySelector('[ref="plot"]'));

# Table View Values Filter

Table view provides you a filter to hide some values. It can be useful in case you need to restrict access to some trace values. Filter is function with three parameters: headerName, traceNumber, value. It must return false to hide values from table.

import { SeismicWidget } from "@int/geotoolkit/seismic/widgets/SeismicWidget.ts";
import { Plot } from "@int/geotoolkit/plot/Plot.ts";
import { createPipeline, createSeismicReader } from "/src/code/Seismic/TraceHeaderTable/common.ts";
function createScene(canvas) {
  const seismicReader = createSeismicReader();
  const pipeline = createPipeline("MemoryReader", seismicReader, seismicReader.getStatistics());
  const widget = new SeismicWidget({
    "pipeline": pipeline,
    "colorbar": {
      "axis": {
        "tickgenerator": {
          "edge": {
            "tickvisible": false,
            "labelvisible": false
          }
        }
      }
    },
    "layouttype": "inside",
    "statusbar": {
      "visible": false
    },
    "table": {
      "visible": "visible",
      "size": 100,
      "headers": [
        "INLINE",
        {
          "name": "XLINE",
          "title": "XLINE"
        }
      ],
      "filter": (headerName, traceNumber, value) => {
        if (headerName !== "XLINE")
          return true;
        return traceNumber < 200 || value > 1500;
      }
    }
  });
  return new Plot({
    "canvaselement": canvas,
    "root": widget
  });
}
export { createScene };

createScene(document.querySelector('[ref="plot"]'));