이전 글에서는 SU 명령어들을 이용해 탄성파 자료처리 결과 확인용 그림을 그리는 방법을 살펴보았습니다. 이번에는 Python의 Matplotlib을 이용하여 그린 그림 예제들을 보겠습니다. 그림은 IPython Processing 모듈을 이용해 그렸으며, 그릴 때 사용한 코드는 github에서 볼 수 있습니다.
속도모델, 구조보정 영상
우선, 다음과 같이 이진파일로부터 2차원 속도모델과 구조보정 결과를 그릴 수 있습니다. 기본적으로 속도모델은 컬러, 구조보정 영상은 흑백으로 그리도록 했지만, 필요에 따라 코드를 수정해서 색상을 바꿀 수 있습니다. 색상을 바꾸고 싶을 경우 imshow 함수의 cmap 인자를 이용하면 됩니다.
%matplotlib inline
from pkprocess import *
import numpy as np
vel = np.fromfile("marm16km.drt", dtype=np.float32)
nx = 576
nz = 188
h = 0.016
vel.shape = (nx, nz)
plot_vel(vel, h)

plot_mig(vel,h)

공통송신원 모음, 스펙트럼
그리고 SU 파일로부터 공통송신원 모음이나 F-X, F-K 스펙트럼을 그릴 수 있습니다. 공통송신원 모음은 Wiggle trace 또는 이미지로 그릴 수 있고, 이미지 색상은 cmap으로 조절 가능합니다.
su = read_su("marm3000.su")
plot_wiggle(su, perc=97)
min=-616.05078125 max=613.4453125

plot_image(su, perc=97)
min=-616.05078125 max=613.4453125

plot_image(su, perc=97, cmap='bwr')
min=-616.05078125 max=613.4453125

specfx(su)
dt=0.004, fmax=125.0

specfk(su)
dt=0.004, fmax=125.0
dx=0.025, kmax=20.0

위의 그림들 모두 Matplotlib으로 그렸으므로, 수정이 필요할 경우 Matplotlib 문서를 참고하여 수정해서 사용하시면 되겠습니다.