Seismic profile drawing method and device based on multi-thread, electronic equipment and medium
By using multi-threading technology to process seismic data reading and display preprocessing in parallel, the problem of lag in the display and comparison of multiple large-scale seismic profiles was solved, thus improving the efficiency of seismic data processing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-25
- Publication Date
- 2026-04-07
AI Technical Summary
In existing earthquake processing and interpretation software, the process of displaying and comparing multiple big data seismic profiles causes severe lag, affecting work efficiency.
Multithreading technology is adopted, which uses the main thread to open a corresponding number of data threads to read seismic data and display preprocessing in parallel, and in the drawing thread to draw seismic profiles in parallel according to the window size, thereby reducing the time to draw all seismic traces at once.
It effectively reduces the time required to display and compare multiple large-scale seismic profiles, and improves the efficiency of seismic data processing and interpretation.
Smart Images

Figure CN116028195B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of seismic exploration data visualization, and more specifically, relates to a method, apparatus, electronic device and medium for drawing seismic profiles based on multithreading. Background Technology
[0002] With the development of seismic exploration acquisition and processing technology, the amount of seismic data has grown rapidly, and seismic exploration has entered the era of big data. Acquisition of more than 10,000 channels has become a routine technology, and the display of big data seismic profiles has placed higher demands on seismic processing and interpretation software.
[0003] Current seismic profile display technology in seismic processing and interpretation software typically uses a serial approach. The main process includes reading seismic data, display preprocessing, and profile drawing. The actual drawing process of the seismic profile mainly involves drawing the coordinate system and drawing the seismic traces. Drawing the coordinate system is relatively simple and takes less time. For drawing seismic traces with more than 10,000 data points, the seismic profile display process is fast when the data volume is small, and it does not cause a lag experience for seismic processing and interpretation personnel. However, when the data volume increases, the display process for tens of thousands of seismic data profiles will take much longer. During the seismic processing and interpretation process, it is usually necessary to open multiple profiles simultaneously for comparison. Under the serial approach, the display and comparison of multiple large-scale seismic profiles will cause severe lag for seismic processing and interpretation personnel, greatly reducing the efficiency of seismic processing and interpretation work. Summary of the Invention
[0004] The purpose of this invention is to propose a multi-threaded seismic profile drawing method, device, electronic device, and medium to solve the problem of long display and comparison time for multiple large-scale seismic profiles and improve the efficiency of seismic data processing and interpretation.
[0005] In a first aspect, the present invention proposes a multi-threaded seismic profile drawing method, comprising:
[0006] Step S1: Open the seismic profile display interface and determine the number of seismic profiles to be opened;
[0007] Step S2: Start multiple data threads through the main thread where the seismic profile display interface is located. The number of data threads started corresponds to the number of seismic profiles opened.
[0008] Step S3: Read seismic data in parallel using multiple data threads and display preprocessed data;
[0009] Step S4: When the main thread receives the signal that the data thread has ended, it starts multiple drawing threads that correspond one-to-one with the data thread;
[0010] Step S5: Calculate the number of seismic traces that can be displayed within the current window size, and draw seismic profiles in parallel in the corresponding windows using multiple drawing threads.
[0011] Optionally, in step S2, reading seismic data through the data thread includes:
[0012] The data thread reads seismic trace data according to the trace number in the standard seismic data format.
[0013] The standard seismic data formats include segy and segd formats.
[0014] Optionally, in step S2, the display preprocessing includes:
[0015] The data thread performs normalization processing on each seismic trace in the entire seismic data being read.
[0016] Optionally, the normalization process includes:
[0017] Remove the maximum and minimum sample values of anomalies from each seismic trace data;
[0018] Divide all sample values by the maximum sample value to complete the normalization of the entire data.
[0019] The normalized data is the actual data displayed.
[0020] Optionally, step S5 specifically includes:
[0021] The drawing thread calculates the number of seismic traces that can be displayed in the window's display area according to the window display size, and draws the horizontal and vertical coordinates;
[0022] The drawing thread draws a portion of the seismic traces within the displayable area of the window based on the actual display data after normalization processing by the data thread. The displayable area of the window has vertical and horizontal scroll bars, and dragging the scroll bars can display more seismic traces.
[0023] Secondly, the present invention provides an electronic device, the electronic device comprising:
[0024] At least one processor; and,
[0025] A memory communicatively connected to the at least one processor; wherein,
[0026] The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the multi-threaded seismic profile drawing method described in the first aspect.
[0027] Thirdly, the present invention proposes a non-transitory computer-readable storage medium that stores computer instructions for causing a computer to execute the multi-threaded seismic profile drawing method described in the second aspect.
[0028] Fourthly, this invention proposes a multi-threaded seismic profile drawing system, comprising:
[0029] The seismic profile reading module is used to open the seismic profile display interface and determine the number of seismic profiles to be opened.
[0030] The parallel reading and preprocessing module is used to start multiple data threads through the main thread where the seismic profile display interface is located, and to read seismic data and display preprocessing in parallel through the multiple data threads. The number of data threads started corresponds to the number of seismic profiles opened.
[0031] The parallel profile drawing module is used to start multiple drawing threads corresponding to the data thread when the main thread receives the signal that the data thread has ended, and to calculate the number of seismic traces that can be displayed in the display area according to the current window size, and to draw seismic profiles in parallel in the corresponding windows through the multiple drawing threads.
[0032] Optionally, the parallel reading and preprocessing module reads seismic data through the data thread, including:
[0033] The data thread reads seismic trace data according to the trace number in the standard seismic data format.
[0034] The standard seismic data formats include segy and segd formats.
[0035] Optionally, the parallel reading and preprocessing module performs display preprocessing on the read seismic data, including:
[0036] The data thread performs normalization processing on each seismic trace in the entire seismic data being read.
[0037] The beneficial effects of this invention are as follows:
[0038] This invention, based on the number of seismic profiles to be opened, initiates a corresponding number of data reading threads in the main thread to read and preprocess the seismic data in parallel. After the preprocessing is completed, the main thread then initiates a corresponding number of profile drawing threads to complete the parallel drawing. By using a multi-threaded parallel approach, time-consuming processes such as data reading and preprocessing, and profile drawing in the profile display process are processed in parallel, reducing the time required for displaying and comparing multiple large-scale seismic profiles and improving the efficiency of profile browsing.
[0039] The system of the present invention has other features and advantages that will be apparent from or will be set forth in detail in the accompanying drawings and following detailed description, which together serve to explain the particular principles of the invention. Attached Figure Description
[0040] The above and other objects, features and advantages of the present invention will become more apparent from the accompanying drawings, in which like reference numerals generally denote like parts.
[0041] Figure 1 A step diagram of a multi-threaded seismic profile drawing method according to the present invention is shown.
[0042] Figure 2 A flowchart of a multi-threaded seismic profile drawing method according to an embodiment of the present invention is shown.
[0043] Figure 3 A flowchart illustrating the drawing thread in a multi-threaded seismic profile drawing method according to an embodiment of the present invention is shown.
[0044] Figure 4 A schematic diagram of a single seismic profile display in a multi-threaded seismic profile drawing method according to an embodiment of the present invention is shown.
[0045] Figure 5 A schematic diagram of multiple seismic profile plotting is shown in a multi-threaded seismic profile plotting method according to an embodiment of the present invention. Detailed Implementation
[0046] The existing seismic profile display technology in seismic processing and interpretation software is usually implemented in a serial manner. The main process includes reading seismic data, display preprocessing, and profile drawing. During the seismic processing and interpretation process, it is usually necessary to open multiple profiles for comparison at the same time. Under the serial method, the display and comparison of multiple large-scale seismic profiles will bring a serious lag experience to the seismic processing and interpretation personnel.
[0047] The main process of seismic profile display includes three main steps: reading seismic data, display preprocessing, and profile drawing. The efficiency of the data interface is related to the reading of seismic data, and the data normalization method is related to the display preprocessing. This invention does not involve the optimization of these two aspects. The actual drawing process of large-scale seismic profiles mainly includes the drawing of the coordinate system and the drawing of seismic traces. The drawing of the coordinate system is relatively simple and takes less time. For the drawing of seismic traces with more than 10,000 traces, this invention is based on multi-threaded large-scale seismic profile display technology and designs a mechanism that only draws the visible area of the window, avoiding drawing all seismic traces at once, thereby reducing the drawing time and providing a correct and efficient profile display process for multiple large-scale seismic profiles.
[0048] The invention will now be described in more detail with reference to the accompanying drawings. While preferred embodiments of the invention are shown in the drawings, it should be understood that the invention can be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that the invention will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
[0049] Example 1
[0050] Figure 1 A step diagram of a multi-threaded seismic profile drawing method according to the present invention is shown.
[0051] like Figure 1 As shown, a multi-threaded seismic profile drawing method includes:
[0052] Step S101: Open the seismic profile display interface and determine the number of seismic profiles to be opened;
[0053] Step S102: Start multiple data threads through the main thread where the seismic profile display interface is located. The number of data threads started corresponds to the number of seismic profiles opened.
[0054] Reading seismic data via data threads includes:
[0055] Seismic trace data is read by trace number according to the standard seismic data format using a data thread;
[0056] Standard seismic data formats include segy and segd formats.
[0057] Display preprocessing includes:
[0058] The data thread normalizes each seismic trace in the entire seismic data.
[0059] Normalization includes:
[0060] Remove the maximum and minimum sample values of anomalies from each seismic trace data;
[0061] Divide all sample values by the maximum sample value to complete the normalization of the entire data.
[0062] The normalized data is the actual data displayed.
[0063] Step S103: Read seismic data in parallel using multiple data threads and display preprocessed data;
[0064] Step S104: After the main thread receives the signal that the data thread has ended, it starts multiple drawing threads that correspond one-to-one with the data thread;
[0065] Step S105: Calculate the number of seismic traces that can be displayed within the current window size, and draw seismic profiles in parallel in the corresponding windows using multiple drawing threads.
[0066] Specifically, this step includes:
[0067] The drawing thread calculates the number of seismic traces that can be displayed in the window's display area according to the window's display size, and then draws the horizontal and vertical axes;
[0068] The drawing thread draws a portion of the seismic traces within the displayable area of the window based on the actual display data after normalization by the data thread. The displayable area of the window has vertical and horizontal scroll bars, and dragging the scroll bars can display more seismic traces.
[0069] The method of the present invention will be further described below through a specific embodiment.
[0070] This example method is primarily used for comparing and displaying multiple large-scale seismic profiles. Based on the number of seismic profiles to display, a corresponding number of data threads are started on the main thread of the profile display window. These data threads are used to read seismic data and perform preprocessing, normalizing the actual seismic trace data for easier rendering. After the rendering data is prepared, a corresponding number of draw threads are started on the main thread, used for rendering and refreshing individual profiles.
[0071] like Figure 2 As shown, a multi-threaded seismic profile drawing method includes:
[0072] Step S201: Open the seismic profile display interface and determine the number of seismic profiles to be opened;
[0073] Seismic data reading follows the standard seismic data format (segy, segd, etc.) and reads seismic trace data by trace number.
[0074] Step S202: Start the corresponding number of data threads from the main thread where the seismic profile display interface is located, which are used to read seismic data and display preprocessing respectively;
[0075] The datathread is created by the main thread where the profile display window is located. The datathread is mainly used for seismic data reading and display preprocessing. After reading, it performs normalization processing on each seismic trace in the entire seismic data. The normalization is specifically implemented as follows: after removing the maximum and minimum sample point values of individual anomalies, all sample point values are divided by the maximum sample point value to achieve normalization of the entire trace data. The data after normalization processing is the actual display data.
[0076] Step S203: After the main thread receives the signal that the data thread has ended, it starts the corresponding number of drawthreads.
[0077] Step S204: Calculate the number of seismic traces that can be displayed within the display area based on the current window size, and draw seismic profiles in the corresponding windows.
[0078] Specifically, such as Figure 3 As shown, after the main thread receives the signal that the datathread has finished processing, it creates the drawthread. The drawthread first calculates the number of seismic traces that can be displayed in the visible area of the window according to the window display size, draws the horizontal and vertical coordinates, and draws a portion of the seismic traces based on the actual display data after normalization processing by the datathread. The visible area of the window is implemented using a scrolling window widget with vertical and horizontal scroll bars. Dragging the scroll bars displays more seismic traces.
[0079] Figure 4 The image shows a single seismic profile. The window currently displays 280 seismic traces. Dragging the horizontal scroll bar will display other undisplayed seismic traces. After dragging the scroll bar, the plotting thread will recalculate the seismic traces that need to be displayed in the visible area of the window.
[0080] like Figure 5 As shown, taking the drawing of three seismic profiles as an example, after dividing the window size proportionally, the number of seismic traces that can be displayed in each profile display window is calculated, and the horizontal and vertical coordinates and seismic traces of the corresponding windows are drawn using drawthread respectively.
[0081] Step S205: Record the current horizontal and vertical coordinate scale range when sliding the horizontal scroll bar, update the horizontal and vertical coordinates according to the sliding distance, and update the seismic trace drawing according to the horizontal and vertical coordinate range.
[0082] In summary, the multi-threaded seismic profile drawing method of this embodiment addresses the problem of long display and comparison times for multiple large-scale seismic profiles by using a multi-threaded parallel approach to process time-consuming processes such as data reading preprocessing and profile drawing in parallel. This effectively reduces the display and comparison time for multiple large-scale seismic profiles and improves the efficiency of profile browsing.
[0083] Example 2
[0084] This embodiment proposes a multi-threaded seismic profile drawing system, including:
[0085] The seismic profile reading module is used to open the seismic profile display interface and determine the number of seismic profiles to be opened.
[0086] The parallel reading and preprocessing module is used to start multiple data threads through the main thread where the seismic profile display interface is located, and to read and display preprocess seismic data in parallel through multiple data threads. The number of data threads started corresponds to the number of seismic profiles opened.
[0087] The parallel profile drawing module is used to start multiple drawing threads corresponding to the data threads when the main thread receives the signal that the data thread has ended. It calculates the number of seismic traces that can be displayed in the display area based on the current window size, and draws seismic profiles in parallel in the corresponding windows through multiple drawing threads.
[0088] The parallel reading and preprocessing module reads seismic data through data threads, including:
[0089] Seismic trace data is read by trace number according to the standard seismic data format using a data thread;
[0090] Standard seismic data formats include segy and segd formats.
[0091] The parallel reading and preprocessing module performs display preprocessing on the read seismic data, including:
[0092] The data thread normalizes each seismic trace in the entire seismic data.
[0093] Example 3
[0094] This embodiment proposes an electronic device, which includes:
[0095] At least one processor; and,
[0096] A memory that is communicatively connected to at least one processor; wherein,
[0097] The memory stores instructions that can be executed by at least one processor, which enables the at least one processor to perform the multithreaded seismic profile drawing method of Embodiment 1.
[0098] An electronic device according to embodiments of the present disclosure includes a memory and a processor. The memory is used to store non-transitory computer-readable instructions. Specifically, the memory may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may, for example, include random access memory (RAM) and / or cache memory. The non-volatile memory may, for example, include read-only memory (ROM), hard disk, flash memory, etc.
[0099] The processor may be a central processing unit (CPU) or other form of processing unit with data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device to perform desired functions. In one embodiment of this disclosure, the processor is used to execute computer-readable instructions stored in the memory.
[0100] Those skilled in the art will understand that, in order to solve the technical problem of how to achieve a good user experience, this embodiment may also include well-known structures such as communication buses and interfaces, and these well-known structures should also be included within the protection scope of this disclosure.
[0101] For a detailed description of this embodiment, please refer to the corresponding descriptions in the foregoing embodiments, which will not be repeated here.
[0102] Example 4
[0103] This embodiment proposes a non-transitory computer-readable storage medium that stores computer instructions for causing a computer to execute the multi-threaded seismic profile drawing method of Embodiment 1.
[0104] A computer-readable storage medium according to embodiments of the present disclosure stores non-transitory computer-readable instructions. When these non-transitory computer-readable instructions are executed by a processor, all or part of the steps of the methods described in the foregoing embodiments of the present disclosure are performed.
[0105] The aforementioned computer-readable storage media include, but are not limited to: optical storage media (e.g., CD-ROM and DVD), magneto-optical storage media (e.g., MO), magnetic storage media (e.g., magnetic tape or portable hard drive), media with built-in rewritable non-volatile memory (e.g., memory card), and media with built-in ROM (e.g., ROM cartridge).
[0106] The various embodiments of the present invention have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments.
Claims
1. A method for drawing seismic profiles based on multithreading, characterized in that, include: Step S1: Open the seismic profile display interface and determine the number of seismic profiles to be opened; Step S2: Start multiple data threads through the main thread where the seismic profile display interface is located. The number of data threads started corresponds to the number of seismic profiles opened. Step S3: Seismic data is read in parallel by multiple data threads and preprocessed for display. The preprocessing includes: normalizing each seismic trace in the entire seismic data by the data threads; the normalization includes: removing the maximum and minimum sample values of anomalies from each seismic trace; dividing all sample values by the maximum sample value to complete the normalization of the entire trace; the normalized data is the actual display data. Step S4: When the main thread receives the signal that the data thread has ended, it starts multiple drawing threads that correspond one-to-one with the data thread; Step S5: Calculate the number of seismic traces that can be displayed within the current window size, and draw seismic profiles in parallel in their respective windows using multiple drawing threads. Specifically, this includes: The drawing thread calculates the number of seismic traces that can be displayed in the window's display area according to the window display size, and draws the horizontal and vertical coordinates; The drawing thread draws a portion of the seismic traces within the displayable area of the window based on the actual display data after normalization processing by the data thread. The displayable area of the window has vertical and horizontal scroll bars. Dragging the scroll bars displays more seismic traces. Dragging the horizontal scroll bar recalculates the seismic traces that need to be displayed in the visible area of the window.
2. The seismic profile drawing method based on multi-threading according to claim 1, characterized in that, In step S2, reading seismic data through the data thread includes: The data thread reads seismic trace data according to the trace number in the standard seismic data format. The standard seismic data formats include segy and segd formats.
3. An electronic device, characterized in that, The electronic device includes: At least one processor; and, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the multi-threaded seismic profile drawing method according to claim 1 or 2.
4. A non-transitory computer-readable storage medium, characterized in that, The non-transitory computer-readable storage medium stores computer instructions for causing a computer to perform the multi-threaded seismic profile drawing method of claim 1 or 2.
5. A seismic profile drawing system based on multithreading, characterized in that, include: The seismic profile reading module is used to open the seismic profile display interface and determine the number of seismic profiles to be opened. The parallel reading and preprocessing module is used to start multiple data threads through the main thread where the seismic profile display interface is located, and to read seismic data and display preprocessing in parallel through the multiple data threads. The number of data threads started corresponds to the number of seismic profiles opened. The display preprocessing includes: normalizing each seismic trace in the entire seismic data read by the data thread; the normalization process includes: removing the maximum and minimum sample values of anomalies in each seismic trace; dividing all sample values by the maximum sample value to complete the normalization of the entire trace data; the normalized data is the actual display data. The parallel profile drawing module is used to start multiple drawing threads corresponding one-to-one with the data thread after the main thread receives the signal that the data thread has ended. It calculates the number of seismic traces that can be displayed within the current window size and draws seismic profiles in parallel within their respective windows using these multiple drawing threads. Each drawing thread calculates the number of seismic traces that can be displayed within the window's display area according to the window's display size and draws the horizontal and vertical coordinates. The drawing threads draw a portion of the seismic traces within the window's display area based on the normalized actual display data from the data thread. The window's display area has vertical and horizontal scroll bars; dragging the scroll bars displays more seismic traces. Dragging the horizontal scroll bar recalculates the number of seismic traces that need to be displayed within the window's visible area.
6. The seismic profile drawing system based on multithreading according to claim 5, characterized in that, The parallel reading and preprocessing module reads seismic data through the data thread, including: The data thread reads seismic trace data according to the trace number in the standard seismic data format. The standard seismic data formats include segy and segd formats.
Citation Information
Patent Citations
Double-cache double-thread display method for seismic data
CN109343117A
Visualization method for seismic data
CN109597127A