이전 글에서는 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 문서를 참고하여 수정해서 사용하시면 되겠습니다.