focus recompose error graphs
How much error do you make when you focus recompose?
Keep in mind:
1. Depth of Field can mask any error.
2. The horizontal angle of view of a standard lens (50mm on 24x36 format) is 40°
3. The maximum recompose angle is half of the lense's FOV.
4. It is unusual to recompose by more than a third of the lens's FOV.
5. to recompose by 40° you have to use a superwide lens (18mm on 24x36) and recompose from centre to edge.
This is the Matlab code. It is clumsy, but anyway:
close all
clear all
clc
recomposeanglevec=linspace(0,40,41);
focusdistancevec=linspace(1,10,10);
count1=0;
for x=recomposeanglevec
count1=count1+1;
recomposeangle=recomposeanglevec(count1);
count2=0;
for y=focusdistancevec
count2=count2+1;
focusdistance=focusdistancevec(count2);
focuserrormat(count1,count2)=focusdistance-focusdistance*cos(recomposeangle*pi/180);
focuserrorrelativemat(count1,count2)=focuserrormat(count1,count2)/focusdistance;
focusdistancemat(count1,count2)=focusdistance;
recomposeanglemat(count1,count2)=recomposeangle;
end
end
figure
mesh(focusdistancemat,recomposeanglemat,focuserrormat)
xlabel('focus distance [m]')
ylabel('recompose angle [°]')
zlabel('focus error [m]')
grid on
colorbar
figure
mesh(focusdistancemat,recomposeanglemat,100*focuserrorrelativemat)
xlabel('focus distance [m]')
ylabel('recompose angle [°]')
zlabel('relative focus error [0..100%]')
grid on
colorbar
figure
plot(recomposeanglemat(:,1),100*focuserrorrelativemat(:,1))
xlabel('recompose angle [°]')
ylabel('relative focus error [0..100%]')
grid on
focus recompose error graphs
How much error do you make when you focus recompose?
Keep in mind:
1. Depth of Field can mask any error.
2. The horizontal angle of view of a standard lens (50mm on 24x36 format) is 40°
3. The maximum recompose angle is half of the lense's FOV.
4. It is unusual to recompose by more than a third of the lens's FOV.
5. to recompose by 40° you have to use a superwide lens (18mm on 24x36) and recompose from centre to edge.
This is the Matlab code. It is clumsy, but anyway:
close all
clear all
clc
recomposeanglevec=linspace(0,40,41);
focusdistancevec=linspace(1,10,10);
count1=0;
for x=recomposeanglevec
count1=count1+1;
recomposeangle=recomposeanglevec(count1);
count2=0;
for y=focusdistancevec
count2=count2+1;
focusdistance=focusdistancevec(count2);
focuserrormat(count1,count2)=focusdistance-focusdistance*cos(recomposeangle*pi/180);
focuserrorrelativemat(count1,count2)=focuserrormat(count1,count2)/focusdistance;
focusdistancemat(count1,count2)=focusdistance;
recomposeanglemat(count1,count2)=recomposeangle;
end
end
figure
mesh(focusdistancemat,recomposeanglemat,focuserrormat)
xlabel('focus distance [m]')
ylabel('recompose angle [°]')
zlabel('focus error [m]')
grid on
colorbar
figure
mesh(focusdistancemat,recomposeanglemat,100*focuserrorrelativemat)
xlabel('focus distance [m]')
ylabel('recompose angle [°]')
zlabel('relative focus error [0..100%]')
grid on
colorbar
figure
plot(recomposeanglemat(:,1),100*focuserrorrelativemat(:,1))
xlabel('recompose angle [°]')
ylabel('relative focus error [0..100%]')
grid on