📄 guiparfssfig3.m
字号:
function guiparFSSFig3(varargin)% GUIPARFSSFIG3.m -- Figure 3 of the paper "Fast Slant Stack"% Usage: GUIPARFSSFIG3 will start a new figure window and plot Figure 3 of Slant Stack Paper.% GUIPARFSSFIG3(n) for any argument type n will plot the figure on the current figure % window and plot Figure 3 of Slant Stack Paper.if nargin == 0 fig = figure; fs = 8; %default font size clf reset; set(fig, 'pos',[100 200 672 504],'Name', 'FSS Figure3 : Shearing of an Image', 'NumberTitle', 'off'); set(fig,'doublebuffer','on','userdata',1); txt = strvcat('Shearing of an Image, m = 2n.', ... ' ', ... ' ', ... 'Plese choose the parameters: ',... 'ell : the slope', ... 'name : the name of the image.',... 'For example, ell = 29, name = Lincoln'); uicontrol( ... 'tag', 'Instruction_text', ... 'style', 'text', ... 'units', 'normal', ... 'position', [.2 .1 .4 .5], ... 'string', txt, ... 'backgroundcolor', [.8 .8 .8], ... 'fontsize', fs); uicontrol( ... 'tag','ellrange_text', ... 'style','text', ... 'units','normal', ... 'position', [.85 .82, .12 .06], ... 'string','slant parameter', ... 'backgroundcolor', [0.8 0.8 0.8],... 'fontsize',fs); uicontrol( ... 'tag','ellRange', ... 'style','list', ... 'units','normal', ... 'position', [.85 .50 .12 .30], ... 'string',{num2str([0:5:60]')}, ... 'backgroundcolor',[0.8 0.8 0.8], ... 'fontsize',fs, ... 'callback', 'guiparFSSFig3(''ellRange_Callback'')'); uicontrol( ... 'tag','lincoln_pushbutton', ... 'style','pushbutton', ... 'units','normal', ... 'position', [.85 .32 .12 .07], ... 'string','Lincoln' , ... 'fontsize',fs, ... 'callback','guiparFSSFig3(''lincoln_pushbutton_Callback'')'); uicontrol( ... 'tag','lenna_pushbutton', ... 'style','pushbutton', ... 'units','normal', ... 'position', [.85 .24 .12 .07], ... 'string','Lenna' , ... 'fontsize',fs, ... 'callback', 'guiparFSSFig3(''lenna_pushbutton_Callback'')'); uicontrol( ... 'tag', 'close_pushbutton', ... 'style','pushbutton', ... 'units','normal', ... 'position', [.85 .08 .12 .07], ... 'string','Close', ... 'fontsize',fs, ... 'callback','close all'); if nargout > 0 varargout{1} = fig; endelseif ischar(varargin{1}) % INVOKE NAMED SUBFUNCTION OR CALLBACK try if (nargout) [varargout{1:nargout}] = feval(varargin{:}); % FEVAL switchyard else feval(varargin{:}); % FEVAL switchyard end catch disp(lasterr); endend% --------------------------------------------------------------------function lincoln_pushbutton_Callbackell = ellRange_Callback;FSSFig3('Lincoln', ell);smartset;% --------------------------------------------------------------------function lenna_pushbutton_Callbackell=ellRange_Callback;FSSFig3('Lenna', ell);smartset;% --------------------------------------------------------------------function ell = ellRange_Callbackhandles = guihandles(gcf);ellInd = get(handles.ellRange, 'Value');ellRan = get(handles.ellRange, 'String');ell = str2double(ellRan(ellInd));%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function FSSFig3(name, ell)%------------------------------------------% to supress the output text by ReadImage.mglobal WLVERBOSE %set by BeamPath.mWLVERBOSE = 'No';%------------------------------------------Img = ReadImage(name);n1=size(Img, 2);n2=2*n1;theta = ell/n2*pi;BigImg = zeros(n2,n1);BigImg((n1+1 - (n1/2)):(n1+ n1/2),:) = Img;ExactShift = zeros(n2,n1);for i=1:n1, vshift = Shift1dSignal(BigImg(:,i),(i-n1/2-1).*sin(theta)); ExactShift(:,i) = real(vshift(:));endgcf;subplot(1,2,1);imagesc(BigImg);axis('image')title('Image Embedded in Zeros')colormap(gray)subplot(1,2,2);imagesc(ExactShift);axis('image')title(sprintf('Image Sheared %f radians; m= 2n',theta))colormap(gray)%------------------WLVERBOSE = 'Yes';%------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function smartsetchd = get(gcf, 'Children');set(chd(length(chd)), 'Visible', 'off');fs = 7;set(chd(1), 'Position', [.5 .1 .25 .8], 'FontSize', fs);set(get(chd(1), 'Title'), 'FontSize', fs);set(chd(2), 'Position', [.1 .1 .25 .8], 'FontSize', fs);set(get(chd(2), 'Title'), 'FontSize', fs);%% Part of BeamLab Version:200% Built:Friday,23-Aug-2002 00:00:00% This is Copyrighted Material% For Copying permissions see COPYING.m% Comments? e-mail beamlab@stat.stanford.edu%%% Part of BeamLab Version:200% Built:Saturday,14-Sep-2002 00:00:00% This is Copyrighted Material% For Copying permissions see COPYING.m% Comments? e-mail beamlab@stat.stanford.edu%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -