OpendTect attributesIntro | Attrib provider | GUI
To make OpendTect use my own algorithms to produce new seismic data, OpendTect has the concept of Attributes.
Attributes are the concept of making an output at a certain location. When defining an attribute, we don't care at all about how the seismic data around a certain position is provided to us. For this, there is the Attribute Engine which is a part of the base system. Thus, we only have to worry about our algorithms that deliver a certain value given the seismic data around the location. This data can originate from different input cubes.
Attributes (can) have many inputs from other attributes or stored cubes, and they can produce many outputs. To make an attribute work, you will have to create:
An Attrib::Provider contains a combination of:
These are the phases in the attribute class definition.
The description functions declare and describe all the parameters that will be required to make the attribute work; they also specify the number and type of the inputs and outputs.
This is the most important description class, the one where all parameters are declared with their corresponding types and eventually some default values or limits; the inputs and outputs are also listed here.
This function CANNOT be omitted, even the simplest attribute you can imagine will require at least the description of its output type.
The initialization functions are called before the actual work starts. The are used for allocating buffers, connecting input and output, and so forth.
In this function you can specify the outputs of your inputs that you need for calculation among the available outputs of that input. In many cases you will not have to supply this function.
Usage: Say our input #5 has 3 outputs and we only need the second and third. Then we'd have:
If an extra check on the input had shown it was empty then we would have returned false.