% ------------------------------------------------------------------------- % % % % Elimination of Radon artifacts using the KL transform % % % % M.D.Sacchi - for Geoph 426 - UofA % % % % I have used a large trade-off parameter in the Parabolic Radon % % transform. This is to guarantee stability. The problem is % % that a large trade-off will produce artifacts in the estimated % % primaries (residual energy from the multiples is left % % in the panel of primaries). The artifacts are attenuated % % with the KL transform. % % % % From SeismicLab: pradon_demultiple.m % % readsegy.m % % kl.m % % pimage.m % % clip.m % % seismic.m % % % % ------------------------------------------------------------------------- % clear; close all; % Read data, a nmo-ed corrected marine gather % from the Gulf of Mexico (./SeismicLab_data) [D,H] = readsegy('gom_cdp_nmo.su'); % We will use a subset of the data D = D(800:1200,:); % Extract areas that were muted Mutes = ones(size(D)); I = find(D==0); Mutes(I) = 0; % Extract offet and sampling interval h = [H.offset]; dt = H(1).dt/1000/1000; % Define parameters for Radon Demultiple qmin = -0.3; qmax = .8; nq = 120; flow = 2.; fhigh = 90; mu = 1; % Trade-off parameter q_cut = 0.05; [P,M,tau,q] = pradon_demultiple(D,dt,h,qmin,qmax,nq,flow,fhigh,mu,q_cut); % Apply data mutes back to the estimated primaries P = P.*Mutes; % KL transform filter using a subspace of 15 eigenvectors P_kl = kl(P,15); P_kl = P_kl.*Mutes; % Plot data, Radon panel, Primaries and Primaries after % fitering with the kl transform Big = [D,10*M,P,P_kl,P-P_kl]; [nt,nx]=size(Big); pimage([1:1:nx],tau,clip(Big,50,50)); colormap(seismic(2));