You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.6 KiB
Matlab
103 lines
2.6 KiB
Matlab
function V1_redundancy_reduction(I)
|
|
crop=0;
|
|
iterations=12;
|
|
node1=1;
|
|
node2=5;
|
|
shift1=2;
|
|
shift2=6;
|
|
[wFFon,wFFoff]=dim_conv_V1_filter_definitions;
|
|
|
|
[Ion,Ioff]=preprocess_image(I);
|
|
|
|
figdown=2;
|
|
figacross=3;
|
|
|
|
clf
|
|
[a,b]=size(Ion);
|
|
|
|
|
|
%RESPONSE TO GABOR FILTERS
|
|
g1=wFFon(:,:,node1)-wFFoff(:,:,node1);
|
|
g2=wFFon(:,:,node2)-wFFoff(:,:,node2);
|
|
|
|
%record responses of filters at same orientation, different location
|
|
ynode1=conv2(I,g1,'valid');
|
|
ynode2=ynode1(shift1:size(ynode1,1),:);
|
|
ynode1=ynode1(1:size(ynode1,1)-shift1+1,:);
|
|
subplot(figdown,figacross,1)
|
|
plot_joint_histogram(ynode1(:),ynode2(:));
|
|
|
|
%record responses of filters at same orientation, different location
|
|
ynode1=conv2(I,g1,'valid');
|
|
ynode2=ynode1(shift2:size(ynode1,1),:);
|
|
ynode1=ynode1(1:size(ynode1,1)-shift2+1,:);
|
|
subplot(figdown,figacross,2)
|
|
plot_joint_histogram(ynode1(:),ynode2(:));
|
|
|
|
%record responses of filters at same location, different orientation
|
|
ynode1=conv2(I,g1,'valid');
|
|
ynode2=conv2(I,g2,'valid');
|
|
subplot(figdown,figacross,3)
|
|
plot_joint_histogram(ynode1(:),ynode2(:));
|
|
|
|
|
|
%RESPONSE OF DIM NETWORK
|
|
|
|
%initial dim response without competition
|
|
y=dim_conv_on_and_off(wFFon,wFFoff,Ion,Ioff,1);
|
|
|
|
%record responses of filters at same orientation, different location
|
|
ynode1=y(1:a-shift1+1,:,node1);
|
|
ynode2=y(shift1:a,:,node1);
|
|
subplot(figdown,figacross,1)
|
|
plot_joint_histogram(ynode1(:),ynode2(:));
|
|
|
|
%record responses of filters at same orientation, different location
|
|
ynode1=y(1:a-shift2+1,:,node1);
|
|
ynode2=y(shift2:a,:,node1);
|
|
subplot(figdown,figacross,2)
|
|
plot_joint_histogram(ynode1(:),ynode2(:));
|
|
|
|
%record responses of filters at same location, different orientation
|
|
ynode1=y(:,:,node1);
|
|
ynode2=y(:,:,node2);
|
|
subplot(figdown,figacross,3)
|
|
plot_joint_histogram(ynode1(:),ynode2(:));
|
|
|
|
|
|
%perform competition
|
|
y=dim_conv_on_and_off(wFFon,wFFoff,Ion,Ioff,iterations);
|
|
|
|
%record responses of filters at same orientation, different location
|
|
ynode1=y(1:a-shift1+1,:,node1);
|
|
ynode2=y(shift1:a,:,node1);
|
|
subplot(figdown,figacross,4)
|
|
H=plot_joint_histogram(ynode1(:),ynode2(:));
|
|
%subplot(figdown,figacross,4);
|
|
%H(15,:)=0;
|
|
%imagesc(H);
|
|
|
|
%record responses of filters at same orientation, different location
|
|
ynode1=y(1:a-shift2+1,:,node1);
|
|
ynode2=y(shift2:a,:,node1);
|
|
subplot(figdown,figacross,5)
|
|
H=plot_joint_histogram(ynode1(:),ynode2(:));
|
|
%subplot(figdown,figacross,8);
|
|
%H(15,:)=0;
|
|
%imagesc(H);
|
|
|
|
%record responses of filters at same location, different orientation
|
|
ynode1=y(:,:,node1);
|
|
ynode2=y(:,:,node2);
|
|
subplot(figdown,figacross,6)
|
|
H=plot_joint_histogram(ynode1(:),ynode2(:));
|
|
%subplot(figdown,figacross,12);
|
|
%H(15,:)=0;
|
|
%imagesc(H);
|
|
|
|
|
|
cmap=colormap('gray');
|
|
cmap=1-cmap;
|
|
colormap(cmap);
|
|
|