-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFilter_Notchpass.m
More file actions
55 lines (48 loc) · 2.38 KB
/
Filter_Notchpass.m
File metadata and controls
55 lines (48 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
classdef Filter_Notchpass < AbstractFilter
%FILTER_BandReject Filter that does BandReject filtering in the frequency
%domain
properties
Name = 'Notchpass';
end
methods
function obj = Filter_Notchpass()
% Create settings:
firstSettingName = 'D';
firstSettingDefault = 30; % Value of D should not be negative
firstSettingBounds = [0,Inf];
firstSettingForceInteger = false; % Don't force D to be an integer
firstSettingInclusivity = [false, false]; % D cannot be zero and have an image, it cannot be infinity
obj.Settings(1) = FilterSetting(firstSettingName,...
firstSettingDefault,...
firstSettingBounds,...
firstSettingForceInteger,...
firstSettingInclusivity);
secondSettingName = 'xcenter';
secondSettingDefault = 30;
secondSettingBounds = [-Inf,Inf];
secondSettingForceInteger = false;
secondSettingInclusivity = [false, false];
obj.Settings(2) = FilterSetting(secondSettingName,...
secondSettingDefault,...
secondSettingBounds,...
secondSettingForceInteger,...
secondSettingInclusivity);
thirdSettingName = 'ycenter';
thirdSettingDefault = 30;
thirdSettingBounds = [-Inf, Inf];
thirdSettingForceInteger = false;
thirdSettingInclusivity = [false,false];
obj.Settings(3) = FilterSetting(thirdSettingName,...
thirdSettingDefault,...
thirdSettingBounds,...
thirdSettingForceInteger,...
thirdSettingInclusivity);
end
function img_out = process(obj,img_in,settingValues)
D = settingValues('D');
xcenter= settingValues('xcenter');
ycenter=settingValues('ycenter');
img_out = filterNotchpass(img_in,xcenter,ycenter,D);
end
end
end