2D Efficient least-squares imaging with sparsity promotion and compressive sensing
Author: Xiang Li
Seismic Laboratory for Imaging and Modeling Department of Earch & Ocean Sciences The University of British Columbia
Date: 02, 2012
Contents
One-layer example
This is an demonstration of l1 migration algorithm based on One-layer model, please visit the script 'MGNFWI_camenbert.m' for detail
true model and initial model
z = 0:10:500; x = 0:10:500; vel = 1500*ones(51,51); vel(20,:)=2000; vels = 1500*ones(51,51); % figure(1);imagesc(x,z,vel);caxis([1500,2000]);xlabel('x [m]');ylabel('z [m]');title('true model [m/s]');colorbar; figure(2);imagesc(x,z,vels);caxis([1500,2000]);xlabel('x [m]');ylabel('z [m]');title('initial model [m/s]');colorbar;
% l1 migration % reflection example, source and receivers are on the top of the model load LSM_Toy_model_L1_WRSeqOffset3Shots3FsIvc.mat figure(3);imagesc(x,z,updates(:,:,13));colormap gray;xlabel('x [m]');ylabel('z [m]');title('l1 imaging result');
BG model example
This is an demonstration of l1 migration algorithm based on BG Compass model [1,2], please visit the script MGNFWI_BG.html for detail
true model and initial model
load BG_compass_model409x1401.mat z = 0:5:2040; x = 0:5:7000; scrsz = get(0,'ScreenSize'); figure('Position',[1 scrsz(4)/4 scrsz(3)/2 scrsz(4)/4]);imagesc(x,z,vel);set(gca,'plotboxaspectratio',[7 2 2]);caxis([1480,4680]);xlabel('x [m]');ylabel('z [m]');title('true model [m/s]');colorbar;
scrsz = get(0,'ScreenSize'); figure('Position',[1 scrsz(4)/4 scrsz(3)/2 scrsz(4)/4]);imagesc(x,z,vels);set(gca,'plotboxaspectratio',[7 2 2]);caxis([1480,4680]);xlabel('x [m]');ylabel('z [m]');title('initial model [m/s]');colorbar; scrsz = get(0,'ScreenSize'); figure('Position',[1 scrsz(4)/4 scrsz(3)/2 scrsz(4)/4]);imagesc(x,z,diff(1./vels-1./vel));set(gca,'plotboxaspectratio',[7 2 2]);caxis(1e-5*[-2 2]);xlabel('x [m]');ylabel('z [m]');title('true perturbation [s/m]');colorbar;colormap gray
% L1 migration with 3 simultaneous shots and 10 frequencies % in this case we use inverse crime data to test our algorithm load LSM_BGcompass_model2d_L1_WRSim3Shots10FsIvc.mat scrsz = get(0,'ScreenSize'); figure('Position',[1 scrsz(4)/4 scrsz(3)/2 scrsz(4)/4]);imagesc(x,z,updates(:,:,end));set(gca,'plotboxaspectratio',[7 2 2]);caxis(1e-5*[-2 2]);xlabel('x [m]');ylabel('z [m]');title('l1 migration from inverse crime data');colorbar;colormap gray % plot differential of the image to get rid of those low frequency turning wave compenents scrsz = get(0,'ScreenSize'); figure('Position',[1 scrsz(4)/4 scrsz(3)/2 scrsz(4)/4]);imagesc(x,z,diff(updates(:,:,end)));set(gca,'plotboxaspectratio',[7 2 2]);caxis(1e-5*[-2 2]);xlabel('x [m]');ylabel('z [m]');title('l1 migration from inverse crime data (filtered plotting)');colorbar;colormap gray % L1 migration with 3 simultaneous shots and 10 frequencies % in this case we use wavefield from frequency domain forward modeling method to test our algorithm load LSM_BGcompass_model2d_L1_WRSim3Shots10Fs.mat scrsz = get(0,'ScreenSize'); figure('Position',[1 scrsz(4)/4 scrsz(3)/2 scrsz(4)/4]);imagesc(x,z,updates(:,:,end));set(gca,'plotboxaspectratio',[7 2 2]);caxis(1e-5*[-2 2]);xlabel('x [m]');ylabel('z [m]');title('l1 migration from modelling data');colorbar;colormap gray % plot differential of the image to get rid of those low frequency turning wave compenents scrsz = get(0,'ScreenSize'); figure('Position',[1 scrsz(4)/4 scrsz(3)/2 scrsz(4)/4]);imagesc(x,z,diff(updates(:,:,end)));set(gca,'plotboxaspectratio',[7 2 2]);caxis(1e-5*[-2 2]);xlabel('x [m]');ylabel('z [m]');title('l1 migration from modelling data (filtered plotting)');colorbar;colormap gray