[OpendTect_Developers] About OD's attributes computing framework

Helene Huck helene.huck at dgbes.com
Wed Jun 15 11:22:02 CEST 2011

Dear Yan,

This is always good to read someone is busy trying to know more about 
OpendTect, thank you for your interest.
The attributes processing flows, what we call the Attribute Engine, has 
in a way a very simple architecture:
first of all, as you might already know, every attribute is an 
Attrib::Provider defined by its unique description, the Attrib::Desc ( 
in here you have all parameters but also identification of the input(s) 
and output(s) ). The Provider has the hability to create itself as well 
as every input attributes he needs (remember you can have a chain of 
attributes), this is actually what the function internalCreate() does.
And here is the basic flow: the Attrib::EngineMan (manager, entry point 
of the Attribute Engine from the user interface and the plugins) creates 
an Attrib::Processor and a Attrib::Output.
The Attrib::Processor will handle the process, it holds the 
Attrib::Provider you want to use for your calculation and will, for 
every position, ask it to compute its result; the attribute will relay 
this to all its inputs (and so on) and the information on the 
intermediate results ( I mean the result of computation of the inputs, ) 
are collected to get the final result which will be placed appropriately 
in the Attrib::Output.
As you can see the main lines are quite simple, still the attribute 
engine is a very big piece of code and I can easily understand someone 
gets lost into it.

The good part is that people who want to build attribute plugins to 
OpendTect will definitely not need to look so deep in the attribute 
engine code, there are a only a few virtual functions on the 
Attrib::Provider that are necessary to create an attribute, even a 
complex one. To get familiar with this I recommand watching a recorded 
webinar I gave last August,

for those of you who are willing to go deeper I can offer to look at

this is a presentation given internally to OpendTect developers to help them find their way in the Attribute Engine, it is of course a little bit more technical.

Hoping this helps,
Best regards,

On 06/15/2011 05:51 AM, ×Ô¼º wrote:
> Hi, all developers:
> Recently i was reading some source codes about OD's attributes 
> processing flows, and i found that the framework for attributes 
> computing is great. However, i don't think that i can figure out some 
> details, such as the some recursive functions in the framework(for 
> example, internal_create() in class provider,and so on). I think the 
> reason is that i didn't completely understand OD's attributes 
> computing method, flows, architecture, and so on. So could anybody 
> give me some guide to OD's attribute computing, especially for its 
> architecture, i will very appreciate his help. Sorry for my poor 
> english, by the way.
> Yours Sincererly
> yan gaohan
> _______________________________________________
> Developers mailing list
> Developers at opendtect.org
> http://lists.opendtect.org/mailman/listinfo/developers

-- Helene Huck
-- Geophysical software engineer
-- dGB Earth Sciences B.V.
-- Nijverheidstraat 11-2, 7511 JM Enschede, The Netherlands
-- mailto: helene.huck at dgbes.com, http://www.dgbes.com
-- Tel: +31 53 4315155 , Fax: +31 53 4315104

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opendtect.org/pipermail/developers/attachments/20110615/72f0a522/attachment.html>

More information about the Developers mailing list