📄 specifyfilter_loadpicture.m
字号:
function SpecifyFilter_LoadPicture(handles)
% SpecifyFilter_LoadPicture is a subfile of the AnalogFilter GUI collection
%
% James C. Squire, 2002
% Assistant Professor, Virginia Military Institute
% ver 1.0
% SpecifyFilter_LoadPicture loads an image into GuiSpecifyFilter's axis
% load FilterIcons.mat
persistent FilterPictures
if isempty(FilterPictures) % load the compressed picture matrix
t=load('FilterPictures.mat');
FilterPictures = t.strGraphic;
end
% determine the current filter purpose, type, and order
vsPurpose = get(handles.uipmPurpose,'String');
iPurpose = get(handles.uipmPurpose,'Value');
sPurpose = vsPurpose{iPurpose};
vsType = get(handles.uipmType,'String');
iType = get(handles.uipmType,'Value');
sType = vsType{iType};
nOrder = get(handles.uipmOrder,'Value');
% choose the current image and colormap
switch sType
case 'Bessel'
switch sPurpose
case 'Lowpass'
curImage = FilterPictures.LPBE.x;
curCMap = FilterPictures.LPBE.map;
case 'Highpass'
curImage = FilterPictures.HPBE.x;
curCMap = FilterPictures.HPBE.map;
otherwise
error(['Bad purpose of Bessel filter in ' mfilename])
end
case 'Butterworth'
switch sPurpose
case 'Lowpass'
curImage = FilterPictures.LPBU.x;
curCMap = FilterPictures.LPBU.map;
case 'Highpass'
curImage = FilterPictures.HPBU.x;
curCMap = FilterPictures.HPBU.map;
otherwise
error(['Bad purpose of Butterworth filter in ' mfilename])
end
case 'Chebychev I'
switch sPurpose
case 'Lowpass'
if mod(nOrder,2) % if is odd
curImage = FilterPictures.LPC1O.x;
curCMap = FilterPictures.LPC1O.map;
else % is even
curImage = FilterPictures.LPC1E.x;
curCMap = FilterPictures.LPC1E.map;
end
case 'Highpass'
if mod(nOrder,2) % if is odd
curImage = FilterPictures.HPC1O.x;
curCMap = FilterPictures.HPC1O.map;
else % is even
curImage = FilterPictures.HPC1E.x;
curCMap = FilterPictures.HPC1E.map;
end
otherwise
error(['Bad purpose of Chebychev I filter in ' mfilename])
end
case 'Chebychev II'
switch sPurpose
case 'Lowpass'
if mod(nOrder,2) % if is odd
curImage = FilterPictures.LPC2O.x;
curCMap = FilterPictures.LPC2O.map;
else % is even
curImage = FilterPictures.LPC2E.x;
curCMap = FilterPictures.LPC2E.map;
end
case 'Highpass'
if mod(nOrder,2) % if is odd
curImage = FilterPictures.HPC2O.x;
curCMap = FilterPictures.HPC2O.map;
else % is even
curImage = FilterPictures.HPC2E.x;
curCMap = FilterPictures.HPC2E.map;
end
otherwise
error(['Bad purpose of Chebychev II filter in ' mfilename])
end
case 'Elliptic'
switch sPurpose
case 'Lowpass'
if mod(nOrder,2) % if is odd
curImage = FilterPictures.LPEO.x;
curCMap = FilterPictures.LPEO.map;
else % is even
curImage = FilterPictures.LPEE.x;
curCMap = FilterPictures.LPEE.map;
end
case 'Highpass'
if mod(nOrder,2) % if is odd
curImage = FilterPictures.HPEO.x;
curCMap = FilterPictures.HPEO.map;
else % is even
curImage = FilterPictures.HPEE.x;
curCMap = FilterPictures.HPEE.map;
end
otherwise
error(['Bad purpose of Elliptic filter in ' mfilename])
end
otherwise
error(['Bad type of filter in ' mfilename])
end
% associate the image with the axis
hImage = image(curImage, 'Parent', handles.uiaxImage);
set(handles.figSpecifyFilter, 'Colormap', curCMap);
% fix the display details
set(handles.uiaxImage, ...
'Visible', 'off', ...
'YDir' , 'reverse' , ...
'XLim' , get(hImage,'XData'), ...
'YLim' , get(hImage,'YData') ...
);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -