[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,
http://www.opendtect.org/tutorials/Webinar_How_to_program_your_own_attribute/Webinar_How_to_program_your_own_attribute.html
for those of you who are willing to go deeper I can offer to look at
ftp://ftp.opendtect.org/pub/movies/Webinar_InsightIntoTheAttributeEngine.mp4
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,
Helene
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