Contents

% Interpolating 4D seismic data with missing receivers
% using the Hierarchical Tucker format.
%
% This script displays the output after the interpolation carried
% out in |applications/Processing/HierarchicalTuckerOptimization/examples/interp4D.m
%
% Author: Curt Da Silva (curtd@math.ubc.ca)
% Date: March 2014

baseDir = pwd;
baseDir = [baseDir(1:end-3)];
resultsDir = [baseDir 'results/'];
dataDir = [baseDir 'data/'];

% Load previously computed results
load([resultsDir 'results.mat']);

nsrcs = size(D,1); nrecs = size(D,3);

srcx = 30; srcy = 30;
slice = @(A) squeeze(real(A(:,:,srcx,srcy)));

disp(['SNR of interpolated shots ' num2str(test_snr) 'dB']);
disp(['SNR of entire interpolated volume ' num2str(overall_snr) 'dB']);
SNR of interpolated shots 23.8346dB
SNR of entire interpolated volume 24.2419dB

Original common shot gather

imagePlot(slice(D),'cbar',true,...
                        'visible',true,...
                        'centercaxis',true,...
                        'yLabel','receiver y',...
                        'xLabel','receiver x',...
                        'titleStr','True data');
coloraxis = caxis;

Subsampled shot gather (i.e. input data for the algorithm)

imagePlot(slice(bsub),'cbar',true,...
                      'coloraxis',coloraxis,...
                      'visible',true,...
                      'centercaxis',true,...
                      'yLabel','receiver y',...
                      'xLabel','receiver x',...
                      'titleStr','Subsampled data');

Interpolated shot gather

imagePlot(slice(X),'cbar',true,...
                      'coloraxis',coloraxis,...
                      'visible',true,...
                      'centercaxis',true,...
                      'yLabel','receiver y',...
                      'xLabel','receiver x',...
                      'titleStr','Interpolated data');

Difference

imagePlot(slice(X) - slice(D),'cbar',true,...
                      'coloraxis',coloraxis,...
                      'visible',true,...
                      'centercaxis',true,...
                      'yLabel','receiver y',...
                      'xLabel','receiver x',...
                      'titleStr','Difference');