亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? kirk_mig.m

?? 地震中常用的一些偏移程序
?? M
字號:
function [arymig,tmig,xmig]=kirk_mig2(aryin,aryvel,dt,dx,params)
% KIRK_MIG2: full-featured Kirchhoff time migration
% 
% [arymig,tmig,xmig]=kirk_mig(aryin,aryvel,t,x,params)
%
% KIRK_MIG is a kirchhoff time migration routine.
%
% aryin ... matrix of zero offset data. One trace per column.
% aryvel ... velocity information. The are 3 possibilities:
%            1) if a scalar, then a constant velocity migration with
%               velocity=aryvel is performed.
%            2) if a vector, then it must be the same length as the number
%               of rows in aryin. In this case it is assumed to be an rms 
%               velocity function (of time) which is applied at all positions
%               along the section.
%            3) if a matrix, then it must be the same size as aryin. Here it
%               is assumed to give the rms velocity for each sample location.
% t ... if a scalar, this is the time sample rate in SECONDS.
%       If a vector, it gives the time coordinates for the rows of aryin.
% x ... if a scalar, this is the spatial sample rate (in units 
%       consistent with the velocity information. If a vector, then
%       it gives the x coordinates of the columns of aryin
%
% params ... vector of migration parameters
%
%    params(1--3) : migration aperture and its taper
%    params(1) ... physical length aperture
%	          default is the length of the section in length
%    params(2) ... width of the aperture taper
%                 default is 0.05*params(1)
%    params(3) ... = 0, linear taper
%                     = 1, cosine taper   
%                 default is 1 (cosine taper)
%    params(4-6) : angle limit in degree
%    params(4) ... maximum dip limte
%                 default = 60
%    params(5) ... width of angle limit taper
%                 default = 0.15*params(4)
%    params(6) ... taper type:
%                     = 0: linear taper;
%                     = 1: cosine taper.
%                 default = 1.
%    params(7) : relative to sample interpolation
%    params(7) ... = 1, linear interpolation
%                     = 2, cubic interpolation
%                     = 3, spline interpolation
%                     = 4, sinc interpolation
%                 default = 1
%    params(8--11) : relative to migration target window
%	 params(8) ... tmin of migration target window
%	          default = 0.0 
%	 params(9) ... tmax of migration target window
%	          default is maximum input time 
%    params(10) ... xm target window
%	          default is the minimum input coordinate 
%    params(11) ... xmax of migration target window
%	          default is the maximum input coordinate 
%
%    params(12) : box-car anti-aliasing filter
%    params(12) ... = 0, no box-car filter used;
%                      = 1, box-car filter will be used.
%                 default is 0.
%
% OUTPUT argument
%
%    arymig ... the output migrated time section
%    tmig ... t coordinates of migrated data
%    xmig ... x coordinates of migrated data
%
% By Xinxiang Li, modified from kirk.m by Dr. G.F. Margrave
% CREWES Project, U of Calgary, 1996
%
% NOTE: It is illegal for you to use this software for a purpose other
% than non-profit education or research UNLESS you are employed by a CREWES
% Project sponsor. By using this software, you are agreeing to the terms
% detailed in this software's Matlab source file.
 
% BEGIN TERMS OF USE LICENSE
%
% This SOFTWARE is maintained by the CREWES Project at the Department
% of Geology and Geophysics of the University of Calgary, Calgary,
% Alberta, Canada.  The copyright and ownership is jointly held by 
% its author (identified above) and the CREWES Project.  The CREWES 
% project may be contacted via email at:  crewesinfo@crewes.org
% 
% The term 'SOFTWARE' refers to the Matlab source code, translations to
% any other computer language, or object code
%
% Terms of use of this SOFTWARE
%
% 1) Use of this SOFTWARE by any for-profit commercial organization is
%    expressly forbidden unless said organization is a CREWES Project
%    Sponsor.
%
% 2) A CREWES Project sponsor may use this SOFTWARE under the terms of the 
%    CREWES Project Sponsorship agreement.
%
% 3) A student or employee of a non-profit educational institution may 
%    use this SOFTWARE subject to the following terms and conditions:
%    - this SOFTWARE is for teaching or research purposes only.
%    - this SOFTWARE may be distributed to other students or researchers 
%      provided that these license terms are included.
%    - reselling the SOFTWARE, or including it or any portion of it, in any
%      software that will be resold is expressly forbidden.
%    - transfering the SOFTWARE in any form to a commercial firm or any 
%      other for-profit organization is expressly forbidden.
%
% END TERMS OF USE LICENSE


<<<<<<< kirk_mig.m
=======
%flops(0);
>>>>>>> 1.4
%tstart=clock;
[nsamp,ntr]=size(aryin);
[nvsamp,nvtr]=size(aryvel);

% check the validity input arguments

%  ---- check dt  ----
if(length(dt)>1)
	if(length(dt)~=nsamp)
		error('Incorrect time specification')
	end
	t=dt(:);
	[nrow,nvol] = size(t) ;
	if nrow < nvol
		t = t' ;
	end
	dt=t(2)-t(1);
else
 t=((0:nsamp-1)*dt)';
end

%  ---- checck dx ----
if(length(dx)>1)
	if(length(dx)~=ntr)
		error('Incorrect x specification')
	end
	x=dx;
	[nrow,nvol] = size(x) ;
	if nrow > nvol
		x = x' ;
	end
	dx=x(2)-x(1);
else
 x=(0:ntr-1)*dx;
end

%  ---- test velocity info ----

if( nvsamp==1 & nvtr==1)
    aryvel=aryvel*ones(nsamp,ntr);	
elseif(nvsamp==1 | nvtr==1)
	%might be transposed vector
	if(nvtr==nsamp)
		aryvel=aryvel';
        [nvsamp,nvtr]=size(aryvel);
    elseif(nvsamp~=nsamp)
		error('Velocity vector is wrong size');
    end
	%make velocity matrix
	aryvel=aryvel*ones(1,ntr);
else
	if(nvsamp~=nsamp)
		error('Velocity matrix has wrong number of rows');
	elseif(ntr~=nvtr)
		error('Velocity matrix has wrong number of columns');
	end
end
%
%ok, we now have a velocity matrix the same size as the data matrix
%

%  ---- examine parameters ----
nparams=12; 				% number of defined parameters
					
if(nargin<5) 				% no parameters inputted
	params= nan*ones(1,nparams); 
end 	 	

if(length(params)<nparams) 
	params = [params nan*ones(1,nparams-length(params))];
end

%assign parameter defaults

if( isnan(params(1)) ) 
	aper = abs(max(x)-min(x));
else
        aper = params(1);
end

if( isnan(params(2)) )
		width1 = aper/20;
else
		width1 = params(2);
end

if( isnan(params(3)) )
		itaper1 = 1;
else
		itaper1 = params(3);
end

if( isnan(params(4)) )
	ang_limit = pi/3;
else
	ang_limit = params(4)*pi/180;
end

if( isnan(params(5)) )
	width2 = 0.15*ang_limit;
else
	width2 = params(5)*pi/180;
end
angle1 = ang_limit + width2;

if( isnan(params(6)) )
	itaper2 = 1;
else
	itaper2 = params(6);
end
if itaper2 ~= 1 & itaper2 ~= 0
	error('the angle limit taper type: params(6) should be 0 and 1 !');
end

if( isnan(params(7)) )
	interp_type = 1;
else
	interp_type = params(7);
end
if interp_type < 1 | interp_type > 4
	error('the interpolation indexx paarams(7) should be 1, 2, 3 and 4 !');
end

if( isnan(params(8)) ) 
		tmig1 = min(t);
else
		tmig1 = params(8);
end

if( isnan(params(9)) ) 
		tmig2 = max(t);
else
		tmig2 = params(9);
end
if tmig2 < tmig1
	error('the target time window start time should be smaller than the end time !');
	error('i.e. paraams(8) < params(9)');
end

if( isnan(params(10)) ) 
		xmig1 = min(x);
else
		xmig1 = params(10);
end
if( isnan(params(11)) ) 
		xmig2 = max(x);
else
		xmig2 = params(11);
end
if xmig2 < xmig1
 	error('the start location of target trace range should be prerior to the end location');
	error('i.e. params(10) < params(11)');
end

if( isnan(params(12)) )
		ibcfilter = 0;
else
		ibcfilter = params(12);
end

if ibcfilter 
	% get a cumulative array from aryin
	arycum=cumsum(aryin);



end
	

%aperture in traces and the taper coefficient
traper0 = .5*aper/dx;
traper1 = width1/dx;
traper = round(traper0+traper1);
if itaper1 == 0
	coef1 = lin_taper(traper0,traper0+traper1);
else
	coef1 = cos_taper(traper0,traper0+traper1);
end

%one way time
dt1=.5*dt;
t1=t/2;
t2= t1.^2;

%compute maximum time needed
vmin=min(min(aryvel));
vmax=max(max(aryvel));
tmax=sqrt( .25*tmig2^2 + ((.5*aper+width1)/vmin)^2);

%pad input to tmaxin
npad=ceil(tmax/dt1)-nsamp+5;
if( npad > 0)
	aryin= [aryin; zeros(npad,ntr)];
	t1 = [t1',(nsamp+1:nsamp+npad)*dt1]';
	if ibcfilter
		for j=1:npad
			arycum=[arycum; arycum(nsamp,:)];
		end
	end
end

%output samples targeted
samptarget=near(t,tmig1,tmig2);
tmig=t(samptarget);

%output traces desired
trtarget= near(x,xmig1,xmig2);
xmig=x(trtarget);

%initialize output array
arymig=zeros(length(samptarget),length(trtarget));

%loop over migrated traces
%
kmig=0;

disp([' ']);
disp([' --- Total number of traces to be migrated : ' int2str(length(trtarget)) ' ---']);
disp([' ']);

<<<<<<< kirk_mig.m
=======
%flops1=flops;
>>>>>>> 1.4
clock1=clock;

for ktr=trtarget 			% ktr--the location of output trace
	kmig=kmig+1; 			% numerator

	%determine traces in aperture
	n1=max([1 ktr-traper]);
	n2=min([ntr ktr+traper]);
	truse=n1:n2;

	%offsets and velocity 
	offset2=((truse-ktr)*dx).^2;
	v2 = aryvel(:,ktr).^2;
	
	% loop over traces in aperture
    if(rem(kmig,20)==0)
	    disp([' Migrated trace no.' ,int2str(kmig) ,' of ' int2str(length(trtarget)) ', The traces in aperture : ' ,int2str(length(truse))]);
    end
	for kaper=1:length(truse)
	
		% offset times
		t_aper = sqrt( offset2(kaper)./v2(samptarget) + t2(samptarget) );

		%cosine theta amplitude correction
		if truse(kaper) == ktr
			costheta = ones(size(samptarget'));
			tanalpha = zeros(size(samptarget'));
		else
			costheta = 0.5*tmig./t_aper;
			tanalpha = sqrt(1-costheta.^2);
					
			%angle limit and the taper
		
			ind = find( costheta < cos(angle1) );
			i1 = ind(length(ind));
			ind = find( costheta < cos(ang_limit) );
			i2 = ind(length(ind));
		
			if i1 < i2
			        if itaper2  ==  0
					coef2 = lin_taper(i2,i1);
				else
					coef2 = cos_taper(i2,i1);
				end
				costheta(1:i1) = zeros(i1,1);
				costheta(i1+1:i2) = coef2(i2-i1:-1:1)'.*costheta(i1+1:i2);
			end
		end
	
		% boxcar anti-aliasing filter
		if ibcfilter
			lt0=round((dx*tanalpha./aryvel(samptarget,ktr)/dt1));
			indt = round((t_aper/dt1))+1;
			lentr = nsamp+npad;
			lt = ones(lentr,1)*max(lt0);
			lt(indt)=lt0;
			lt(max(indt)+1:lentr) = ones(lentr-max(indt),1)*min(lt0);
			it = (1:lentr)';
			l1=it-lt-1;
			l2=it+lt;
			ind = find(l1 < 1);
			l1(ind) = ones(length(ind),1);
			ind = find(l2> lentr);
			l2(ind)=ones(length(ind),1)*lentr;
			tmp0=t1;
			tmp0(1) = arycum(1,truse(kaper));
			ind = 2:lentr;
			tmp0(ind) = (arycum(l2(ind),truse(kaper))-arycum(l1(ind),truse(kaper)))...
				    ./(l2(ind)-l1(ind));
		else
			tmp0 = aryin(:,truse(kaper));
		end	

		%interpolation
		% Linear
		if interp_type == 1
			tnumber = t_aper/dt1;
			it0 = floor( tnumber ) + 1;
			it1 = it0+1; 
			xt0 = tnumber - it0 + 1;
			xt1 = it0-tnumber;
			tmp = xt1.*tmp0(it0)+xt0.*tmp0(it1);
		end
		% Spline
		if interp_type == 2
			tmp = interp1(t1,tmp0,t_aper,'spline');
		end
		% Cubic
		if interp_type == 3
			tmp = interp1(t1,tmp0,t_aper,'cubic');
		end
		% Sinc
		if interp_type == 4
			tmp = sinci(tmp0,t1,t_aper);
		end

		% aperture taper
		ccoef = 1. ;
		if abs(truse(kaper)-ktr)*dx > 0.5*aper
			ccoef = coef1( round(abs(truse(kaper)-ktr)-traper0) );
		end
		if abs(1-ccoef) > 0.05
			tmp = tmp .* ccoef;
		end
		
		ind = find( costheta < 0.999);
		costheta(ind) = sqrt(costheta(ind).^3);
		tmp(ind) = tmp(ind) .* costheta(ind);

		arymig(:,kmig)= arymig(:,kmig)+tmp;
		
	end
	
	% scaling and 45 degree phase shift
	scalemig = aryvel(samptarget,kmig).*sqrt(pi.*(tmig+0.0001)) ;
	arymig(:,kmig) = arymig(:,kmig)./scalemig ;

end

% 45 degree phase shift
arymig = conv45(arymig);
<<<<<<< kirk_mig.m
=======
%flops2=flops;
>>>>>>> 1.4
runtime=etime(clock,clock1);

<<<<<<< kirk_mig.m
=======

%disp(['Total floating operation2 --' int2str(flops2-flops1)]);
>>>>>>> 1.4
disp(['Total run time --' int2str(runtime)]);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久蜜桃av一区二区天堂| 精品国产3级a| 国产一区高清在线| 一区二区三区四区中文字幕| 久久先锋影音av鲁色资源网| 在线日韩av片| 菠萝蜜视频在线观看一区| 久久激五月天综合精品| 一区二区三区欧美日| 国产日产精品1区| 91精品中文字幕一区二区三区| 成人毛片视频在线观看| 韩国av一区二区三区四区| 亚洲一区中文日韩| 中文字幕一区二区三区不卡在线| 日韩欧美的一区二区| 欧美三级日韩三级| 色综合久久久久久久| 国产91精品一区二区麻豆网站| 午夜激情久久久| 亚洲精品高清在线| 中文字幕在线视频一区| 久久久激情视频| 欧美成人a在线| 日韩你懂的在线观看| 欧美日产国产精品| 欧美色综合天天久久综合精品| av成人免费在线| 成人激情动漫在线观看| 韩国精品主播一区二区在线观看 | 日本一区二区综合亚洲| 精品国产乱码久久| 日韩精品一区二区在线| 91精品国产综合久久精品图片| 欧美色国产精品| 欧美在线视频全部完| 在线免费观看视频一区| 色综合久久久久综合体桃花网| 99国产精品视频免费观看| 成人激情综合网站| av一区二区三区四区| 成人精品一区二区三区中文字幕| 国产精品亚洲人在线观看| 国产一区二区三区香蕉| 久久aⅴ国产欧美74aaa| 国产一区不卡视频| 国产成人精品在线看| a亚洲天堂av| 日本韩国一区二区三区视频| 在线看日韩精品电影| 欧美人牲a欧美精品| 日韩一区二区三区高清免费看看| 日韩一级大片在线观看| 亚洲精品在线免费观看视频| 久久综合久久综合久久综合| 欧美激情中文不卡| 亚洲特级片在线| 午夜av一区二区三区| 久久精工是国产品牌吗| 国产高清在线精品| 色狠狠av一区二区三区| 欧美日韩一区国产| 欧美大白屁股肥臀xxxxxx| 久久综合网色—综合色88| 国产精品成人免费在线| 亚洲成人免费在线观看| 精品一区二区三区欧美| 成人激情av网| 欧美日韩国产一二三| 精品国产91亚洲一区二区三区婷婷| 国产三级一区二区三区| 一区二区在线观看视频在线观看| 婷婷国产v国产偷v亚洲高清| 国产呦萝稀缺另类资源| 99视频精品在线| 911国产精品| 国产精品无人区| 97精品电影院| 欧美日韩成人一区| 日本一区二区三区国色天香| 亚洲曰韩产成在线| 久久电影国产免费久久电影 | 在线一区二区三区四区五区| 67194成人在线观看| 中文字幕不卡三区| 丝袜美腿一区二区三区| 国产精品1区二区.| 欧美精品v国产精品v日韩精品| 久久久精品人体av艺术| 亚洲一二三四在线| 国产成人av一区| 欧美一级一区二区| 综合电影一区二区三区 | 成人精品高清在线| 日韩一二三四区| 一区二区三区鲁丝不卡| 国产精品白丝jk黑袜喷水| 欧美伦理电影网| 亚洲欧美日韩国产成人精品影院| 九九国产精品视频| 欧美午夜电影一区| 中文字幕中文乱码欧美一区二区| 久久se精品一区精品二区| 欧美三级午夜理伦三级中视频| 国产精品天美传媒沈樵| 国内精品伊人久久久久影院对白| 欧美色图天堂网| 国产精品夫妻自拍| 国产精品99久久久久久有的能看| 8x8x8国产精品| 亚洲一区二区三区视频在线播放| 国产·精品毛片| 精品国产成人在线影院| 视频一区视频二区在线观看| 色天天综合久久久久综合片| 国产精品麻豆欧美日韩ww| 国产一区二区不卡老阿姨| 欧美大胆一级视频| 蜜臀精品久久久久久蜜臀| 欧美日韩国产综合视频在线观看| 亚洲欧洲中文日韩久久av乱码| 国产成人精品在线看| 久久久久久久久99精品| 狠狠网亚洲精品| 欧美精品一区二区在线播放| 捆绑变态av一区二区三区| 91精品国产综合久久福利软件 | 亚洲成人资源在线| 精品视频一区三区九区| 亚洲一区二区三区不卡国产欧美| 99精品视频免费在线观看| 中文字幕av一区二区三区免费看| 国产成人午夜99999| 亚洲国产精品黑人久久久| 国产不卡在线播放| 亚洲国产成人午夜在线一区| 国产99久久久国产精品潘金网站| 国产亚洲综合在线| 国产凹凸在线观看一区二区| 国产无人区一区二区三区| 国产福利视频一区二区三区| 国产清纯白嫩初高生在线观看91| 国产+成+人+亚洲欧洲自线| 国产精品久久久久久久岛一牛影视| 福利视频网站一区二区三区| 欧美国产禁国产网站cc| 不卡欧美aaaaa| 亚洲精品成人精品456| 在线观看免费一区| 蜜桃视频一区二区三区在线观看 | 亚洲国产日韩精品| 欧美美女视频在线观看| 久久国产精品99久久久久久老狼| 欧美成人精品福利| 国产电影一区在线| 亚洲精品国产a| 欧美一区二区三区性视频| 奇米影视一区二区三区| 2020日本不卡一区二区视频| www.日韩在线| 亚洲综合色噜噜狠狠| 日韩欧美成人激情| 成人综合激情网| 伊人色综合久久天天| 日韩欧美一区二区免费| 韩国视频一区二区| 亚洲精品成a人| 日韩欧美一级特黄在线播放| 成人综合在线观看| 亚洲777理论| 久久久精品国产免大香伊| 91论坛在线播放| 蜜桃视频在线观看一区二区| 国产精品美女久久久久高潮| 欧美日韩国产一区| 国产河南妇女毛片精品久久久 | 老鸭窝一区二区久久精品| 国产精品色眯眯| 91精品国产综合久久久蜜臀图片| 国产精品一区二区不卡| 亚洲亚洲人成综合网络| 久久久久99精品国产片| 91福利在线播放| 国产一区二三区| 五月天中文字幕一区二区| 久久毛片高清国产| 欧美日韩三级一区| 国产69精品久久久久毛片| 日本不卡视频在线| 国产精品成人一区二区三区夜夜夜| 日韩一区二区三区四区 | 精品国产不卡一区二区三区| 91啪亚洲精品| 激情欧美日韩一区二区| 亚洲成国产人片在线观看| 日本一区二区成人| 26uuu另类欧美| 欧美一区二区黄色| 在线免费不卡视频| 成人av电影观看|