Using Mathematical Formulas to create datasets

You can use mathematical expressions to build datasets dynamically. You can use create seismic and horizon datasets.

Seismic Datasets (calculator)

ISeismicData firstData = IData.factory.createNewInstance(..., ISeismicData.class);
ISeismicData secondData = IData.factory.createNewInstance(..., ISeismicData.class);
LinkedHashMap<String, ISeismicData> mappings = new LinkedHashMap<String, ISeismicData>();
mappings.put("A", firstData);
mappings.put("B", secondData);
ICalculatorSeismicData calculatorData = ICalculatorSeismicData.Factory.createNewInstance(mappings, "A + B", "A");

Horizon Datasets

Deriving from other horizons (calculator)

IHorizonData firstData = ...
IHorizonData secondData = ...
LinkedHashMap<String, IData> mappings = new LinkedHashMap<String, IData>();
mappings.put("A", firstData);
mappings.put("B", secondData);
IHorizonData calculatorData = HorizonUtil.createCalculatorHorizonData(mappings, "myData", "A + B", "A");

Deriving from the trace header values of a seismic dataset (time horizon from header)

ISeismicData seismicData = ...
IHorizonData horizonData = HorizonUtil.createTraceHeaderHorizonData(seismicData, "myData", "MUTE_START * 1000");