This repository is used by me to store the code related to multiple wave suppression and adaptive subtraction for my undergraduate thesis. The information is sourced from the internet. If you have any questions, please feel free to contact me
# If you install a new version, there may be some parameter errors
pip install pylops
# install Madagascar(Because my Matlab in Windows, and work in Linux, there is some bug,
# so I don't configure API=matlab in Madagascar, and I
# convert rsf to segy, and read segy data in Matlab, processing ..., save segy data in Matalb,
# finally, convert segy data to rsf )
# https://ahay.org/wiki/Installation
Robust estimation of primaries by sparse inversion via one-norm minimization SLIM group github
The installation is a bit complicated. Here, I will write about the method of using Matlab on Windows and calling it with WSL
git clone --depth=1 https://github.com/SINBADconsortium/SLIM-release-apps.git
cd SLIM-release-apps
cp environment.sh.template environment.sh
vim enviroment.sh
# edit enviroment after, if you just need spgl1, skip SLIM-release-comp
export SLIM_COMP='/home/wwd/SLIM-release-comp'
export SLIM_APPS='/home/wwd/SLIM-release-apps'
# esc vim, and edit ~/.bashrc
source /home/wwd/SLIM-release-apps/environment.sh
. /home/wwd/SLIM-release-apps/environment.sh
source ~/.bashrc
# if your matlab in windows, and work in Linux
sudo ln -s "/mnt/d/Program Files/MATLAB/R2022a/bin/matlab.exe" /usr/local/bin/matlab
sudo ln -s "/mnt/d/Program Files/MATLAB/R2022a/bin/win64/mex.exe" /usr/local/bin/mex
# test, if print, link sucess!
which matlab
which mex
# test SLIM
# in SLIM-release-apps
test_env4slim.sh
# in SLIM-release-apps, if it excute error, don't mind, just skip(if you fix the error,
# such as 'PI not define, and define PI 3.14....', and you run following code, will occur
# x = (x, nt, nr, ns) error, because x = (0, 0),
# I guess SLIM-spgl1 is broken)
install_MEX
# start running code, you can replace your data(.mat, .bin, .su), (and skip scons in data/) to fetch data
cd SLIM-release-apps/applications/WavefieldSeparation/RobustEPSI/Synthetic
scons
# generate 3 matlab files, and running Synthetic.m, if path error, you can add path in Sythetic.m
addpath(genpath('../../matfcts'));
addpath(genpath('\\wsl.localhost\ubuntu-20.04\home\wwd\SLIM-release-apps\matlab'))
addpath(genpath('\\wsl.localhost\ubuntu-20.04\home\wwd\SLIM-release-apps\tools\solvers\SPGL1-SLIM'));
addpath(genpath('\\wsl.localhost\ubuntu-20.04\home\wwd\SLIM-release-apps\tools\algorithms\REPSI'));
addpath(genpath('\\wsl.localhost\ubuntu-20.04\home\wwd\SLIM-release-apps\tools\utilities\SPOT-SLIM'));
EPSI_SLIM_main('input_file','../data/your_data.mat','maxTotalIter',100,'padtime',11,'topmuteT',
1,'q_estLength_posT',0.1,'q_estLength_negT',0.1,'useOblique',1,'relError',0.05,'window_startT',
0.15,'window_endT',1,'savepreviewmat',1,'show_preview',1,'verbosity',0,'useSparsity',0,'parallel',
0,'output_primary_file','Synthetic_primary.mat','output_primaryIR_file','Synthetic_primaryIR.mat',
'output_wavelet_file','Synthetic_wavelet.mat','preview_file','Preview/Synthetic_preview.mat',
'sol_file','Results/Synthetic_result.mat');
Multiple suppression using prediction-error filter
Multichannel adaptive deconvolution based on streaming prediction-error filter
Multiple reflections noise attenuation using adaptive randomized-order empirical mode decomposition Matlab code
Adaptive multiple subtraction using regularized nonstationary regression
Seislet-based morphological component analysis using scale-dependent exponential shrinkage
Curvelet-based primary-multiple separation from a Bayesian perspective code