<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
<link rel="self" type="application/atom+xml" href="http://theeyetribe.com/forum/feed.php?f=26&amp;t=67" />

<title>The Eye Tribe</title>
<subtitle>Developer Forum</subtitle>
<link href="http://theeyetribe.com/forum/index.php" />
<updated>2014-05-05T22:21:51+02:00</updated>

<author><name><![CDATA[The Eye Tribe]]></name></author>
<id>http://theeyetribe.com/forum/feed.php?f=26&amp;t=67</id>
<entry>
<author><name><![CDATA[tomgratte]]></name></author>
<updated>2014-05-05T22:21:51+02:00</updated>
<published>2014-05-05T22:21:51+02:00</published>
<id>http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=865#p865</id>
<link href="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=865#p865"/>
<title type="html"><![CDATA[Re: [Resolved] get the Server data]]></title>

<content type="html" xml:base="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=865#p865"><![CDATA[
Hi pgba, <br /><br />thanks for your answer. <br />I am running the peyetribe as a module and I use the following script (the only two modifications are <span style="font-style: italic">from peyetribe import *</span> instead of <span style="font-style: italic">import peyetribe</span> and <span style="font-style: italic">count &lt; 500</span> instead of <span style="font-style: italic">count &lt; 100</span>)<br /><br /><dl class="codebox"><dt>Code: </dt><dd><code>from peyetribe import *<br />import sys<br /><br />tracker = EyeTribe() # Create a tracker object (defaults to localhost:6555)<br />tracker.connect() # Initiate the TCP/IP connection to the tracker<br /><br />n = tracker.next() # Default is pull mode: Just get a frame from the tracker<br /># Access e.g. current gaze x coordinate as avg = n.getavg().x<br /><br />tracker.pushmode() # Switch to push mode<br /><br />count = 0 # Print out the next 100 gaze coordinates<br />while count &lt; 500:<br />   n = tracker.next() # Gets next coordinate from queue (blocking!), now in push mode<br />   sys.stderr.write(str(n) + '\n')<br />   count += 1<br /><br />tracker.pullmode() # End push mode<br /><br />tracker.close() # Disconnect from tracker</code></dd></dl><br /><br />I am using jython 2.7, and I use it within the framework of Fiji/ImageJ (this is a software for image processing and has an integrated jython compiler).<br /><br />I get about 180 data points followed by this error: <br /><br /><dl class="codebox"><dt>Code: </dt><dd><code>Started New_.py at Mon May 05 22:09:44 CEST 2014<br />switching to push mode...<br />0000.000;N;.F...;0;0;0;0;0;0;0;0;0.0;0;0;0;0;0;0;0.0;0;0<br />0000.000;N;..P..;-298;1055;-298;1055;0;0;0;0;0.0;0;0;-298;1055;-298;1055;9.7;0;0<br />0000.000;N;..PEG;66;695;66;695;84;759;84;759;0.0;0;0;49;631;49;631;18.1;0;0<br />0000.000;N;..PEG;121;549;93;622;160;568;122;664;0.0;0;0;81;530;65;581;19.3;0;0<br />0000.000;N;..PEG;76;568;88;604;101;587;115;638;19.1;0;0;51;549;61;570;19.3;0;0<br />0000.000;N;..PEG;91;566;88;594;141;581;121;623;19.8;0;0;41;550;56;565;18.6;0;0<br />0000.000;N;..PEG;109;604;93;596;129;602;123;619;19.3;0;0;90;605;62;573;19.3;0;0<br />0000.000;N;..PEG;81;567;81;567;118;582;118;582;18.9;0;0;45;553;45;553;18.8;0;0<br />0000.000;N;..PEG;96;549;96;549;97;548;97;548;19.0;0;0;94;551;94;551;19.3;0;0<br />0000.000;N;..PEG;124;580;110;564;131;584;114;566;19.1;0;0;117;575;106;563;19.6;0;0<br />0000.000;N;..PEG;130;571;117;567;162;594;130;575;19.8;0;0;98;547;103;558;19.9;0;0<br />0000.000;N;..PEG;82;551;108;563;85;552;119;569;19.3;0;0;79;550;97;556;19.5;0;0<br />0000.000;N;..PEG;107;563;108;563;99;536;115;563;19.0;0;0;115;591;101;563;19.6;0;0<br />0000.000;F;..PEG;65;559;101;562;81;561;109;562;19.3;0;0;49;556;92;562;19.5;0;0<br />0000.000;F;..PEG;113;538;102;558;144;538;114;559;19.9;0;0;81;538;90;558;19.4;0;0<br />0000.000;F;..PEG;110;557;103;558;150;544;119;557;19.4;0;0;70;570;87;560;19.6;0;0<br />0000.000;F;..PEG;122;571;105;560;151;580;123;559;19.8;0;0;92;562;88;560;19.7;0;0<br />0000.000;F;..PEG;109;550;106;559;138;552;125;558;19.6;0;0;79;549;87;559;19.3;0;0<br />0000.000;F;..PEG;86;545;104;557;111;557;123;558;19.7;0;0;61;533;84;556;19.5;0;0<br />0000.000;F;..PEG;92;556;103;557;150;564;126;559;19.4;0;0;33;547;79;555;19.7;0;0<br />0000.000;F;..PEG;110;549;103;556;169;568;130;559;19.6;0;0;52;531;77;553;19.5;0;0<br />0000.000;F;..PEG;123;563;105;557;176;591;134;562;19.7;0;0;70;536;76;552;19.4;0;0<br />0000.000;N;..PEG;611;542;611;542;577;606;577;606;19.0;0;0;646;478;646;478;19.9;0;0<br />0000.000;N;..PEG;976;481;976;481;1013;500;1013;500;18.2;0;0;939;462;939;462;19.7;0;0<br />0000.000;N;..PEG;1002;565;989;523;1034;638;1024;569;19.7;0;0;969;491;954;476;20.0;0;0<br />0000.000;N;..PEG;987;532;989;526;1008;579;1018;573;19.6;0;0;967;485;959;479;20.0;0;0<br />0000.000;N;..PEG;1011;494;994;518;1035;541;1023;565;18.8;0;0;987;448;966;471;19.6;0;0<br />0000.000;N;..PEG;974;534;990;521;987;573;1015;567;18.8;0;0;961;494;965;476;19.8;0;0<br />0000.000;N;..PEG;1004;523;1004;523;1050;532;1050;532;18.8;0;0;959;515;959;515;19.9;0;0<br />0000.000;N;..PEG;1010;507;1010;507;1048;568;1048;568;18.7;0;0;971;446;971;446;19.4;0;0<br />0001.000;N;..PEG;1049;498;1030;502;1079;533;1064;550;18.6;0;0;1020;463;995;454;18.2;0;0<br />0001.000;N;..PEG;1048;502;1036;502;1115;544;1081;548;18.5;0;0;981;460;991;456;17.9;0;0<br />0001.000;N;..PEG;1000;499;1027;501;1055;524;1074;542;18.6;0;0;945;473;979;461;18.2;0;0<br />0001.000;N;..PEG;1020;513;1025;504;1063;524;1072;538;19.1;0;0;976;502;979;469;18.2;0;0<br />0001.000;F;..PEG;1017;536;1024;509;1065;570;1071;544;18.9;0;0;968;503;977;475;18.2;0;0<br />0001.000;F;..PEG;1054;614;1028;525;1087;608;1073;553;17.9;0;0;1022;619;983;496;16.9;0;0<br />0001.000;N;.F...;0;0;0;0;0;0;0;0;0.0;0;0;0;0;0;0;0.0;0;0<br />0001.000;N;..P..;0;0;0;0;0;0;0;0;0.0;0;0;0;0;0;0;0.0;0;0<br />0001.000;N;..PEG;-200;1162;-200;1162;-35;1289;-35;1289;8.1;0;0;-366;1035;-366;1035;9.7;0;0<br />0001.000;N;..PEG;119;713;119;713;174;737;174;737;17.9;0;0;64;689;64;689;16.5;0;0<br />0001.000;N;..PEG;125;552;122;633;142;543;158;640;19.4;0;0;109;562;86;625;18.5;0;0<br />0001.000;N;..PEG;169;537;138;600;236;553;184;611;19.4;0;0;102;520;92;590;18.2;0;0<br />0001.000;N;..PEG;156;546;143;587;199;560;188;598;19.2;0;0;114;533;97;575;18.5;0;0<br />0001.000;N;..PEG;122;544;138;578;177;573;186;593;19.7;0;0;66;515;91;563;18.3;0;0<br />0001.000;N;..PEG;160;543;160;543;193;567;193;567;19.2;0;0;126;519;126;519;18.6;0;0<br />0001.000;N;..PEG;93;565;93;565;128;585;128;585;19.4;0;0;58;545;58;545;18.5;0;0<br />0001.000;N;..PEG;115;568;104;566;141;571;135;578;19.4;0;0;90;564;74;555;18.8;0;0<br />0001.000;N;..PEG;80;582;96;572;117;611;129;589;20.0;0;0;43;553;64;554;18.2;0;0<br />0001.000;N;..PEG;112;584;100;575;134;595;130;591;19.6;0;0;89;573;70;559;18.3;0;0<br />0001.000;N;..PEG;73;605;95;581;104;666;125;606;19.6;0;0;42;544;64;556;18.1;0;0<br />0001.000;F;..PEG;88;554;93;577;128;566;125;599;19.7;0;0;47;542;61;554;18.4;0;0<br />0001.000;F;..PEG;100;603;94;580;116;609;124;601;19.3;0;0;84;597;65;560;18.7;0;0<br />0001.000;F;..PEG;78;537;92;575;85;549;119;594;18.9;0;0;71;525;66;555;18.2;0;0<br />0001.000;F;..PEG;101;544;93;571;136;560;121;590;19.2;0;0;67;528;66;552;18.2;0;0<br />0001.000;F;..PEG;116;577;96;572;163;586;125;590;18.9;0;0;69;567;66;554;18.3;0;0<br />0001.000;F;..PEG;106;574;97;572;138;589;127;589;19.7;0;0;75;560;67;554;18.3;0;0<br />0001.000;F;..PEG;102;563;97;571;118;592;126;590;19.1;0;0;86;533;69;552;18.3;0;0<br />0001.000;F;..PEG;127;571;100;571;158;576;129;588;19.2;0;0;96;567;71;554;18.9;0;0<br />0001.000;F;..PEG;105;555;100;570;134;571;129;587;18.8;0;0;76;540;72;552;18.1;0;0<br />0001.000;F;..PEG;99;569;100;569;106;610;128;588;19.3;0;0;92;529;73;551;18.6;0;0<br />0002.000;F;..PEG;109;554;101;568;157;594;130;589;18.4;0;0;62;513;73;548;18.8;0;0<br />0002.000;F;..PEG;132;545;104;566;161;552;132;586;18.7;0;0;104;537;75;547;18.6;0;0<br />0002.000;F;..PEG;132;582;106;567;148;584;133;586;18.4;0;0;117;580;78;549;18.6;0;0<br />0002.000;F;..PEG;131;573;108;568;184;593;137;586;18.1;0;0;78;553;79;549;18.9;0;0<br />0002.000;F;..PEG;111;558;108;567;148;558;138;584;18.4;0;0;75;558;79;550;18.5;0;0<br />0002.000;F;..PEG;116;548;109;566;169;569;140;583;18.6;0;0;64;527;78;548;18.5;0;0<br />0002.000;F;..PEG;111;543;109;564;134;572;140;582;18.9;0;0;87;514;79;546;18.7;0;0<br />0002.000;F;..PEG;119;531;110;562;154;540;141;579;18.5;0;0;83;521;79;544;18.6;0;0<br />0002.000;F;..PEG;119;546;111;560;149;568;142;578;18.9;0;0;89;524;80;543;18.5;0;0<br />0002.000;F;..PEG;112;543;111;559;167;570;144;578;18.7;0;0;57;516;79;541;18.3;0;0<br />0002.000;F;..PEG;130;562;113;559;159;579;145;577;18.2;0;0;101;545;80;541;18.8;0;0<br />0002.000;F;..PEG;108;571;113;559;156;603;146;579;18.3;0;0;59;539;79;540;18.5;0;0<br />0002.000;F;..PEG;113;575;113;560;150;610;147;580;18.2;0;0;76;540;79;540;18.7;0;0<br />0002.000;F;..PEG;126;568;114;560;164;600;148;581;18.3;0;0;89;536;80;540;18.5;0;0<br />0002.000;F;..PEG;108;548;114;560;156;574;149;581;18.4;0;0;60;522;79;538;18.1;0;0<br />0002.000;F;..PEG;140;572;116;560;187;603;152;582;18.3;0;0;93;541;79;538;18.7;0;0<br />0002.000;F;..PEG;96;569;115;560;120;587;150;582;18.6;0;0;72;552;79;539;18.2;0;0<br />0002.000;F;..PEG;103;579;114;561;171;603;152;583;18.6;0;0;35;555;77;539;18.2;0;0<br />0002.000;F;..PEG;98;568;114;562;175;611;154;585;17.9;0;0;20;526;73;538;18.1;0;0<br />0002.000;F;..PEG;119;559;114;561;150;588;154;585;18.1;0;0;89;531;74;538;18.7;0;0<br />0002.000;F;..PEG;122;565;115;562;169;566;155;584;18.6;0;0;74;564;74;539;19.0;0;0<br />0002.000;F;..PEG;128;583;116;563;176;602;157;585;18.6;0;0;80;563;74;540;18.8;0;0<br />0002.000;F;..PEG;98;567;115;563;128;560;156;584;18.0;0;0;68;573;73;542;18.8;0;0<br />0002.000;F;..PEG;88;562;113;563;107;550;154;583;18.5;0;0;69;573;73;544;18.8;0;0<br />0002.000;F;..PEG;99;567;112;564;142;585;153;583;18.2;0;0;57;548;72;545;18.8;0;0<br />0002.000;F;..PEG;102;587;112;565;143;580;152;583;18.5;0;0;61;593;71;548;18.6;0;0<br />0002.000;F;..PEG;96;598;111;567;143;609;152;584;17.8;0;0;49;587;69;550;18.4;0;0<br />0002.000;N;.F...;0;0;0;0;0;0;0;0;0.0;0;0;0;0;0;0;0.0;0;0<br />0002.000;N;..P..;0;0;0;0;0;0;0;0;0.0;0;0;0;0;0;0;0.0;0;0<br />0002.000;N;..PEG;11;909;11;909;-108;1023;-108;1023;10.6;0;0;130;794;130;794;16.7;0;0<br />0002.000;N;..PEG;140;557;140;557;162;561;162;561;19.7;0;0;117;552;117;552;18.6;0;0<br />0003.000;N;..P..;-293;1140;-76;849;0;0;81;280;0.0;0;0;-293;1140;-87;846;8.0;0;0<br />0003.000;N;..P..;0;0;0;0;0;0;0;0;0.0;0;0;0;0;0;0;0.0;0;0<br />0003.000;N;..P..;0;0;0;0;0;0;0;0;0.0;0;0;0;0;0;0;0.0;0;0<br />0003.000;N;..P..;-167;1115;-107;938;0;0;53;186;0.0;0;0;-167;1115;-114;937;9.7;0;0<br />0003.000;N;..PEG;122;776;-49;898;159;829;80;347;16.7;0;0;85;722;-64;883;18.0;0;0<br />0003.000;N;..PEG;123;557;-14;829;144;564;93;392;19.6;0;0;102;551;-30;816;18.9;0;0<br />0003.000;N;..PEG;138;527;138;527;158;533;158;533;19.7;0;0;119;521;119;521;19.5;0;0<br />0003.000;N;..PEG;69;514;69;514;53;519;53;519;22.1;0;0;84;508;84;508;18.8;0;0<br />0003.000;N;..PEG;157;532;113;523;187;540;120;529;19.7;0;0;127;525;106;517;19.3;0;0<br />0003.000;N;..PEG;156;555;127;534;211;566;150;542;18.8;0;0;101;545;104;526;18.6;0;0<br />0003.000;N;..PEG;106;570;122;543;164;592;154;554;18.4;0;0;47;547;90;531;18.3;0;0<br />0003.000;N;..PEG;89;565;115;548;143;574;152;558;18.0;0;0;35;557;79;537;18.7;0;0<br />0003.000;F;..PEG;133;558;118;550;185;574;158;561;18.6;0;0;80;542;79;538;18.5;0;0<br />0003.000;F;..PEG;127;559;120;551;144;558;156;561;18.6;0;0;110;560;83;541;18.6;0;0<br />0003.000;F;..PEG;122;577;120;555;170;619;158;569;19.0;0;0;73;535;82;540;18.8;0;0<br />0003.000;F;..PEG;119;579;120;558;156;605;158;573;18.1;0;0;83;553;82;542;18.9;0;0<br />0003.000;F;..PEG;115;571;119;559;145;599;156;576;17.9;0;0;84;543;82;542;18.5;0;0<br />0003.000;F;..PEG;111;580;119;561;154;613;156;580;18.2;0;0;69;547;81;543;17.7;0;0<br />0003.000;F;..PEG;83;577;115;563;112;591;152;581;17.8;0;0;55;562;78;545;17.9;0;0<br />0003.000;F;..PEG;233;475;125;556;276;496;163;574;17.9;0;0;189;454;88;537;18.3;0;0<br />0003.000;F;..PEG;234;467;135;548;274;500;172;568;17.8;0;0;194;434;97;528;17.8;0;0<br />0003.000;F;..PEG;231;462;143;541;285;513;182;564;17.9;0;0;176;411;103;519;17.7;0;0<br />0003.000;F;..PEG;221;440;149;533;286;478;190;557;18.0;0;0;156;402;108;510;17.9;0;0<br />0003.000;F;..PEG;249;473;157;528;309;520;200;554;17.9;0;0;190;427;114;503;17.6;0;0<br />0003.000;F;..PEG;226;471;163;524;253;480;205;549;17.7;0;0;200;461;121;499;18.2;0;0<br />0003.000;F;..PEG;220;441;168;517;272;440;210;541;17.8;0;0;168;443;125;494;18.1;0;0<br />0003.000;F;..PEG;254;464;175;513;305;486;218;536;17.8;0;0;203;441;131;489;18.2;0;0<br />0003.000;F;..PEG;244;446;180;507;289;483;224;532;18.4;0;0;199;410;137;483;17.8;0;0<br />0003.000;F;..PEG;256;476;187;504;329;519;232;530;18.0;0;0;184;432;141;479;17.9;0;0<br />0004.000;F;..PEG;123;578;184;508;161;587;229;532;17.9;0;0;85;569;139;483;17.9;0;0<br />0004.000;F;..PEG;130;588;182;512;157;590;226;535;17.9;0;0;103;587;138;488;18.0;0;0<br />0004.000;F;..PEG;95;551;178;513;134;560;222;536;17.8;0;0;56;542;134;491;17.8;0;0<br />0004.000;F;..PEG;118;562;175;516;177;566;220;537;17.6;0;0;59;559;130;495;17.5;0;0<br />0004.000;F;..PEG;119;573;172;519;141;588;216;540;17.5;0;0;97;557;128;498;18.1;0;0<br />0004.000;F;..PEG;144;560;170;521;167;569;213;542;17.3;0;0;121;550;128;501;18.1;0;0<br />0004.000;F;..PEG;133;574;168;525;160;579;210;544;17.2;0;0;105;568;127;505;17.8;0;0<br />0004.000;F;..PEG;122;573;165;528;189;608;208;548;17.7;0;0;55;538;122;508;17.5;0;0<br />0004.000;N;..PEG;422;505;422;505;415;563;415;563;17.3;0;0;430;446;430;446;17.9;0;0<br />0004.000;N;..PEG;642;477;642;477;672;528;672;528;17.8;0;0;612;426;612;426;17.5;0;0<br />0004.000;N;..PEG;634;492;638;485;656;542;664;535;19.0;0;0;612;443;612;435;18.0;0;0<br />0004.000;N;..PEG;670;500;649;490;716;540;682;537;19.1;0;0;623;460;616;443;18.2;0;0<br />0004.000;N;..PEG;673;517;655;497;709;547;689;539;18.7;0;0;637;487;621;454;18.5;0;0<br />0004.000;N;..PEG;651;491;654;496;691;553;689;542;18.8;0;0;612;429;619;449;18.0;0;0<br />0004.000;N;..PEG;676;553;676;553;706;597;706;597;18.8;0;0;645;509;624;459;18.6;0;0<br />0004.000;N;..PEG;680;528;680;528;715;528;715;528;18.9;0;0;644;528;644;528;18.5;0;0<br />0004.000;N;..PEG;651;506;665;517;691;531;703;530;18.4;0;0;611;481;611;481;18.2;0;0<br />0004.000;N;..PEG;656;528;662;521;709;567;705;542;19.0;0;0;604;489;607;485;18.1;0;0<br />0004.000;N;..PEG;669;507;664;517;691;559;702;546;18.4;0;0;647;454;620;475;17.8;0;0<br />0004.000;N;..PEG;973;498;727;513;984;491;759;535;17.4;0;0;962;505;707;482;18.4;0;0<br />0004.000;N;..PEG;1092;509;1092;509;1155;561;1155;561;17.6;0;0;1029;458;773;477;17.0;0;0<br />0004.000;N;..PEG;1065;511;1065;511;1124;540;1124;540;17.8;0;0;1005;482;1005;482;16.6;0;0<br />0004.000;N;..PEG;1090;481;1077;496;1117;535;1121;537;17.5;0;0;1063;428;1063;428;15.9;0;0<br />0004.000;N;..PEG;1059;508;1071;500;1086;575;1109;550;18.4;0;0;1032;441;1048;434;16.3;0;0<br />0004.000;N;..PEG;1087;552;1075;513;1117;594;1111;561;18.1;0;0;1058;510;1051;460;16.9;0;0<br />0004.000;N;..PEG;1079;478;1076;506;1128;546;1114;558;17.5;0;0;1029;411;1046;448;16.5;0;0<br />0004.000;F;..PEG;1086;533;1078;511;1146;542;1120;555;17.7;0;0;1027;524;1042;463;17.6;0;0<br />0004.000;F;..PEG;1089;544;1080;516;1100;584;1117;560;17.2;0;0;1077;504;1048;470;15.9;0;0<br />0004.000;N;.F...;0;0;0;0;0;0;0;0;0.0;0;0;0;0;0;0;0.0;0;0<br />0004.000;N;..P..;0;0;0;0;0;0;0;0;0.0;0;0;0;0;0;0;0.0;0;0<br />0005.000;N;..PEG;855;1075;855;1075;1023;1091;1023;1091;11.1;0;0;688;1058;688;1058;9.1;0;0<br />0005.000;N;..P..;667;1076;667;1076;0;0;0;0;0.0;0;0;667;1076;667;1076;9.1;0;0<br />0005.000;N;..P..;686;1061;677;1068;0;0;0;0;0.0;0;0;686;1061;677;1068;9.1;0;0<br />0005.000;N;..PEG;835;1088;730;1075;1007;1075;337;359;0.0;0;0;662;1102;672;1079;9.7;0;0<br />0005.000;N;..PEG;857;1067;762;1073;1016;1084;509;544;0.0;0;0;698;1049;678;1072;8.9;0;0<br />0005.000;N;..PEG;842;1078;778;1074;1007;1075;612;654;8.9;0;0;677;1082;678;1074;9.1;0;0<br />0005.000;F;..PEG;858;1072;792;1073;1022;1066;1022;1066;8.7;0;0;693;1078;681;1074;8.9;0;0<br />0005.000;F;..PEG;940;1069;815;1073;1093;1070;1093;1070;10.6;0;0;787;1069;696;1074;10.0;0;0<br />0005.000;N;..P..;1121;1068;1121;1068;1121;1068;1107;1069;10.7;0;0;0;0;0;0;0.0;0;0<br />0005.000;N;..PEG;953;1067;953;1067;1089;1059;1101;1066;10.5;0;0;816;1075;816;1075;10.6;0;0<br />0005.000;N;..PEG;159;579;555;823;215;597;878;947;18.9;0;0;103;560;459;817;18.4;0;0<br />0005.000;N;..PEG;141;572;416;738;166;612;732;879;18.9;0;0;116;533;344;722;18.5;0;0<br />0005.000;N;..PEG;134;568;344;695;183;602;183;602;18.1;0;0;85;533;278;673;18.3;0;0<br />0005.000;N;..PEG;125;574;298;670;148;594;148;594;17.8;0;0;101;554;241;648;19.0;0;0<br />0005.000;N;..PEG;118;573;118;573;162;578;155;586;18.1;0;0;74;568;74;568;18.4;0;0<br />0005.000;N;..PEG;114;565;114;565;178;568;163;580;17.7;0;0;49;563;49;563;18.3;0;0<br />0005.000;N;..PEG;118;530;116;548;168;549;164;572;18.3;0;0;68;511;58;537;18.0;0;0<br />0005.000;N;..PEG;123;574;118;557;172;573;166;572;18.3;0;0;75;576;64;550;18.4;0;0<br />0005.000;N;..PEG;96;545;113;554;130;549;160;568;18.5;0;0;62;540;63;547;18.0;0;0<br />0005.000;N;..PEG;94;553;109;553;158;546;159;565;17.8;0;0;31;560;57;550;18.1;0;0<br />0005.000;F;..PEG;101;534;107;550;165;517;160;558;18.0;0;0;37;550;53;550;18.0;0;0<br />0005.000;F;..PEG;111;562;108;552;138;581;157;561;17.9;0;0;84;544;58;549;18.5;0;0<br />0005.000;F;..PEG;93;542;106;551;152;537;157;558;18.1;0;0;35;547;55;549;18.2;0;0<br />0005.000;F;..PEG;221;457;119;540;256;475;166;550;18.4;0;0;187;438;70;536;17.9;0;0<br />0005.000;F;..PEG;254;493;134;534;311;527;180;547;18.4;0;0;197;458;84;527;18.5;0;0<br />0005.000;F;..PEG;230;457;144;526;300;466;191;540;18.2;0;0;161;449;92;519;18.3;0;0<br />0005.000;F;..PEG;219;444;152;518;267;441;198;531;18.1;0;0;172;446;100;512;18.4;0;0<br />0005.000;F;..PEG;245;473;161;514;302;498;207;528;18.1;0;0;189;447;109;506;18.3;0;0<br />0005.000;F;..PEG;251;456;169;508;307;489;215;524;18.5;0;0;195;423;117;498;18.1;0;0<br />0005.000;F;..PEG;222;494;174;507;257;507;220;522;18.5;0;0;187;481;123;496;18.1;0;0<br />0005.000;F;..PEG;228;450;179;502;276;489;225;519;18.0;0;0;179;411;128;489;18.6;0;0<br />0006.000;F;..PEG;125;507;176;501;137;537;220;520;17.9;0;0;113;477;129;487;18.0;0;0<br />0006.000;F;..PEG;115;530;173;503;153;517;217;519;18.4;0;0;77;543;126;490;18.1;0;0<br />0006.000;F;..PEG;119;572;170;507;167;594;214;523;18.4;0;0;72;550;123;493;18.5;0;0<br />Exception in thread Thread-36:Traceback (most recent call last):<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\threading.py&quot;, line 184, in _Thread__bootstrap<br />Unhandled exception in thread started by &lt;bound method Thread._Thread__bootstrap of &lt;Thread(Thread-36, started)&gt;&gt;<br />Traceback (most recent call last):<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\threading.py&quot;, line 199, in _Thread__bootstrap<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py&quot;, line 232, in print_exc<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py&quot;, line 125, in print_exception<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py&quot;, line 69, in print_tb<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py&quot;, line 14, in getline<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py&quot;, line 40, in getlines<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py&quot;, line 80, in updatecache<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py&quot;, line 80, in updatecache<br />java.lang.AbstractMethodError: org.python.modules.posix.PythonPOSIXHandler.error(Ljnr/constants/platform/Errno;Ljava/lang/String;Ljava/lang/String;)V<br /><br />   at jnr.posix.BaseNativePOSIX.stat(BaseNativePOSIX.java:309)<br /><br />   at jnr.posix.CheckedPOSIX.stat(CheckedPOSIX.java:265)<br /><br />   at jnr.posix.LazyPOSIX.stat(LazyPOSIX.java:267)<br /><br />   at org.python.modules.posix.PosixModule$StatFunction.__call__(PosixModule.java:954)<br /><br />   at org.python.core.PyObject.__call__(PyObject.java:407)<br /><br />   at linecache$py.updatecache$5(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py:135)<br /><br />   at linecache$py.call_function(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:149)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:357)<br /><br />   at linecache$py.getlines$3(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py:40)<br /><br />   at linecache$py.call_function(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:149)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:357)<br /><br />   at linecache$py.getline$1(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py:18)<br /><br />   at linecache$py.call_function(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:166)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:368)<br /><br />   at traceback$py.print_tb$4(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py:60)<br /><br />   at traceback$py.call_function(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:166)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:368)<br /><br />   at traceback$py.print_exception$7(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py:127)<br /><br />   at traceback$py.call_function(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:301)<br /><br />   at org.python.core.PyFunction.function___call__(PyFunction.java:406)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:401)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:391)<br /><br />   at traceback$py.print_exc$13(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py:234)<br /><br />   at traceback$py.call_function(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:301)<br /><br />   at org.python.core.PyFunction.function___call__(PyFunction.java:406)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:401)<br /><br />   at threading$py._Thread__bootstrap$33(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\threading.py:228)<br /><br />   at threading$py.call_function(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\threading.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:301)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:194)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:417)<br /><br />   at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:232)<br /><br />   at org.python.core.PyMethod.__call__(PyMethod.java:223)<br /><br />   at org.python.core.PyMethod.__call__(PyMethod.java:213)<br /><br />   at org.python.core.PyMethod.__call__(PyMethod.java:208)<br /><br />   at org.python.core.FunctionThread.run(FunctionThread.java:25)<br /><br /><br />java.lang.AbstractMethodError: java.lang.AbstractMethodError: org.python.modules.posix.PythonPOSIXHandler.error(Ljnr/constants/platform/Errno;Ljava/lang/String;Ljava/lang/String;)V<br />Traceback (most recent call last):<br />  File &quot;&lt;iostream&gt;&quot;, line 14, in &lt;module&gt;<br />  File &quot;__pyclasspath__/peyetribe.py&quot;, line 334, in next<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\Queue.py&quot;, line 182, in get<br />java.lang.InterruptedException<br /><br />   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:1961)<br /><br />   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1996)<br /><br />   at org.python.modules._threading.Condition.Condition_wait(Condition.java:91)<br /><br />   at org.python.modules._threading.Condition$Condition_wait_exposer.__call__(Unknown Source)<br /><br />   at org.python.core.PyObject.__call__(PyObject.java:391)<br /><br />   at Queue$py.get$12(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\Queue.py:182)<br /><br />   at Queue$py.call_function(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\Queue.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:301)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:127)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:347)<br /><br />   at org.python.core.PyMethod.__call__(PyMethod.java:121)<br /><br />   at peyetribe$py.next$30(__pyclasspath__/peyetribe.py:344)<br /><br />   at peyetribe$py.call_function(__pyclasspath__/peyetribe.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:134)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:347)<br /><br />   at org.python.core.PyMethod.__call__(PyMethod.java:121)<br /><br />   at org.python.pycode._pyx538.f$0(&lt;iostream&gt;:20)<br /><br />   at org.python.pycode._pyx538.call_function(&lt;iostream&gt;)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyCode.call(PyCode.java:18)<br /><br />   at org.python.core.Py.runCode(Py.java:1302)<br /><br />   at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:235)<br /><br />   at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:230)<br /><br />   at Jython.Refresh_Jython_Scripts.runScript(Refresh_Jython_Scripts.java:73)<br /><br />   at common.RefreshScripts.runScript(RefreshScripts.java:328)<br /><br />   at fiji.scripting.TextEditor$Tab$6.execute(TextEditor.java:1225)<br /><br />   at fiji.scripting.TextEditor$Executer$1.run(TextEditor.java:1785)<br /><br /><br />java.lang.InterruptedException: java.lang.InterruptedException<br />Error in atexit._run_exitfuncs:<br />Traceback (most recent call last):<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\atexit.py&quot;, line 24, in _run_exitfuncs<br />Error in sys.exitfunc:<br />Traceback (most recent call last):<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\atexit.py&quot;, line 30, in _run_exitfuncs<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py&quot;, line 232, in print_exc<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py&quot;, line 125, in print_exception<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py&quot;, line 69, in print_tb<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py&quot;, line 14, in getline<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py&quot;, line 40, in getlines<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py&quot;, line 80, in updatecache<br />  File &quot;D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py&quot;, line 80, in updatecache<br />java.lang.AbstractMethodError: org.python.modules.posix.PythonPOSIXHandler.error(Ljnr/constants/platform/Errno;Ljava/lang/String;Ljava/lang/String;)V<br /><br />   at jnr.posix.BaseNativePOSIX.stat(BaseNativePOSIX.java:309)<br /><br />   at jnr.posix.CheckedPOSIX.stat(CheckedPOSIX.java:265)<br /><br />   at jnr.posix.LazyPOSIX.stat(LazyPOSIX.java:267)<br /><br />   at org.python.modules.posix.PosixModule$StatFunction.__call__(PosixModule.java:954)<br /><br />   at org.python.core.PyObject.__call__(PyObject.java:407)<br /><br />   at linecache$py.updatecache$5(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py:135)<br /><br />   at linecache$py.call_function(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:149)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:357)<br /><br />   at linecache$py.getlines$3(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py:40)<br /><br />   at linecache$py.call_function(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:149)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:357)<br /><br />   at linecache$py.getline$1(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py:18)<br /><br />   at linecache$py.call_function(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\linecache.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:166)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:368)<br /><br />   at traceback$py.print_tb$4(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py:60)<br /><br />   at traceback$py.call_function(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:166)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:368)<br /><br />   at traceback$py.print_exception$7(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py:127)<br /><br />   at traceback$py.call_function(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:301)<br /><br />   at org.python.core.PyFunction.function___call__(PyFunction.java:406)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:401)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:391)<br /><br />   at traceback$py.print_exc$13(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py:234)<br /><br />   at traceback$py.call_function(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\traceback.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:301)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:114)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:337)<br /><br />   at atexit$py._run_exitfuncs$1(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\atexit.py:34)<br /><br />   at atexit$py.call_function(D:\TESTFI~1\FIJI-W~1\Fiji.app\jars\jython-2.7-b1.jar\Lib\atexit.py)<br /><br />   at org.python.core.PyTableCode.call(PyTableCode.java:165)<br /><br />   at org.python.core.PyBaseCode.call(PyBaseCode.java:120)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:337)<br /><br />   at org.python.core.PyFunction.__call__(PyFunction.java:332)<br /><br />   at org.python.core.PySystemState.callExitFunc(PySystemState.java:555)<br /><br />   at org.python.util.PythonInterpreter.cleanup(PythonInterpreter.java:344)<br /><br />   at Jython.Refresh_Jython_Scripts.runScript(Refresh_Jython_Scripts.java:90)<br /><br />   at common.RefreshScripts.runScript(RefreshScripts.java:328)<br /><br />   at fiji.scripting.TextEditor$Tab$6.execute(TextEditor.java:1225)<br /><br />   at fiji.scripting.TextEditor$Executer$1.run(TextEditor.java:1785)<br /><br /></code></dd></dl><br /><br />And I do not manage to understand what this error means. Do you have an idea ?<br /><br />Thanks for your help<br />Best regards<br />Tom<p>Statistics: Posted by <a href="http://theeyetribe.com/forum/memberlist.php?mode=viewprofile&amp;u=3258">skatatomgratte</a> — 05 May 2014, 22:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pgba@dtu.dk]]></name></author>
<updated>2014-04-07T11:17:50+02:00</updated>
<published>2014-04-07T11:17:50+02:00</published>
<id>http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=736#p736</id>
<link href="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=736#p736"/>
<title type="html"><![CDATA[Re: [Resolved] get the Server data]]></title>

<content type="html" xml:base="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=736#p736"><![CDATA[
@tomgratte: You will get only 6 seconds of data (2x the default timeout) if the heart beat is somehow not running.<br /><br />If you're testing my rough implementation, try to run the script as it is. The example usage is included at the end of the file; try to tweak the parameters so it runs for a longer time (like 1000 samples).<br /><br />It is meant to be used as a module, but if you use the file verbatim, the example code at the end should be deleted or commented out. If it is left as it is and you include it as a module, it can be causing problems like you've seen.<br /><br />Otherwise please post your own code snippets, and I could try to reproduce it here and see what happens.<p>Statistics: Posted by <a href="http://theeyetribe.com/forum/memberlist.php?mode=viewprofile&amp;u=1848">skatapgba@dtu.dk</a> — 07 Apr 2014, 11:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomgratte]]></name></author>
<updated>2014-04-02T10:09:27+02:00</updated>
<published>2014-04-02T10:09:27+02:00</published>
<id>http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=711#p711</id>
<link href="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=711#p711"/>
<title type="html"><![CDATA[Re: [Resolved] get the Server data]]></title>

<content type="html" xml:base="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=711#p711"><![CDATA[
Dear Sjobeek and pgba, <br /><br />thank you for sharing your interfaces. This is very helpful. I am encountering a problem with <span style="text-decoration: underline">both</span> of your implementations (peyetribe and pytribe): I can read eyetracking data only 180 times, which corresponds to around 6 seconds. I saw that you are mentioning this duration in a previous post, do you know what the problem is exactly ? Do you know how to fix it ? I would like to run the device for much longer.<br /><br />Thanks for sharing these implementations again<br />Best regards<br />Thomas<p>Statistics: Posted by <a href="http://theeyetribe.com/forum/memberlist.php?mode=viewprofile&amp;u=3258">skatatomgratte</a> — 02 Apr 2014, 10:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sjobeek@gmail.com]]></name></author>
<updated>2014-03-29T03:17:30+02:00</updated>
<published>2014-03-29T03:17:30+02:00</published>
<id>http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=645#p645</id>
<link href="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=645#p645"/>
<title type="html"><![CDATA[Re: [Resolved] get the Server data]]></title>

<content type="html" xml:base="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=645#p645"><![CDATA[
Thanks for the alternate implementation of the push-mode; only pull mode was working properly on my first attempt.  <br /><br />The develop branch of my pytribe repository is heavily modified, and does have pull mode working now.  It looks like your peyetribe interface is probably still easier to use, though  <img src="http://theeyetribe.com/forum/images/smilies/icon_e_biggrin.gif" alt=":D" title="Very Happy" /><p>Statistics: Posted by <a href="http://theeyetribe.com/forum/memberlist.php?mode=viewprofile&amp;u=1353">skatasjobeek@gmail.com</a> — 29 Mar 2014, 03:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pgba@dtu.dk]]></name></author>
<updated>2014-03-12T12:49:09+02:00</updated>
<published>2014-03-12T12:49:09+02:00</published>
<id>http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=552#p552</id>
<link href="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=552#p552"/>
<title type="html"><![CDATA[Re: [Resolved] get the Server data]]></title>

<content type="html" xml:base="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=552#p552"><![CDATA[
I tried the code above (thanks for your contributions, sjobeek!), and even if it did get me started, it unfortunately seems to pose some challenges: Push mode only works until two heartbeat periods have passed, and then the tracker stops sending data. This is caused by the heartbeats being sent on a separate socket, which kind of defeats its purpose.<br /><br />I've created another simple python interface here: <!-- m --><a class="postlink" href="https://github.com/baekgaard/peyetribe">https://github.com/baekgaard/peyetribe</a><!-- m --><br /><br />It is just a quick and simple approach to get gaze data from a (calibrated) tracker, but at least here it can run for periods longer than ~6 seconds. It has a minor race condition related to termination of push mode (it might leave a reply message hanging on the socket), so if you intend to alternate between push and pull mode, it might eventually cause some challenges. It also currently doesn't properly read individual lines from the socket -- I'll get to fix that soon, so that a slow client will be able to handle multiple buffered tracker frames in one read and not loose some of them.<br /><br />The interface is simple, and usage is like this:<br /><br /><dl class="codebox"><dt>Code: </dt><dd><code>tracker = EyeTribe()    # Create a tracker object (defaults to localhost:6555)<br />tracker.connect()       # Initiate the TCP/IP connection to the tracker<br /><br />n = tracker.next()      # Default is pull mode: Just get a frame from the tracker<br />                        # Access e.g. current gaze x coordinate as avg = n.getavg().x<br /><br />tracker.pushmode()      # Switch to push mode<br /><br />count = 0               # Print out the next 100 gaze coordinates<br />while count &lt; 100:<br />    n = tracker.next()  # Gets next coordinate from queue (blocking!), now in push mode<br />    sys.stderr.write(str(n) + '\n')<br />    count += 1<br /><br />tracker.pullmode()      # End push mode<br /><br />tracker.close()         # Disconnect from tracker</code></dd></dl><p>Statistics: Posted by <a href="http://theeyetribe.com/forum/memberlist.php?mode=viewprofile&amp;u=1848">skatapgba@dtu.dk</a> — 12 Mar 2014, 12:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[hejibo]]></name></author>
<updated>2014-02-09T15:43:19+02:00</updated>
<published>2014-02-09T15:43:19+02:00</published>
<id>http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=280#p280</id>
<link href="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=280#p280"/>
<title type="html"><![CDATA[Re: get the Server data]]></title>

<content type="html" xml:base="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=280#p280"><![CDATA[
Thanks, sjobeek. You are very helpful and remarkable. Thanks!<p>Statistics: Posted by <a href="http://theeyetribe.com/forum/memberlist.php?mode=viewprofile&amp;u=2213">skatahejibo</a> — 09 Feb 2014, 15:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sjobeek@gmail.com]]></name></author>
<updated>2014-02-09T10:57:03+02:00</updated>
<published>2014-02-09T10:57:03+02:00</published>
<id>http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=279#p279</id>
<link href="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=279#p279"/>
<title type="html"><![CDATA[Re: get the Server data]]></title>

<content type="html" xml:base="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=279#p279"><![CDATA[
I have pushed a slightly modified version of the code above to a github repository: <br /><br /><!-- m --><a class="postlink" href="https://github.com/sjobeek/pytribe">https://github.com/sjobeek/pytribe</a><!-- m --><br /><br />This code is definitely not optimal, but it should be good enough to play around with. See example.py for suggested use.<p>Statistics: Posted by <a href="http://theeyetribe.com/forum/memberlist.php?mode=viewprofile&amp;u=1353">skatasjobeek@gmail.com</a> — 09 Feb 2014, 10:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sjobeek@gmail.com]]></name></author>
<updated>2014-02-06T13:38:33+02:00</updated>
<published>2014-02-06T13:38:33+02:00</published>
<id>http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=258#p258</id>
<link href="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=258#p258"/>
<title type="html"><![CDATA[Re: get the Server data]]></title>

<content type="html" xml:base="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=258#p258"><![CDATA[
You can directly connect to the eye-tribe server using the built-in &quot;socket&quot; library.  Just start up the eye-tribe server separately, then calibrate with the eye-tribe UI, and the following code examples will work for you.  <br /><br /><br />I have created some simple Python functions which allow you to connect to the Eyetribe tracker server and request individual coordinates using the &quot;pull&quot; method - this seems to work up to a rate of about one request every 0.03 seconds. <br /><br />I am not too familiar with how to use the &quot;push&quot; communication method with sockets.  If anyone could give some advice it would be appreciated!<br /><br />See below for my code: <br /><br /><br />Here are the utility functions:<br /><dl class="codebox"><dt>Code: </dt><dd><code>import time, socket, Queue<br /><br />def jprint(your_json):<br />    import json<br />    parsed = json.loads(your_json)<br />    return json.dumps(parsed, indent=4, sort_keys=True)<br /><br /><br />def query_tracker(message=None):<br />    import socket<br />    HOST = 'localhost'<br />    PORT = 6555<br />    BUFFER_SIZE = 1024<br />    if message is None:<br />        message = &quot;&quot;&quot;{<br />            &quot;category&quot;: &quot;tracker&quot;,<br />            &quot;request&quot; : &quot;get&quot;,<br />            &quot;values&quot;: &#91; &quot;push&quot;, &quot;iscalibrated&quot; &#93;<br />        }&quot;&quot;&quot;<br />        <br />    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)<br />    s.connect((HOST, PORT))<br />    s.send(message)<br />    data = s.recv(BUFFER_SIZE)<br />    s.close()<br />    return jprint(data)<br /><br /><br />def extract_queue(q, l=None):<br />    if l == None: l = &#91;&#93;<br />    <br />    while True:<br />        try: <br />            l.append(q.get(block=False))<br />        except Queue.Empty: <br />            return l<br />            break<br /><br /><br />def connect_to_tracker(host = 'localhost', port = 6555, buffer_size = 1024):<br />    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)<br />    s.connect((host, port))<br />    return s<br />    <br />    <br />def queue_tracker_frames(queue, message=None, interval=0.03, points=100,<br />                        parse_func = lambda x: x&#91;'values'&#93;&#91;'frame'&#93;&#91;'raw'&#93;):<br />    if message == None:<br />        message = &quot;&quot;&quot;<br />        {<br />            &quot;category&quot;: &quot;tracker&quot;,<br />            &quot;request&quot; : &quot;get&quot;,<br />            &quot;values&quot;: &#91; &quot;frame&quot; &#93;<br />        }&quot;&quot;&quot;<br /><br />    import json<br />    s = connect_to_tracker()<br />    for _ in range(points):<br />        s.send(message)<br />        data = s.recv(1024)<br />        try: parsed = parse_func(json.loads(data))<br />        except ValueError: parsed = None    <br />        q.put(parsed)<br />        time.sleep(interval)<br />    s.close()<br />    try: parsed = json.loads(data)<br />    except ValueError: parsed = None<br /><br />        <br />def raw_value_tuples(raw_dict):<br />    raw_coords = raw_dict&#91;'values'&#93;&#91;'frame'&#93;&#91;'raw'&#93;<br />    x_y_tup = (raw_coords&#91;'x'&#93;,raw_coords&#91;'y'&#93;)<br />    return x_y_tup<br /><br />def heartbeat_loop(loops=None):<br />    if loops is None:<br />        while True:<br />            query_tracker(message='{&quot;category&quot;: &quot;heartbeat&quot;}')<br />            time.sleep(0.3)<br />    else:<br />        for _ in range(loops):<br />            query_tracker(message='{&quot;category&quot;: &quot;heartbeat&quot;}')<br />            time.sleep(0.3)<br /></code></dd></dl><br /><br />This code opens a new thread and begins sending heartbeats every 300ms: it stops after 100 hearbeats are sent (just remove the kwargs parameter to loop forever)<br /><dl class="codebox"><dt>Code: </dt><dd><code>import threading<br />hb_thread = threading.Thread(target=heartbeat_loop, kwargs={&quot;loops&quot;:100})<br />hb_thread.daemon = True<br />hb_thread.start()</code></dd></dl><br /><br />This code creates a Queue (first-in first-out, threadsafe communication channel) to store the output of the queue_tracker_frames function, which is run in a separate thread so execution isn't blocked:<br /><dl class="codebox"><dt>Code: </dt><dd><code>q=Queue.Queue()<br />query_thread = threading.Thread(target=<br />                queue_tracker_frames, args=(q,), <br />                kwargs=dict(parse_func=raw_value_tuples, points=50))<br />query_thread.start()</code></dd></dl><br /><br />Note that the &quot;queue_tracker_frames&quot; function can take another function as an optional argument (&quot;raw_value_tuples&quot; in this case).  That makes it easy to strip out only the data you want in the separate thread, and only send over the pieces you're interested in.  Just pass a function like &quot;lambda x: return x&quot; in order to get all of the data as a python dictionary. <br /><br />You can use this function to &quot;drain&quot; the queue and get all of the results:<br /><dl class="codebox"><dt>Code: </dt><dd><code>extract_queue(q)</code></dd></dl><p>Statistics: Posted by <a href="http://theeyetribe.com/forum/memberlist.php?mode=viewprofile&amp;u=1353">skatasjobeek@gmail.com</a> — 06 Feb 2014, 13:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Martin]]></name></author>
<updated>2014-02-05T10:19:55+02:00</updated>
<published>2014-02-05T10:19:55+02:00</published>
<id>http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=251#p251</id>
<link href="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=251#p251"/>
<title type="html"><![CDATA[Re: get the Server data]]></title>

<content type="html" xml:base="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=251#p251"><![CDATA[
Hi hejibo, <br /><br />I have very little experience with Python so I cannot assist you on the specifics. I know it is a popular language so I'm pretty sure we'll see a API wrapper in a near future. That's why I've opened a specific section for it. <br /><br />One thing to check is that you are sending the connect message to start streaming data:<br /><br /><dl class="codebox"><dt>Code: </dt><dd><code>{<br />  &quot;values&quot;:<br />  {<br />     &quot;push&quot;:true,<br />     &quot;version&quot;:1<br />  },<br />  &quot;category&quot;:&quot;tracker&quot;,<br />  &quot;request&quot;:&quot;set&quot;<br />}    </code></dd></dl><p>Statistics: Posted by <a href="http://theeyetribe.com/forum/memberlist.php?mode=viewprofile&amp;u=117">skataMartin</a> — 05 Feb 2014, 10:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[hejibo]]></name></author>
<updated>2014-02-04T23:35:03+02:00</updated>
<published>2014-02-04T23:35:03+02:00</published>
<id>http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=248#p248</id>
<link href="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=248#p248"/>
<title type="html"><![CDATA[[Resolved] get the Server data]]></title>

<content type="html" xml:base="http://theeyetribe.com/forum/viewtopic.php?t=67&amp;p=248#p248"><![CDATA[
Hello, <br /><br />I am trying to get the Server data in Python, which I am more familiar with. I tried to access it via <!-- m --><a class="postlink" href="http://localhost:6555">http://localhost:6555</a><!-- m --> in a browser. It returned the following information. <br />{&quot;category&quot;:&quot;tracker&quot;,&quot;statuscode&quot;:501,&quot;values&quot;:{&quot;statusmessage&quot;:&quot;Unknown category&quot;}}<br />It seems I did not get the information correct. What's wrong with it?<br /><br />Another way to get the data is by calling the TETApiConsole.exe in Python via a subprocess. <br />C:\Program Files (x86)\EyeTribe\Client\TETApiConsole.exe<br />If I can call it , then I can use Python to read the output in the console in a similar way as below. But I do not have all the information. How can I call the TETApiConsole.exe in Python? Thanks!<br /><br />#filters output<br />import subprocess<br />proc = subprocess.Popen(['python','fake_utility.py'],stdout=subprocess.PIPE)<br />while True:<br />  line = proc.stdout.readline()<br />  if line != '':<br />    #the real code does filtering here<br />    print &quot;test:&quot;, line.rstrip()<br />  else:<br />    break<p>Statistics: Posted by <a href="http://theeyetribe.com/forum/memberlist.php?mode=viewprofile&amp;u=2213">skatahejibo</a> — 04 Feb 2014, 23:35</p><hr />
]]></content>
</entry>
</feed>