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

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

?? dif_stack.m

?? 用matlab語言寫的地震偏移成像軟件集,很有用的東東呵
?? M
字號(hào):
%  DIF_STACK: create a diffraction stack from vrms(x,t) and a ZOS image
%
%  Diffraction stack algorithm with averaging and cosine weighting parameter
%  choices. A version with fewer parameter choices is available as
%  difstack_simp.m
%
%  This function takes in a ZOS exploding reflector image and sums along
%  hyperbolas T^2=T0^2+4x^2/V^2 where V=vrms(x,t) and T0= the time position
%  of the current sample. the output is the migrated stack.
%
%  This code is based upon the algorithm of J. Bancroft pg 4.14 in his book
%  "A Practical Understanding of Pre and Post Stack Migration" (2006)
%
%  [migdata,tsamp,xsamp]=dif_stack(ERM_seis,vrmsmat,dt,dx,params)
%
%  ERM_seis.....the input exploding reflector model
%  vrmsmat......RMS velocities Vrms(x,t) from vz2vt from 2way times
%  dt...........time sample rate (eg.  0.0005)
%  dx...........spatial sample rate(eg.  5)
%               these should co-respond to the values used to build
%               the velocity model and the ZOS image
%
%  migdata......the migrated seismic stack
%  xsamp........is the vector of horizontal grid positions for V(x,t),Vrms(x,t)
%  tsamp........is the vector of timesamples used for V(x,t), Vrms(x,t)
%  params.......a vector of 2 parameter choices for the diffraction stack
%               [params(1),params(2)]
%  params(1)....controls whether or not a weight factor T_0/T is applied to
%               the summed amplitude  = 1 if weighted, = 0 if not(default=1)
%  params(2)....controls whether or not a the sum of the amplitudes is
%               averaged by the number of samples in the arpeture
%               = 1 for averaging, = 0 for no averaging (default =1)
%
%  Zoron Rodriguez, John C. Bancroft,  November 2007
%
% 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

function [migdata,tsamp,xsamp]=dif_stack(seis1,vrmsmat,dt,dx,params)

if(nargin<5)
   params=zeros(1,2);
   params(1)=1; % set default parameter for cosine weighting
   params(2)=1; % set default parameter for
end
if (nargin<4)
  error('Not enough inputs, type help difstack and re-read instructions');
end
[vt,vx]=size(vrmsmat);
[st,sx]=size(seis1);
if ([vt,vx]~=[st,sx])
   error (' RMS velocity matrix must have the same dimensions as the exploding reflector model both in columns (traces) and rows (time samples)')
end

if (params(1)~=1&params(1)~=0)
   error(' choose params(1) as 1 for cosine weighting or 0 for no weighting type help difstack for help')
end
if (params(2)~=1&params(2)~=0)
   error(' choose params(2) as 1 for amplitude averaging or 0 for no averaging type help difstack for help')
end

migdata=zeros(size(vrmsmat));  % creat a storage array for the migrated section
A=sx;   % arperture for sumation
xsamp=dx*(0:vx-1); %return for plotting
tsamp=dt*(0:vt-1); %return for plotting

%%%%%%%%%%%%%%%%%%%%%%%%Migration Loops%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  4 loops, similar in content but differ depending on the choice of
%  averaging and wieghting parameters params(1) and params(2)
%  runs faster this way rather than checking conditions in the loop
%  which runs much slower.  It is better to set the parameters before
%  starting the loop.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if params(1)==1&params(2)==1   %averaging and weighting
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
t_migloop=clock;  %get the current time before migration starts
disp('Migrating data by diffraction stack method')
for t=1:vx      %loop over traces
    t_trace=clock;  % get clock time for the current trace
     for s=1:vt   %loop over samples in the trace
        V=vrmsmat(s,t); % grab the local vrms at that position
        To=s*dt;       %define diffaction apex time
        sum=0;         %initialize sum
        count=0;       % counter for averaging the value of the sum by the number of samples in the sum
        for n=-A:A  % loop over the migration aperture
            x=n*dx; % move out by n steps
            T=sqrt((To)^2+(2*x/V)^2); % calculate the time T at movout x
            m=round(T/dt); % take the floor or ceilling of this point as the time sample position to take
            k=t+n;  %start at the trace + the moveout number of samples
            if (m<vt&k>0&k<=sx) %check bounds
                    W=To/T;    %weight the value of the diffraction point
                sum=sum+W*seis1(m,k);  %cumulative sum
            end
            count=count+1;  % increment the counter of the number of samples  in the sum
        end

            migdata(s,t)=sum/count; %put the sum at the apex of the diffraction and average by the number of samples in the sum
     end
       if (t==1|t==10|rem(t,25)==0)
         t_elapsed=etime(clock,t_migloop); %  get the elapsed time
         disp(['Positions migrated for Trace ', num2str(t), ' of ', num2str(vx), '  total time elapsed is ', num2str(t_elapsed),' seconds with ', num2str((vx/t-1)*t_elapsed),' seconds remaining']);
       end
end

t_elapsed=etime(clock,t_migloop); %  get the elapsed time
disp(['Diffraction stack migration completed in ', num2str(t_elapsed),' seconds']);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if params(1)==0 & params(2)==1    % no weighting but averaging
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
t_migloop=clock;  %get the current time before migration starts
disp('Migrating data by diffraction stack method')
for t=1:vx      %loop over traces
    t_trace=clock;  % get clock time for the current trace
        for s=1:vt   %loop over samples in the trace
        V=vrmsmat(s,t); % grab the local vrms at that position
        To=s*dt;       %define diffaction apex time
        sum=0;         %initialize sum
        count=0;       % counter for averaging the value of the sum by the number of samples in the sum
        for n=-A:A  % loop over the migration aperture
            x=n*dx; % move out by n steps
            T=sqrt((To)^2+(2*x/V)^2); % calculate the time T at movout x
            m=round(T/dt); % take the floor or ceilling of this point as the time sample position to take
            k=t+n;  %start at the trace + the moveout number of samples
            if (m<vt&k>0&k<=sx) %check bounds
                    %W=To/T;    %weight the value of the diffraction point
                    W=1; % no weighting
                    sum=sum+W*seis1(m,k);  %cumulative sum
            end
            count=count+1;  % increment the counter of the number of samples  in the sum
        end

            migdata(s,t)=sum/count; %put the sum at the apex of the diffraction and average by the number of samples in the sum
     end
       if (t==1|t==10|rem(t,25)==0)
         t_elapsed=etime(clock,t_migloop); %  get the elapsed time
         disp(['Positions migrated for Trace ', num2str(t), ' of ', num2str(vx), '  total time elapsed is ', num2str(t_elapsed),' seconds with ', num2str((vx/t-1)*t_elapsed),' seconds remaining']);
       end
end

t_elapsed=etime(clock,t_migloop); %  get the elapsed time
disp(['Diffraction stack migration completed in ', num2str(t_elapsed),' seconds']);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if params(1)==0 & params(2)==0    % no weighting and no averaging
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
t_migloop=clock;  %get the current time before migration starts
disp('Migrating data by diffraction stack method')
for t=1:vx      %loop over traces
    t_trace=clock;  % get clock time for the current trace
        for s=1:vt   %loop over samples in the trace
        V=vrmsmat(s,t); % grab the local vrms at that position
        To=s*dt;       %define diffaction apex time
        sum=0;         %initialize sum
        count=0;       % counter for averaging the value of the sum by the number of samples in the sum
        for n=-A:A  % loop over the migration aperture
            x=n*dx; % move out by n steps
            T=sqrt((To)^2+(2*x/V)^2); % calculate the time T at movout x
            m=round(T/dt); % take the floor or ceilling of this point as the time sample position to take
            k=t+n;  %start at the trace + the moveout number of samples
            if (m<vt&k>0&k<=sx) %check bounds
                %W=To/T;    %weight the value of the diffraction point
                W=1; % no weighting

                sum=sum+W*seis1(m,k);  %cumulative sum
            end
            %count=count+1;  % increment the counter of the number of samples  in the sum
        end

            migdata(s,t)=sum;        %put the sum at the apex of the diffraction
     end
       if (t==1|t==10|rem(t,25)==0)
         t_elapsed=etime(clock,t_migloop); %  get the elapsed time
         disp(['Positions migrated for Trace ', num2str(t), ' of ', num2str(vx), '  total time elapsed is ', num2str(t_elapsed),' seconds with ', num2str((vx/t-1)*t_elapsed),' seconds remaining']);
       end
end

t_elapsed=etime(clock,t_migloop); %  get the elapsed time
disp(['Diffraction stack migration completed in ', num2str(t_elapsed),' seconds']);

end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if params(1)==1 & params(2)==0    %  weighting and no averaging
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
t_migloop=clock;  %get the current time before migration starts
disp('Migrating data by diffraction stack method')
for t=1:vx      %loop over traces
    t_trace=clock;  % get clock time for the current trace
    for s=1:vt   %loop over samples in the trace
        V=vrmsmat(s,t); % grab the local vrms at that position
        To=s*dt;       %define diffaction apex time
        sum=0;         %initialize sum
        count=0;       % counter for averaging the value of the sum by the number of samples in the sum
        for n=-A:A  % loop over the migration aperture
            x=n*dx; % move out by n steps
            T=sqrt((To)^2+(2*x/V)^2); % calculate the time T at movout x
            m=round(T/dt); % take the floor or ceilling of this point as the time sample position to take
            k=t+n;  %start at the trace + the moveout number of samples
            if (m<vt&k>0&k<=sx) %check bounds
                    W=To/T;    %weight the value of the diffraction point
                    %W=1; % no weighting

                    sum=sum+W*seis1(m,k);  %cumulative sum
            end
            %count=count+1;  % increment the counter of the number of samples  in the sum
        end

            migdata(s,t)=sum;        %put the sum at the apex of the diffraction
     end
       if (t==1|t==10|rem(t,25)==0)
         t_elapsed=etime(clock,t_migloop); %  get the elapsed time
         disp(['Positions migrated for Trace ', num2str(t), ' of ', num2str(vx), '  total time elapsed is ', num2str(t_elapsed),' seconds with ', num2str((vx/t-1)*t_elapsed),' seconds remaining']);
       end
end

t_elapsed=etime(clock,t_migloop); %  get the elapsed time
disp(['Diffraction stack migration completed in ', num2str(t_elapsed),' seconds']);

end

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产性做久久久久久| 久久尤物电影视频在线观看| 成人av在线一区二区| 亚洲人成精品久久久久久 | 欧美性色黄大片手机版| 日韩av电影天堂| 国产精品毛片高清在线完整版| 在线免费观看日本欧美| 国产麻豆精品在线| 日韩电影在线免费观看| 国产精品午夜电影| 日韩欧美资源站| 欧美午夜一区二区| www.亚洲色图| 国产一二三精品| 日产国产高清一区二区三区| 国产性色一区二区| 日韩欧美国产小视频| 99精品久久99久久久久| 极品销魂美女一区二区三区| 亚洲欧美另类小说视频| 久久精品在这里| 日韩精品一区二区三区中文不卡| 色婷婷久久久亚洲一区二区三区 | 久久久精品国产免大香伊| 欧美三级电影网| 色婷婷久久综合| 91玉足脚交白嫩脚丫在线播放| 国内精品第一页| 韩国三级在线一区| 久久国产三级精品| 青娱乐精品在线视频| 亚洲成人av一区| 亚洲国产一区二区视频| 国产精品久久久久一区二区三区| 欧美xxxx老人做受| 欧美tickling网站挠脚心| 91久久精品一区二区三区| 不卡视频免费播放| 东方aⅴ免费观看久久av| 精品在线免费观看| 精品一区二区日韩| 久久99精品久久久久久国产越南 | 亚洲亚洲精品在线观看| 亚洲欧美偷拍三级| 亚洲视频电影在线| 亚洲黄网站在线观看| 国产欧美一区视频| 中文字幕av一区二区三区| 久久久久国产一区二区三区四区 | 蜜桃av一区二区三区电影| 日韩精品电影在线| 美女性感视频久久| 久久国产剧场电影| 国产乱子伦视频一区二区三区| 久久se精品一区精品二区| 久久成人免费网站| 福利91精品一区二区三区| 成人高清视频在线| 日本丰满少妇一区二区三区| 99久久99久久精品国产片果冻| 99久久99久久久精品齐齐| 91性感美女视频| 欧美天堂亚洲电影院在线播放| 欧美无砖专区一中文字| 欧美日本一区二区在线观看| 欧美精品久久久久久久久老牛影院 | 亚洲精品国产无天堂网2021| √…a在线天堂一区| 又紧又大又爽精品一区二区| 亚洲欧美另类小说视频| 亚洲国产精品尤物yw在线观看| 日本不卡一二三| 国产电影一区二区三区| a在线欧美一区| 欧美精品丝袜中出| 久久精品这里都是精品| 亚洲欧美aⅴ...| 久久国产精品色| av成人免费在线观看| 欧美影院一区二区| 久久婷婷国产综合国色天香| 久久久久久黄色| 亚洲成av人影院| 国产麻豆欧美日韩一区| 色诱亚洲精品久久久久久| 777久久久精品| 亚洲欧美在线观看| 日韩中文字幕麻豆| 不卡的av电影| 欧美tickling网站挠脚心| 一区在线播放视频| 激情综合色丁香一区二区| 91在线国产观看| 欧美成人精精品一区二区频| 中文字幕的久久| 日本强好片久久久久久aaa| 国产91露脸合集magnet| 欧美性高清videossexo| 久久天堂av综合合色蜜桃网| 国产精品免费视频网站| 日韩不卡在线观看日韩不卡视频| 成人免费高清在线| 日韩精品专区在线影院重磅| 国产精品成人免费在线| 青青青伊人色综合久久| 一道本成人在线| 国产欧美日韩中文久久| 日韩高清一级片| 欧美系列一区二区| 中文字幕中文字幕一区二区| 日韩中文欧美在线| 在线观看一区二区精品视频| 久久亚洲综合色| 老司机精品视频一区二区三区| 91在线播放网址| 欧美激情一二三区| 精品一区二区免费在线观看| 欧日韩精品视频| 18涩涩午夜精品.www| 国产精品自拍一区| 日韩视频在线你懂得| 依依成人综合视频| 972aa.com艺术欧美| 久久亚洲一区二区三区明星换脸| 亚洲成人av中文| 欧美日韩精品一区二区三区| 中文字幕免费在线观看视频一区| 精品亚洲porn| 精品成人一区二区三区| 蜜臀av性久久久久av蜜臀妖精 | caoporn国产精品| 国产精品三级av| av网站一区二区三区| 欧美国产视频在线| 丁香六月综合激情| 国产精品美女久久久久aⅴ | 精品1区2区3区| 悠悠色在线精品| 欧美日韩免费视频| 天天av天天翘天天综合网| 91成人免费网站| 五月婷婷激情综合| 69成人精品免费视频| 日韩综合一区二区| 日韩午夜在线观看| 国产在线视频一区二区三区| 欧美一级日韩免费不卡| 毛片av一区二区| 国产视频一区二区在线| 国产精品一级片在线观看| 26uuu国产电影一区二区| 久久99热国产| 国产精品丝袜在线| 在线精品视频一区二区| 亚洲成av人综合在线观看| 欧美猛男超大videosgay| 午夜欧美一区二区三区在线播放| 欧美丰满少妇xxxbbb| 久久国产尿小便嘘嘘| 国产午夜三级一区二区三| 国产69精品久久久久777| 国产精品久久久久一区| 色悠悠亚洲一区二区| 午夜影视日本亚洲欧洲精品| 欧美疯狂做受xxxx富婆| 精品一区二区在线观看| 日本一区二区成人| 在线免费观看日本一区| 日韩专区在线视频| 国产网红主播福利一区二区| 国产精品伊人色| 亚洲美女一区二区三区| 制服丝袜激情欧洲亚洲| 国产主播一区二区| 亚洲在线中文字幕| 久久综合九色综合97婷婷| 成人福利在线看| 午夜久久电影网| 欧美激情一区二区三区全黄| gogo大胆日本视频一区| 五月激情综合婷婷| 国产亚洲欧洲一区高清在线观看| 97久久超碰国产精品| 一区二区三区日本| 精品免费一区二区三区| 99精品久久久久久| 精品一区二区三区欧美| 亚洲天堂免费看| 精品噜噜噜噜久久久久久久久试看| 成人免费高清在线观看| 天天影视网天天综合色在线播放| 久久久久久一二三区| 在线观看亚洲一区| 成人综合日日夜夜| 精品一区在线看| 午夜不卡av免费| 亚洲人123区| 欧美国产精品v| 337p日本欧洲亚洲大胆精品|