Giter Site home page Giter Site logo

Comments (7)

ErlendHaa avatar ErlendHaa commented on August 27, 2024 1

Hi,

When the information record is structured (tm), the purpose of the mnemonic field is to indicate which column in the structured table the component block belongs in. Hence the repeated mnemonics. This entire structuring of components is a bit wierd, and the specification doesn't offer any good explanation of the semantic meaning of it. If you want to have a closer look it's defined in chapter 3.3.1.2 in the spec

from dlisio.

ErlendHaa avatar ErlendHaa commented on August 27, 2024

I think you want the components as is not formatted as a table. They are way more primitive than dlis parameters tho

from dlisio.

AchyuthB avatar AchyuthB commented on August 27, 2024

Hi @ErlendHaa,
Extracting details from components returned 6800 rows for each logical file. Most of which looks like repeated data for me.
Mnemonics 'PUNI' and 'TUNI' are repeated for around 750 times.
Are there any documentation available explaining this structure?

image

Code

def extract_information_record_data(logical_file_index, logical_file):
    global g_information_record_index
    g_information_record_index = 0

    for information_record in logical_file.wellsite_data():
        extract_data(logical_file_index, information_record)
    
    for information_record in logical_file.tool_string_info():
        extract_data(logical_file_index, information_record)

    for information_record in logical_file.job_identification():
        extract_data(logical_file_index, information_record)

def extract_data(logical_file_index, information_record):
    global g_information_record_data
    global g_information_record_index
    
    for component in information_record.components():
        mnemonic = component.mnemonic
        value = component.component
        units = component.units
        component_type = component.type_nb
        component_size = component.size

        g_information_record_data = g_information_record_data.append({
            'LOGICAL_FILE_INDEX': logical_file_index,
            'INFORMATION_RECORD_INDEX': g_information_record_index,
            'MNEMONIC': mnemonic,
            'VALUE': value,
            'UNITS': units,
            'COMPONENT_TYPE': component_type,
            'COMPONENT_SIZE': component_size
        }, 
        ignore_index=True)

        g_information_record_index = g_information_record_index + 1

from dlisio.

AchyuthB avatar AchyuthB commented on August 27, 2024

Hi @ErlendHaa,
I read through the chapter 3.3.1.2. Now I guess I understand how the data is structured.
image

Thanks Again,
Achyuth

from dlisio.

ErlendHaa avatar ErlendHaa commented on August 27, 2024

That's right. This is also a good illustration of them, as it shows how multiple Component Blocks are combined into one row in the table. And I guess one row is sorta analogues to a DLIS parameter.

We might want to update the documentation on this a bit. Maybe even add some support features that extract each "row" as an object (dict?):

param = {
    'MNEM' : 'FBSTB',
    'STAT' : 'ALLO',
    'HEIG' : 0,
    'VOLU' : 2.125,
    'WEIG' : 468.1,
    'PRES' : 0,
    'TEMP' : 350,
}

from dlisio.

AchyuthB avatar AchyuthB commented on August 27, 2024

For me it looks like, LIS has more detailed parameter information when compared to DLIS.
For DLIS every logical file has hundreds of parameter information, and the parameter_values are arrays (below screenshot).
For LIS I feel it is more specific, like for each block and sub-block (though I don't really understand what a block is).

image

from dlisio.

AchyuthB avatar AchyuthB commented on August 27, 2024

Hi,

This can be closed. I was able to successfully extract the information record data .

-Achyuth

from dlisio.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.