Plotting API - Seismic line (Geo-technical)#
This notebook provides the user a guide to how a seismic line can be shown using a Blueback Investigation. Check out the API documentation to view all the functions available for the seismic line view:
Import dependencies :
[1]:
import cegalprizm.investigator as investigator
from cegalprizm.investigator import InvestigatorConnection
from cegalprizm.investigator.views import SeismicLineView
Connect to investigator and assign the investigation to a variable :
[2]:
invconnection = InvestigatorConnection(use_licensed_features=True)
inv = invconnection.investigation_from_file("Seismic2D.invpy")
To create a seismic line view of the investigation use the SeismicLineView() function with the investigation(inv) as the input parameter. To plot the matrix, use the .plot() function which takes as input parameters the specific view, in this case the seismic line. You can also provide the width (defaults to 900) and the height (defaults to 600) of the figure.
[3]:
seismic_view = SeismicLineView(inv)
investigator.plot(seismic_view)
[3]:

The show_area_density() function sets whether the area density should be shown in the view:
[4]:
seismic_view = SeismicLineView(inv)
seismic_view.show_area_density(True)
investigator.plot(seismic_view)
[4]:

By default the wiggles are always visible. You can change that by using the show_wiggles() function:
[5]:
seismic_view = SeismicLineView(inv)
seismic_view.show_area_density(True)
seismic_view.show_wiggles(False)
investigator.plot(seismic_view)
[5]:

You can set the color of the wiggles using the .set_left_wiggle_color() and .set_right_wiggle_color() function which can take as input either a color code or the color name:
[6]:
seismic_view = SeismicLineView(inv)
seismic_view.show_wiggles(True)
seismic_view.set_left_wiggle_color(1)
seismic_view.set_right_wiggle_color('green')
investigator.plot(seismic_view)
[6]:

You can remove the fill of the wiggles using the .show_left_wiggle_fill() and .show_right_wiggle_fill() functions:
[7]:
seismic_view = SeismicLineView(inv)
seismic_view.show_wiggles(True)
seismic_view.set_left_wiggle_color(1)
seismic_view.set_right_wiggle_color('green')
seismic_view.show_left_wiggle_fill(False)
seismic_view.show_right_wiggle_fill(False)
investigator.plot(seismic_view)
[7]:

If you are using an investigation that contains 3D seismic you must specify the inline or crossline you want to plot. You can do this by using the set_inline() and set_crossline() functions:
[8]:
inv3D = invconnection.investigation_from_file("Seismic3D.invpy")
[9]:
seismic_view_inline = SeismicLineView(inv3D)
seismic_view_inline.set_interpolate_area_density(True)
seismic_view_inline.show_area_density(True)
seismic_view_inline.show_wiggles(True)
seismic_view_inline.set_inline(450)
investigator.plot(seismic_view_inline)
[9]:

The .copy() function returns a copy of the seismic line view. This can be used to ensure that a common view setup can be the applied to multiple related views.