📄 s_rm_traces.m
字号:
function seisout=s_rm_traces(seismic,option)% Function removes traces % which consist exclusively of null values or % which have at least one null value% An alert is issued if no trace is output% Written by: E. R., January 6, 2001% Last updated: February 2, 2001: remove common leading and trailing nulls prior to applying selection criterion%% seisout=s_rm_traces(seismic,option)% INPUT% seismic seismic data set% option option requested. Possible values are:% 'any' a trace is discarded if it contains any null values% 'all' a trace is discarded if all values are null values% Default: 'all'%% See also: S_RM_TRACE_NULLSglobal S4Mseisout=seismic;if ~isfield(seismic,'null') returnendif nargin == 1 option='all';end[nsamp,ntr]=size(seismic.traces);% First remove any leading or trailing NaNs common to all tracestest=max(seismic.traces,[],2);index=find(~isnan(test));if isempty(index) seisout=rmfield(seisout,{'traces','headers','header_info','null'}); disp(' Alert from "s_rm_traces": Seismic traces have only null values') returnendseisout.traces=seismic.traces(index(1):index(end),:);seisout.first=seismic.first+(index(1)-1)*seismic.step;seisout.last=seismic.last-(nsamp-index(end))*seismic.step;index=sum(isnan(seisout.traces));switch option case 'all'idx=find(index ~= nsamp);if isempty(idx) seisout=rmfield(seisout,{'traces','headers','header_info','null'}); disp(' Alert from "s_rm_traces": Seismic traces have only null values') returnendseisout.traces=seisout.traces(:,idx);seisout.headers=seisout.headers(:,idx);if sum(index(idx) == 0) seisout=rmfield(seisout,'null');endhtext=[num2str(ntr-length(idx)),' traces (with all null values) removed']; case 'any'idx=find(index == 0);if isempty(idx) seisout=rmfield(seisout,{'traces','headers','header_info','null'}); disp(' Alert from "s_rm_traces": Seismic traces have only null values') returnendseisout.traces=seisout.traces(:,idx);seisout.headers=seisout.headers(:,idx); seisout=rmfield(seisout,'null');htext=[num2str(ntr-length(idx)),' traces (with at least one null value) removed']; otherwiseerror([' Unknown option: ',option])end % End of switch blockif S4M.history & isfield(seismic,'history') seisout=s_history(seisout,'append',htext);end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -