Changeset 972 for trunk/src/phys_ima.m
- Timestamp:
- Nov 15, 2016, 5:22:14 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/phys_ima.m
r970 r972 61 61 [Rangx]=phys_XYZ(Calib,Rangx,[0.5 0.5],ZIndex);%case of translations without rotation and quadratic deformation 62 62 [xx,Rangy]=phys_XYZ(Calib,[0.5 0.5],Rangy,ZIndex); 63 else 63 else 64 64 % the image needs to be interpolated to the new coordinates 65 65 zphys=0; %default 66 66 if isfield(Calib,'SliceCoord') %.Z= index of plane 67 SliceCoord=Calib.SliceCoord(ZIndex,:); 68 zphys=SliceCoord(3); %to generalize for non-parallel planes 69 70 % if isfield(Calib,'SliceAngle')&&~isequal(Calib.SliceAngle,[0 0 0]) 71 % om=norm(Calib.SliceAngle);%norm of rotation angle in radians 72 % OmAxis=Calib.SliceAngle/om; %unit vector marking the rotation axis 73 % cos_om=cos(pi*om/180); 74 % sin_om=sin(pi*om/180); 75 % pos=[xy(1,1) xy(1,2) 0]; 76 % pos=cos_om*pos+sin_om*cross(OmAxis,pos)+(1-cos_om)*(OmAxis*pos')*OmAxis; 77 % end 78 79 80 % if isfield(Calib,'InterfaceCoord') && isfield(Calib,'RefractionIndex') 67 SliceCoord=Calib.SliceCoord(ZIndex,:); 68 zphys=SliceCoord(3); %to generalize for non-parallel planes 69 if isfield(Calib, 'SliceAngle') && ~isequal(Calib.SliceAngle,[0 0 0]) && ~isequal(Calib.SliceAngle(ZIndex,:),[0 0 0]) 70 testangle=1; 71 om=norm(Calib.SliceAngle(ZIndex,:));%norm of rotation angle in radians 72 OmAxis=Calib.SliceAngle(ZIndex,:)/om; %unit vector marking the rotation axis 73 cos_om=cos(pi*om/180); 74 sin_om=sin(pi*om/180); 75 coeff=OmAxis(3)*(1-cos_om); 76 norm_plane(1)=OmAxis(1)*coeff+OmAxis(2)*sin_om; 77 norm_plane(2)=OmAxis(2)*coeff-OmAxis(1)*sin_om; 78 norm_plane(3)=OmAxis(3)*coeff+cos_om; 79 %Z0=norm_plane*Calib.SliceCoord(ZIndex,:)'/norm_plane(3); 80 Z0=Calib.SliceCoord(ZIndex,3); 81 zphys=Z0-(norm_plane(1)*X-norm_plane(2)*Y)/norm_plane(3); 82 end 83 % if isfield(Calib,'InterfaceCoord') && isfield(Calib,'RefractionIndex') 81 84 % H=Calib.InterfaceCoord(3); 82 85 % if H>zphys 83 86 % zphys=H-(H-zphys)/Calib.RefractionIndex; %corrected z (virtual object) 84 87 % end 85 % end88 % end 86 89 end 87 90 xima=0.5:npx(icell)-0.5;%image coordinates of corners
Note: See TracChangeset
for help on using the changeset viewer.