I have the 8 vertices of a cuboid (red points)(XYZvox) with known distance in millimetres (vox to mm) between each vertex which I transform in 3d space using the 4d transformation matrix (M). I am really struggling to work out the new voxel to millimetre conversion for the transformed vertices. How can I work this out? I feel it should be relatively straightforward:
XYZvox =[ 1 1 1 1 409 409 409 409
1 1 389 389 1 1 389 389
1 162 1 162 1 162 1 162]
M =[0.0337 0.0958 -0.9616 -2.5360
0.3706 0.0107 0.1012 -150.2009
0.0201 -0.3571 -0.2550 -231.0513
0 0 0 1.0000]
for i=1:8
poi1=XYZvox(:,i);
poi2=[XYZvox(:,i)];
poi2(4,1)=1;
poi_trans=M*poi2;
poi_trans=poi_trans(1:3);
scatter3(poi1(1),poi1(2),poi1(3),'red','filled'); xlabel('x'); hold all;
scatter3(poi_trans(1),poi_trans(2),poi_trans(3),'green','filled'); xlabel('x'); ylabel('y'); zlabel('z');
end