well_x = 200 * np.ones(n_log_samples) delta_x = 0.3 * np.random.randn(n_log_samples) well_x += np.cumsum(delta_x) # Get Y and Z coordinates. well_y = 100 * np.ones(n_log_samples) well_z = np.linspace(0, 80, n_log_samples) # Concate X, Y, and Z coordinates. well_log_coords = np.stack((well_x, well_y, well_z), axis=1) # Get well log colors. cmap = get_colormap('hsl') values = np.random.uniform(-1.5, 2.5, n_log_samples) values = np.convolve(values, np.ones((20,))/20, mode='same') well_log_colors = np.array([cmap.map(x) for x in values]).squeeze() well_log = Markers(pos=well_log_coords, symbol='hbar', size=15, face_color=well_log_colors, edge_width=0) well_log.set_gl_state(depth_test=False) visual_nodes.append(well_log) canvas4 = SeismicCanvas(title='Voting Scores', visual_nodes=visual_nodes, xyz_axis=xyz_axis, colorbar=colorbar, **canvas_params) # Image 5: seismic with fault skin surfaces (meshes). fault_surfaces = [] fault_cmap = 'hsl' fault_range = (0, 180) # Read from skin files using FaultSkin class.