Difference between revisions of "EyeSeeCam SCI"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
[[File:EyeSeeCam_SCI2.png|thumb|EyeSeeCam SCI]] | [[File:EyeSeeCam_SCI2.png|thumb|EyeSeeCam SCI]] | ||
==Description== | ==Description== | ||
+ | |||
+ | ==Matlab programming== | ||
+ | |||
+ | ===Matlab interface=== | ||
%todo | %todo | ||
+ | |||
+ | ===Converting rotation speed=== | ||
+ | <pre> | ||
+ | %maak een coordinaat object met begin coordinaten | ||
+ | mycoordinates_XYZ = coordinates_XYZ(startingGaze); | ||
+ | %initalizeer de loop | ||
+ | newpoint = startingGaze; | ||
+ | %loop door alle rotatie stapjes | ||
+ | for i = (timeRange) %iterate in reversed order | ||
+ | %creeer een rotatiematrix voor het interval van t tot t+delta_t | ||
+ | delta_angleX = Vx(i)*delta_t; | ||
+ | delta_angleY = Vy(i)*delta_t; | ||
+ | delta_angleZ = Vz(i)*delta_t; | ||
+ | %maak rotatie matrices | ||
+ | delta_Rx = Rx(delta_angleX); | ||
+ | delta_Ry = Ry(delta_angleY); | ||
+ | delta_Rz = Rz(delta_angleZ); | ||
+ | %vermenigvuldig de rotatiematrices, volgorde is niet belangrijk als de | ||
+ | %hoeken klein genoeg zijn. | ||
+ | delta_R = delta_Rx * delta_Ry * delta_Rz; | ||
+ | % Combineer de rotaties | ||
+ | % volgorde R_total * delta_R is rotatie in device coordinaten | ||
+ | |||
+ | R_total = R_total * delta_R; | ||
+ | %roteer van startpunt met nieuwe totaal matrix | ||
+ | newpoint = R_total * startingGaze; | ||
+ | %sla voor iedere iteratie het geroteerde punt op | ||
+ | mycoordinates_XYZ.add(newpoint); | ||
+ | end | ||
+ | |||
+ | mycoordinates_RAS = transform_XYZ2RAS(mycoordinates_XYZ, definition_XYZ2RAS_EyeSeeCam_Sci); | ||
+ | mycoordinates_DP = transform_RAS2DP(mycoordinates_RAS); | ||
+ | |||
+ | </pre> |
Revision as of 08:31, 1 May 2024
Description
Matlab programming
Matlab interface
%todo
Converting rotation speed
%maak een coordinaat object met begin coordinaten mycoordinates_XYZ = coordinates_XYZ(startingGaze); %initalizeer de loop newpoint = startingGaze; %loop door alle rotatie stapjes for i = (timeRange) %iterate in reversed order %creeer een rotatiematrix voor het interval van t tot t+delta_t delta_angleX = Vx(i)*delta_t; delta_angleY = Vy(i)*delta_t; delta_angleZ = Vz(i)*delta_t; %maak rotatie matrices delta_Rx = Rx(delta_angleX); delta_Ry = Ry(delta_angleY); delta_Rz = Rz(delta_angleZ); %vermenigvuldig de rotatiematrices, volgorde is niet belangrijk als de %hoeken klein genoeg zijn. delta_R = delta_Rx * delta_Ry * delta_Rz; % Combineer de rotaties % volgorde R_total * delta_R is rotatie in device coordinaten R_total = R_total * delta_R; %roteer van startpunt met nieuwe totaal matrix newpoint = R_total * startingGaze; %sla voor iedere iteratie het geroteerde punt op mycoordinates_XYZ.add(newpoint); end mycoordinates_RAS = transform_XYZ2RAS(mycoordinates_XYZ, definition_XYZ2RAS_EyeSeeCam_Sci); mycoordinates_DP = transform_RAS2DP(mycoordinates_RAS);