⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matace.m

📁 Univ. of Calgary CREWS的免费地震研究软件
💻 M
字号:
function matace(action)

% matace
%
% MATACE takes and returns no arguments. It simple puts up a panel
% of pushbuttons designed to run chevron applications
%

if(nargin<1)
	action='init';
end

if(strcmp(action,'init'))
	hfig=figure('visible','off');
	p=get(hfig,'position');

	nrows=4;
	% 
	% current applications:
	%	logedit
	%	logsec
	%	slicetool
	%	slicetool('extract')
	%	waveleted
	%
	sep=.01;
	ht=(1-6*sep)/nrows;

	width=(1-3*sep)/2;

	xnow=sep;
	ynow=1-ht;

 wd=2*width+sep;
	hmode=uicontrol('style','popupmenu','string',...
		'Click button to launch program|Click button for help on program',...
		'units','normalized',...
		'position',[xnow,ynow,wd,.9*ht],'foregroundcolor','r');

	ynow=ynow-ht-sep;

	hlogedit=uicontrol('style','pushbutton','string','logedit',...
		'units','normalized',...
		'position',[xnow,ynow,width,ht],'callback',...
		'matace(''logedit'')');

	xnow=xnow+width+sep;

	hwaveleted=uicontrol('style','pushbutton','string','waveleted',...
		'units','normalized',...
		'position',[xnow,ynow,width,ht],'callback',...
		'matace(''waveleted'')');


	ynow=ynow-sep-ht;
	xnow=sep;

	hlogsec=uicontrol('style','pushbutton','string','logsec',...
		'units','normalized',...
		'position',[xnow,ynow,width,ht],'callback',...
		'matace(''logsec'')');

	xnow=xnow+width+sep;

	hlogsecnew=uicontrol('style','pushbutton','string','logsec(''new'')',...
		'units','normalized',...
		'position',[xnow,ynow,width,ht],'callback',...
		'matace(''logsecnew'')');

	ynow=ynow-sep-ht;
	xnow=sep;

	hslicetool=uicontrol('style','pushbutton','string','slicetool',...
		'units','normalized',...
		'position',[xnow,ynow,width,ht],'callback',...
		'matace(''slicetool'')');

	xnow=xnow+width+sep;

	hslicextract=uicontrol('style','pushbutton',...
		'string','slicetool(''extract'')',...
		'units','normalized',...
		'position',[xnow,ynow,width,ht],'callback',...
		'matace(''slicextract'')');

	p=[p(1:2) 400 100];

	set(hfig,'userdata',[hmode hlogedit hwaveleted hlogsec hlogsecnew...
		hslicetool hslicextract]);

	set(hfig,'position',p,'visible','on');

	return;

end

if( strcmp(action,'logedit') )

	%determine mode
	h=get(gcf,'userdata');
	hmode=h(1);
	mode=get(hmode,'value');
	if(mode==1)
	
		disp('Running logedit... Please wait a moment')
		eval('logedit');
	else
		disp(' ')
		disp(['LOGEDIT is an interactive log editor which reads and writes'])
		disp('logs in LAS format. It allows general editing of log samples')
		disp('as well as such tasks as resampling, median filtering, units')
		disp('change and more. It will also convert logs from depth to time')
		disp('and output them in a form which SEISLINE can read. For more')
		disp('info or personal instruction call Gary Margrave @ 5393')
		disp(' ')
	end

	return;

end

if( strcmp(action,'logsec') )

	%determine mode
	h=get(gcf,'userdata');
	hmode=h(1);
	mode=get(hmode,'value');
	if(mode==1)
	
		disp('Running logsec... Please wait a moment')
		eval('logsec');
	else
		disp(' ')
		disp('Use this button to run LOGSEC when you are opening a saved')
		disp('file from a previous LOGSEC session')
		disp('LOGSEC is an interactive program designed to propagate well')
		disp('logs along a cross section, convert them from depth to time')
		disp('and eventually make synthetic seismograms. It contains a')
		disp('complete cross section construction package, interactive')
		disp('log propagation, datum shifting, time converssion. It ')
		disp('invokes the wavelet editor, waveleted, to construct')
		disp('wavelets for the theograms. For more information or personal')
		disp('instruction, call Gary Margrave @ 5393')
		disp(' ')
	end

	return;

end

if( strcmp(action,'logsecnew') )

	%determine mode
	h=get(gcf,'userdata');
	hmode=h(1);
	mode=get(hmode,'value');
	if(mode==1)
	
		disp('Running logsec(''new'')... Please wait a moment')
		eval('logsec(''new'')');
	else
		disp(' ')
		disp('Use this button to run LOGSEC when you are beginning a new')
		disp('LOGSEC model')
		disp('LOGSEC is an interactive program designed to propagate well')
		disp('logs along a cross section, convert them from depth to time')
		disp('and eventually make synthetic seismograms. It contains a')
		disp('complete cross section construction package, interactive')
		disp('log propagation, datum shifting, time converssion. It ')
		disp('invokes the wavelet editor, waveleted, to construct')
		disp('wavelets for the theograms. For more information or personal')
		disp('instruction, call Gary Margrave @ 5393')
		disp(' ')
	end

	return;

end


if( strcmp(action,'slicetool') )

	%determine mode
	h=get(gcf,'userdata');
	hmode=h(1);
	mode=get(hmode,'value');
	if(mode==1)
	
		disp('Running slicetool... Please wait a moment')
		eval('slicetool');
	else
		disp(' ')
		disp('Use this button to run SLICETOOL when you are opening a saved')
		disp('file from a previous SLICETOOL session')
		disp('SLICETOOL is an interactive cross plotting and analysis tool')
		disp('for columnar (i.e. vector) data. It provides facilities for')
		disp('crossplotting vectors, fitting polynomials to them (and ')
		disp('computing residuals if desired), performing basic algebra')
		disp('on the vectors and a whole lot more.')
		disp('For more information or personal instruction call Gary')
		disp('Margrave @ 5393')
		disp(' ')
	end

	return;

end

if( strcmp(action,'slicextract') )

	%determine mode
	h=get(gcf,'userdata');
	hmode=h(1);
	mode=get(hmode,'value');
	if(mode==1)
	
		disp('Running slicetool(''extract'')... Please wait a moment')
		eval('slicetool(''extract'')');
	else
		disp(' ')
		disp('Use this button to run SLICETOOL when you are opening a saved')
		disp('file from a previous SLICETOOL session')
		disp('SLICETOOL is an interactive cross plotting and analysis tool')
		disp('for columnar (i.e. vector) data. It provides facilities for')
		disp('crossplotting vectors, fitting polynomials to them (and ')
		disp('computing residuals if desired), performing basic algebra')
		disp('on the vectors and a whole lot more.')
		disp('For more information or personal instruction call Gary')
		disp('Margrave @ 5393')
		disp(' ')
	end

	return;

end
	
if( strcmp(action,'waveleted') )

	%determine mode
	h=get(gcf,'userdata');
	hmode=h(1);
	mode=get(hmode,'value');
	if(mode==1)
	
		disp('Running waveleted... Please wait a moment')
		eval('waveleted');
	else
		disp(' ')
		disp('WAVELETED is an interactive waveleteditor.')
		disp('It provides the ability to create new wavelets from theory')
		disp('to model simple impulsive or vibroseis sources or to import')
		disp('a wavelet from an ASCII flat file. Existing wavelets can be')
		disp('altered in a variety of ways including phase rotation,')
		disp('inversion, ghosting, minimum or zero phasing etc.')
		disp('For more information or personal instruction call Gary')
		disp('Margrave @ 5393')
		disp(' ')
	end

	return;

end
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -