<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>DataMatrix — Forum</title>
        <link>https://forum.cogsci.nl/</link>
        <pubDate>Sat, 11 Jul 2026 04:58:39 +0000</pubDate>
        <language>en</language>
            <description>DataMatrix — Forum</description>
    <atom:link href="https://forum.cogsci.nl/categories/datamatrix/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>DataMatrix modification in a loop is not propagated</title>
        <link>https://forum.cogsci.nl/discussion/9929/datamatrix-modification-in-a-loop-is-not-propagated</link>
        <pubDate>Mon, 04 Aug 2025 18:43:27 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>gerhono</dc:creator>
        <guid isPermaLink="false">9929@/discussions</guid>
        <description><![CDATA[<p>If you fill out the information below, we will be able to help you better. 😎 You can also consider asking SigmundAI.eu, our AI assistant with expert knowledge of OpenSesame.</p><p><strong>OpenSesame version</strong></p><p>[e.g. 4.0.24]</p><p><em>If you are running an online experiment, also provide the version of OSWeb, which is shown when you launch an experiment in a browser. We regularly fix bugs, so always make sure that you are running the latest version of OpenSesame and other relevant packages.</em></p><p><strong>Operating system</strong></p><p>[e.g. Windows 10 / macOS Ventura / Ubuntu 22.04]</p><p><em>If you are running an online experiment, also provide the browser version.</em></p><p><strong>Backend</strong></p><p>[PsychoPy / Expyriment / legacy / OSWeb]</p><p><em>You can find the backend under &quot;General Properties / Run experiment&quot;.</em></p><p><strong>Expected behavior</strong></p><p>[e.g. &quot;The experiment should play two sounds.&quot;]</p><p><em>Clearly explain what you would like to happen.</em></p><p><strong>Actual behavior (what goes wrong)</strong></p><p>[e.g. &quot;The experiment only plays one sound.&quot;]</p><p><em>Clearly explain what happens, and in what way this deviates from what you would like to happen.</em></p><p><strong>Error messages (if any)</strong></p><p>[Error message here]</p><p><em>Copy-paste the full error message from the console output at the bottom of the OpenSesame window (for the desktop version) or from the browser console (for OSWeb). You can also attach a screenshot.</em></p><p><strong>What did you try already?</strong></p><p>[e.g. &quot;I changed the backend, but it didn&#39;t help.&quot;]</p><p><em>Did you already reinstall OpenSesame, change the backend, check for similar issues on the forum, ask SigmundAI, or try anything else.?</em></p><p><strong>Experiment file (optional)</strong></p><p><em>Consider attaching attaching your .osexp file. If you do not want to share your experiment file, you can also attach a minimal version of the experiment that illustrates the issue.</em></p>]]>
        </description>
    </item>
    <item>
        <title>Handling Missing Values in Large DataMatrix Datasets</title>
        <link>https://forum.cogsci.nl/discussion/9800/handling-missing-values-in-large-datamatrix-datasets</link>
        <pubDate>Thu, 03 Apr 2025 10:54:36 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>deerretheler</dc:creator>
        <guid isPermaLink="false">9800@/discussions</guid>
        <description><![CDATA[<p>Hello</p><p>I am working with a large dataset using the DataMatrix library &amp; I have encountered an issue with handling missing values efficiently. Some columns have sporadic missing entries &amp; I am unsure about the best approach to fill or exclude them without distorting my analysis. What are the most effective methods within DataMatrix to identify, filter / impute missing values while preserving data integrity?</p><p>I have seen some general Python approaches using NumPy and Pandas but I&rsquo;d like to stay within the DataMatrix framework as much as possible. Should I replace missing values with column means, interpolate them / simply remove affected rows? Additionally, does DataMatrix provide built-in functions to handle these cases, or would I need to convert my dataset to another format for preprocessing? Checked <a href="https://datamatrix.cogsci.nl/" rel="nofollow">https://datamatrix.cogsci.nl/</a> guide for reference . </p><p>If anyone has experience dealing with missing values in DataMatrix, I&rsquo;d love to hear your approach. Are there any performance considerations when working with large <a href="https://www.igmguru.com/cyber-security/cissp-certification-training" rel="nofollow">CISSP Online Training</a> datasets? Any tips on best practices for handling missing data in an experimental or psychological research context would be greatly appreciated!</p><p><br /></p><p><br /></p><p>Thank you !!</p>]]>
        </description>
    </item>
    <item>
        <title>Select the correct sheet (XLSX)</title>
        <link>https://forum.cogsci.nl/discussion/9655/select-the-correct-sheet-xlsx</link>
        <pubDate>Wed, 08 Jan 2025 13:40:12 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>PSTO</dc:creator>
        <guid isPermaLink="false">9655@/discussions</guid>
        <description><![CDATA[<p>Hello, when I load an XLSX file, I would like to select the correct sheet, how to do that please ?</p>]]>
        </description>
    </item>
    <item>
        <title>Datamatrix to preprocess Tobii pupil data</title>
        <link>https://forum.cogsci.nl/discussion/9578/datamatrix-to-preprocess-tobii-pupil-data</link>
        <pubDate>Mon, 11 Nov 2024 23:14:58 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>Tryfonas_Bikos</dc:creator>
        <guid isPermaLink="false">9578@/discussions</guid>
        <description><![CDATA[<p>Hi!</p><p>I am trying to build my routines and workflow to analyze pupillometry and eye tracking data, using a Tobii eye tracker. I tried to use some toolboxes in matlab for preprocessing of pupil data, but to no avail.</p><p>I saw Mr. Mathot&#39;s tutorial on using datamatrix to preprocess the data (thank you for the precious contributions by the way!) but couldn&#39;t implement it directly, as he uses eyelink parser. Is there a way to make a Tobii parser to preprocess the data with datamatrix? Alternatively, are there any suggestions for intuitive and easy-to-implement ways to preprocess the pupil data? </p><p>Thanks in advance!</p>]]>
        </description>
    </item>
    <item>
        <title>Problem with a CSV type dataset</title>
        <link>https://forum.cogsci.nl/discussion/9552/problem-with-a-csv-type-dataset</link>
        <pubDate>Wed, 23 Oct 2024 19:00:47 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>JADES</dc:creator>
        <guid isPermaLink="false">9552@/discussions</guid>
        <description><![CDATA[<p>Cordilal salute,</p><p>I need someone&#39;s help, I have not been able to import a dataset that has 76,300 rows and 10 columns CSV type. I don&#39;t know why the error occurs. The software freezes. With smaller datasets the software imports them without problem, but the dataset that has 76,300 rows and 10 columns, JASP does not respond, does anyone know why? how could I import this dataset without problem?&nbsp;</p><p>Thank you in advance for your help and comments.</p><p>Fraternally,</p><p>JADES</p><div>
    <div>
        <a href="https://forum.cogsci.nl/uploads/315/WB01LWQT2EL2.png" rel="nofollow noopener" target="_blank">
            <img src="https://forum.cogsci.nl/uploads/315/WB01LWQT2EL2.png" alt="image.png" />
        </a>
    </div>
</div>
<p><br /></p>]]>
        </description>
    </item>
    <item>
        <title>RecursionError when looping DataMatrix</title>
        <link>https://forum.cogsci.nl/discussion/9551/recursionerror-when-looping-datamatrix</link>
        <pubDate>Wed, 23 Oct 2024 14:18:26 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>SpacePenguins</dc:creator>
        <guid isPermaLink="false">9551@/discussions</guid>
        <description><![CDATA[<p>Hi,</p><p>When I do a simple loop over a DataMatrix object in OpenSesame I get: RecursionError: maximum recursion depth exceeded.</p><p>Code:</p><pre spellcheck="false">from datamatrix import DataMatrix

dm = DataMatrix(length=5)
dm.fibonacci = 0, 1, 1, 2, 3
for row in dm:
  print(row.fibonacci)
</pre><p>Error:</p><pre spellcheck="false">File C:\Program Files (x86)\OpenSesame\Lib\site-packages\datamatrix\_datamatrix\_row.py:78, in Row.__getattr__(self, key)
&nbsp;&nbsp;&nbsp;&nbsp; 76 def __getattr__(self, key):
---&gt; 78&nbsp;&nbsp;&nbsp;&nbsp; return self.__getitem__(key)

File C:\Program Files (x86)\OpenSesame\Lib\site-packages\datamatrix\_datamatrix\_row.py:84, in Row.__getitem__(self, key)
&nbsp;&nbsp;&nbsp;&nbsp; 82 if isinstance(key, int):
&nbsp;&nbsp;&nbsp;&nbsp; 83&nbsp;&nbsp;&nbsp;&nbsp; key = self._datamatrix.column_names[key]
---&gt; 84 return self._datamatrix[key][self._index]

File C:\Program Files (x86)\OpenSesame\Lib\site-packages\datamatrix\_datamatrix\_row.py:78, in Row.__getattr__(self, key)
&nbsp;&nbsp;&nbsp;&nbsp; 76 def __getattr__(self, key):
---&gt; 78&nbsp;&nbsp;&nbsp;&nbsp; return self.__getitem__(key)

File C:\Program Files (x86)\OpenSesame\Lib\site-packages\datamatrix\_datamatrix\_row.py:84, in Row.__getitem__(self, key)
&nbsp;&nbsp;&nbsp;&nbsp; 82 if isinstance(key, int):
&nbsp;&nbsp;&nbsp;&nbsp; 83&nbsp;&nbsp;&nbsp;&nbsp; key = self._datamatrix.column_names[key]
---&gt; 84 return self._datamatrix[key][self._index]

&nbsp;&nbsp;&nbsp; [... skipping similar frames: Row.__getattr__ at line 78 (1484 times), Row.__getitem__ at line 84 (1483 times)]

File C:\Program Files (x86)\OpenSesame\Lib\site-packages\datamatrix\_datamatrix\_row.py:84, in Row.__getitem__(self, key)
&nbsp;&nbsp;&nbsp;&nbsp; 82 if isinstance(key, int):
&nbsp;&nbsp;&nbsp;&nbsp; 83&nbsp;&nbsp;&nbsp;&nbsp; key = self._datamatrix.column_names[key]
---&gt; 84 return self._datamatrix[key][self._index]

File C:\Program Files (x86)\OpenSesame\Lib\site-packages\datamatrix\_datamatrix\_row.py:78, in Row.__getattr__(self, key)
&nbsp;&nbsp;&nbsp;&nbsp; 76 def __getattr__(self, key):
---&gt; 78&nbsp;&nbsp;&nbsp;&nbsp; return self.__getitem__(key)

RecursionError: maximum recursion depth exceeded
</pre>]]>
        </description>
    </item>
    <item>
        <title>Memoize permission Error</title>
        <link>https://forum.cogsci.nl/discussion/9364/memoize-permission-error</link>
        <pubDate>Fri, 14 Jun 2024 07:46:20 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>Bernd_Douze</dc:creator>
        <guid isPermaLink="false">9364@/discussions</guid>
        <description><![CDATA[<p>I&#39;ve been working on a project in which I&#39;ve decided to analyze both pupils. For this I&#39;m using the eyelink parser, then load in the data twice (once for the right eye, once for the left eye). All this works perfectly, untill I get to 17 files. Suddenly i get the error message: </p><div><div><p>PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: &#39;.memoize\\.2839819153104-7068.memmap&#39;</p></div></div><p>When I remove any file (tried multiple different ones) the error disappears and it works fine again. I accepted this as the limit, which is still found a little strange since 16 files is not that much, so I made an new folder, added the next 16 files in there, made the loading a function that uses the right paths and the eyelink parser. But then suddenly it can only take 10 files and not even 16 anymore. Made a new folder, that one could store 10 again, but the next one only 8. So i&#39;m a little lost. It also does not seem to be caused by the size of the folder (they range from 800mb (do not work) to 1070 mb (still work)). </p><pre spellcheck="false">@fnc.memoize(persistent=True)
def get_data(folder_path):

    # The heavy lifting is done by eyelinkparser.parse()
    dm = parse(
        folder=folder_path,       # Folder path to .asc files
        traceprocessor=defaulttraceprocessor(
          blinkreconstruct=True,  # Interpolate pupil size during blinks
          downsample=10,          # Reduce sampling rate to 100 Hz,
          mode=&#39;advanced&#39;         # Use the new &#39;advanced&#39; algorithm
        )
    )
    dm = dm[dm.trialid, dm.blockcount, dm.invalid, dm.ptrace_bl, dm.ptrace_stim, dm.participant,
            dm.stim_con, dm.xtrace_stim, dm.ytrace_stim, dm.xtrace_bl, dm.ytrace_bl, dm.condition, dm.tact1]
    dm = dm.invalid == 0  # to filter all the invalid trials
    dm = dm.trialid != 0  # to filter the duplicate first trials

    return dm


get_data.clear()                                                           # clear data, otherwise is stored
left_folder = &#39;C:\\N&amp;C Internship\\DATA_ANALYSIS\\Left_20_25&#39;      # path for the left eye placebo
right_folder = &#39;C:\\N&amp;C Internship\\DATA_ANALYSIS\\Right_20_25&#39; 

this is the general code i use in which i can the folder paths to 1_8, 9_13, 14_19
</pre><p>Long story short, my question is: what are the limitations of the memoize function and how can i prevent this from happening? Is there a better way to load in all the data (I have 4 files per participant, 2 sessions x 2 eyes, 32 participants). </p><p>Any help is welcome, thank you in advance!</p>]]>
        </description>
    </item>
    <item>
        <title>How to deal with Heywood case</title>
        <link>https://forum.cogsci.nl/discussion/9248/how-to-deal-with-heywood-case</link>
        <pubDate>Fri, 12 Apr 2024 03:06:38 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>BEANS</dc:creator>
        <guid isPermaLink="false">9248@/discussions</guid>
        <description><![CDATA[<p>When I did CFA in scale validation, some of the questions have a negative value even though it&#39;s not even reverse scoring. I heard this is a Haywood case, how should I explain this in the paper?</p>]]>
        </description>
    </item>
    <item>
        <title>[Rasch - category probability]</title>
        <link>https://forum.cogsci.nl/discussion/9247/rasch-category-probability</link>
        <pubDate>Fri, 12 Apr 2024 02:57:20 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>BEANS</dc:creator>
        <guid isPermaLink="false">9247@/discussions</guid>
        <description><![CDATA[<p>hi, I don&#39;t know where to ask about IRT and Rasch thing in here... so I just post it. </p><p><br /></p><p>Question is &#39;how to do IRT plot in Jemerik].</p><p>I can make each item to category probability &#39;graph -&gt; IRT plot&#39;, </p><p>but how to make each &#39;factor&#39; category probability graph</p><div>
    <div>
        <a href="https://forum.cogsci.nl/uploads/883/K99W6Z0PAD3S.png" rel="nofollow noopener" target="_blank">
            <img src="https://forum.cogsci.nl/uploads/883/K99W6Z0PAD3S.png" alt="image.png" />
        </a>
    </div>
</div>
<p><br /></p><p>sorry for posting like this, but if someone know how to do this things... please leave comments</p>]]>
        </description>
    </item>
    <item>
        <title>Blink reconstruction parameters</title>
        <link>https://forum.cogsci.nl/discussion/9029/blink-reconstruction-parameters</link>
        <pubDate>Thu, 14 Dec 2023 17:28:48 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>navidivan</dc:creator>
        <guid isPermaLink="false">9029@/discussions</guid>
        <description><![CDATA[<div data-embedjson="{&quot;url&quot;:&quot;https:\/\/forum.cogsci.nl\/uploads\/475\/PUZ65OX97B4Y.png&quot;,&quot;name&quot;:&quot;blink_fixing.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:83869,&quot;width&quot;:1790,&quot;height&quot;:390,&quot;embedType&quot;:&quot;file&quot;}">
    <a rel="nofollow" href="https://forum.cogsci.nl/uploads/475/PUZ65OX97B4Y.png" download="" aria-label="blink_fixing.png">
        blink_fixing.png
    </a>
</div><div data-embedjson="{&quot;url&quot;:&quot;https:\/\/forum.cogsci.nl\/uploads\/165\/5G862Y1QTNQC.png&quot;,&quot;name&quot;:&quot;blink_fixing_2.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:69005,&quot;width&quot;:1789,&quot;height&quot;:390,&quot;embedType&quot;:&quot;file&quot;}">
    <a rel="nofollow" href="https://forum.cogsci.nl/uploads/165/5G862Y1QTNQC.png" download="" aria-label="blink_fixing_2.png">
        blink_fixing_2.png
    </a>
</div><div data-embedjson="{&quot;url&quot;:&quot;https:\/\/forum.cogsci.nl\/uploads\/872\/APDQYZ4OABU4.png&quot;,&quot;name&quot;:&quot;blink_fixing_3.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:65987,&quot;width&quot;:1789,&quot;height&quot;:390,&quot;embedType&quot;:&quot;file&quot;}">
    <a rel="nofollow" href="https://forum.cogsci.nl/uploads/872/APDQYZ4OABU4.png" download="" aria-label="blink_fixing_3.png">
        blink_fixing_3.png
    </a>
</div><p>the smoothing and blink_reconstruction functions are not working very well, and I have a difficult time tuning the hyperparameters. I get better results by using standard conv1D smoothing procedures. I was wondering if I am using bad hyperparameters, or something else is wrong. I am using Data Bins of 20ms in the raw csv file. attached and attached are some sample reconstructions. I tried a bunch of different hyperparameters and could not find something that worked.</p>]]>
        </description>
    </item>
    <item>
        <title>Parsing data without pygaze (pylink)</title>
        <link>https://forum.cogsci.nl/discussion/9028/parsing-data-without-pygaze-pylink</link>
        <pubDate>Thu, 14 Dec 2023 17:26:13 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>navidivan</dc:creator>
        <guid isPermaLink="false">9028@/discussions</guid>
        <description><![CDATA[<p>&nbsp;We are performing various experiments involving pupillometry.&nbsp;We are interested in using your established and automated workflow for data preprocessing using datamatrix.</p><p><br /></p><p>I cannot parse the data correctly using the existing code. I noticed the ASC file has a different set of messages. For example, here is the messages in our file example (attached). I only could manage to parse the file by changing the source code to:</p><p>def&nbsp;is_start_trial(self, l):</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# MSG 6735155 start_trial 1</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;self.match(l, u&#39;MSG&#39;,&nbsp;int, u&#39;TRIALID&#39;, ANY_VALUE):</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.trialid = l[3]</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.current_phase =&nbsp;None</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;True</p><p> but this was enough and still the resulting datamatrix does not have the pupil data. Is there some workflow to change the defualt format created from an experiment by pylink only to be used and parsed?</p><p>Attached is some lines of the .asc file created</p><p>MSG	11751341 TRIALID 1</p><p>MSG	11751344 RECCFG CR 500 2 1 L</p><p>MSG	11751344 ELCLCFG MTABLER</p><p>MSG	11751344 GAZE_COORDS 0.00 0.00 1919.00 1199.00</p><p>MSG	11751344 THRESHOLDS L 54 206</p><p>MSG	11751344 ELCL_WINDOW_SIZES 176 188 0 0</p><p>MSG	11751344 CAMERA_LENS_FOCAL_LENGTH 38.00&nbsp;</p><p>MSG	11751344 PUPIL_DATA_TYPE RAW_AUTOSLIP</p><p>MSG	11751344 ELCL_PROC CENTROID (3)</p><p>MSG	11751344 ELCL_PCR_PARAM 5 3.0</p><p>START	11751345 	LEFT	SAMPLES	EVENTS</p><p>PRESCALER	1</p><p>VPRESCALER	1</p><p>PUPIL	AREA</p><p>EVENTS	GAZE	LEFT	RATE	 500.00	TRACKING	CR	FILTER	2</p><p>SAMPLES	GAZE	LEFT	RATE	 500.00	TRACKING	CR	FILTER	2	INPUT</p><p>INPUT	11751345	127</p><p>MSG	11751345 !MODE RECORD CR 500 2 1 L</p><p>11751345	&nbsp;997.2	&nbsp;517.6	 1390.0	&nbsp;127.0	...</p><p>11751347	&nbsp;998.7	&nbsp;523.2	 1393.0	&nbsp;127.0	...</p><p>SFIX L&nbsp;&nbsp;11751349</p><p>11751349	&nbsp;999.7	&nbsp;521.5	 1394.0	&nbsp;127.0	...</p><p>11751351	 1001.5	&nbsp;518.4	 1392.0	&nbsp;127.0	...</p><p>MSG	11751352 trial_onset</p><p>11751353	 1000.8	&nbsp;519.9	 1391.0	&nbsp;127.0	...</p><p>11751355	&nbsp;999.4	&nbsp;518.5	 1389.0	&nbsp;127.0	...</p><p>11751357	&nbsp;999.8	&nbsp;517.4	 1391.0	&nbsp;127.0	...</p><p>11751359	 1001.7	&nbsp;517.5	 1394.0	&nbsp;127.0	...</p>]]>
        </description>
    </item>
    <item>
        <title>Eyelink parser conda install?</title>
        <link>https://forum.cogsci.nl/discussion/8542/eyelink-parser-conda-install</link>
        <pubDate>Wed, 19 Apr 2023 16:17:28 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>JasperdeWaard</dc:creator>
        <guid isPermaLink="false">8542@/discussions</guid>
        <description><![CDATA[<p>Hello wizards,</p><p>I&#39;m trying to run the code on: <a href="https://pydatamatrix.eu/eyelinkparser/" rel="nofollow">https://pydatamatrix.eu/eyelinkparser/</a></p><p>However, there seems to be a problem with the dependencies. </p><p><br /></p><p>When I run this code:</p><p>from datamatrix import (</p><p>&nbsp;operations as ops,</p><p>&nbsp;functional as fnc,</p><p>&nbsp;series as srs</p><p>)</p><p>from eyelinkparser import parse, defaulttraceprocessor</p><p><br /></p><p>The last line returns this error:</p><p>ImportError: cannot import name &#39;cached&#39; from &#39;datamatrix&#39;</p><p><br /></p><p>I have used pip install because conda was not available, but I usually use conda, so perhaps that is the problem. Are there any known workarounds?</p><p>Cheers,</p><p>Jasper</p>]]>
        </description>
    </item>
    <item>
        <title>Question regarding interpolating or removing invalid pupillometry data</title>
        <link>https://forum.cogsci.nl/discussion/8477/question-regarding-interpolating-or-removing-invalid-pupillometry-data</link>
        <pubDate>Wed, 15 Mar 2023 21:47:07 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>dbquintela</dc:creator>
        <guid isPermaLink="false">8477@/discussions</guid>
        <description><![CDATA[<p>Hi all,</p><p>I was reading <a href="https://doi.org/10.3758/s13428-022-01957-7" rel="nofollow">Methods in cognitive pupillometry: Design, preprocessing, and statistical analysis</a> which uses DataMatrix library to preprocess the pupillometry data, and one question I have is regarding the preprocessing step of detecting blinks and artifacts.</p><p>What is the best approach for applying those algorithms, such as blinkreconstruct()? Should these algorithms be applied to the entire pupillometry data of an experiment or to each block or trial separately, and are there any differences between these approaches?</p><p>Thank you all in advance!</p>]]>
        </description>
    </item>
    <item>
        <title>Using DataMatrix with Tobii_Pro eyetracker?</title>
        <link>https://forum.cogsci.nl/discussion/5317/using-datamatrix-with-tobii-pro-eyetracker</link>
        <pubDate>Fri, 19 Jul 2019 10:15:17 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>alexkarousou</dc:creator>
        <guid isPermaLink="false">5317@/discussions</guid>
        <description><![CDATA[<p>Many thanks to <a data-username="sebastiaan" data-userid="1" rel="nofollow" href="https://forum.cogsci.nl/profile/sebastiaan">@sebastiaan</a> for contributing another excellent tool!</p><p>My question: Has anyone used Data Matrix for processing/analyzing data from a Tobii eyetracker?</p><p>In order to be able to compare the Tobii vs. Eyelink output files, I tried to read the Eyelink edf files of the semantic_pupil experiment <a href="https://github.com/smathot/semantic_pupil/tree/master/analysis" rel="nofollow">https://github.com/smathot/semantic_pupil/tree/master/analysis</a>, with no luck. I cannot convert the .edf files to .asc. Could someone, perhaps, upload one as .asc (or other readable format)?</p><p>I am also attaching two screenshots of a Tobii X3-120 output .tsv file. </p><p>Note that missing (-1) values in pupil size are due to Tobii X3-120 reporting pupil size only in bright pupil mode which is used only every third sample. Thus although this model records eye gaze at 120Hz, it records pupil size at only 40Hz -as this is only a pilot study, I guess this is not too important.</p><p><br /></p><div>
    <div>
        <a href="http://forum.cogsci.nl/uploads/522/96BKXMP9FU2C.jpg" rel="nofollow noopener" target="_blank">
            <img src="http://forum.cogsci.nl/uploads/522/96BKXMP9FU2C.jpg" alt="Tobii Pro X3-120 output 1.jpg" />
        </a>
    </div>
</div>
<div>
    <div>
        <a href="http://forum.cogsci.nl/uploads/640/FIMOORLPMNAC.jpg" rel="nofollow noopener" target="_blank">
            <img src="http://forum.cogsci.nl/uploads/640/FIMOORLPMNAC.jpg" alt="Tobii Pro X3-120 output 2.jpg" />
        </a>
    </div>
</div>
<p><br /></p><p>Any advice would be more than welcome!</p><p>Best,</p><p>Alexandra</p>]]>
        </description>
    </item>
    <item>
        <title>New Row per trial in DataMatrix</title>
        <link>https://forum.cogsci.nl/discussion/7926/new-row-per-trial-in-datamatrix</link>
        <pubDate>Mon, 11 Apr 2022 14:06:07 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>Jenna004</dc:creator>
        <guid isPermaLink="false">7926@/discussions</guid>
        <description><![CDATA[<p>Hi there, </p><p>I am trying to create a datamatrix and add a new row per trial. What happens so far is that I am adding a new row with x (number of trials) times the input of the latest row...  </p><p>Here a piece of the code, where rate corresponds to an array saving 4 slider positions</p><div>
    <div>
        <a href="https://forum.cogsci.nl/uploads/926/B7GZCLRIUKEM.png" rel="nofollow noopener" target="_blank">
            <img src="https://forum.cogsci.nl/uploads/926/B7GZCLRIUKEM.png" alt="Bildschirmfoto 2022-04-11 um 16.01.50.png" />
        </a>
    </div>
</div>
<p>and here some output of the command print(dm):</p><div>
    <div>
        <a href="https://forum.cogsci.nl/uploads/866/YTSXRCGJK1ZD.png" rel="nofollow noopener" target="_blank">
            <img src="https://forum.cogsci.nl/uploads/866/YTSXRCGJK1ZD.png" alt="Bildschirmfoto 2022-04-11 um 16.04.14.png" />
        </a>
    </div>
</div>
<p><br /></p><p>Cheers for any suggestions :-)</p>]]>
        </description>
    </item>
    <item>
        <title>eyelinkparser reads esacc?</title>
        <link>https://forum.cogsci.nl/discussion/7708/eyelinkparser-reads-esacc</link>
        <pubDate>Fri, 21 Jan 2022 14:23:59 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>mlerebourg</dc:creator>
        <guid isPermaLink="false">7708@/discussions</guid>
        <description><![CDATA[<p>Hi Sebastian, </p><p>I recently downloaded the eyelinkparser. This generally looks like a very useful toolbox and I tried to read in my data, comparing it with the output of another script I had previously written and in which I mostly analyse fixations. I noticed some mismatches and after checking the original .asc file I saw that certain values in the lists for fixation onsets/ends/coordinates seem to correspond to values in ESACC lines, rather than EFIX. Could it be that those are similarly read in as fixations?</p><p> I&#39;m not sure I have correctly understood what&#39;s going on, but I guess the match function in the Fixation class could be used to check this, but I don&#39;t see where it is used in the current code.  Is there maybe something I would have to add or adjust? </p><p>Thanks a lot for any help :) </p><p>Ma&euml;lle</p>]]>
        </description>
    </item>
    <item>
        <title>What app can read Data Matrix codes?</title>
        <link>https://forum.cogsci.nl/discussion/7132/what-app-can-read-data-matrix-codes</link>
        <pubDate>Sat, 17 Apr 2021 09:41:55 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>andrew85</dc:creator>
        <guid isPermaLink="false">7132@/discussions</guid>
        <description><![CDATA[<p>For those who do not know what are Data Matrix codes, imagine a QR code, but without the 3 iconic &quot;squares&quot; in the corners. You have probably seen those on stuff like shipping labels, and certain documents. You could also google &quot;data matrix code&quot; and see what I exactly mean.</p><p>Problem is, there are tons of apps meant to read QR codes, but I have found absolutely none that can read these &quot;unusual codes&quot; like DataMatrix or Aztec codes. Any app that can read those?</p><p>EDIT: Answered.</p>]]>
        </description>
    </item>
    <item>
        <title>baseline correction on data recorded by Pupil Core device</title>
        <link>https://forum.cogsci.nl/discussion/7073/baseline-correction-on-data-recorded-by-pupil-core-device</link>
        <pubDate>Mon, 29 Mar 2021 11:44:50 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>Zahra</dc:creator>
        <guid isPermaLink="false">7073@/discussions</guid>
        <description><![CDATA[<p>I am very new to Series and DataMatrix and I am just starting to learn how to apply preprocessing methods to my pupil size data recorded by the Pupil Core device. </p><p>The device gives out pupil size measures in the form of .csv files. </p><p>I need to know how to prepare (parse?) my data so that I can apply all the functions to it, such as srs.baseline, smooth, blinkreconstruct, etc. </p><p>A gist containing an example of my data is here: </p><p><a href="https://gist.github.com/Zahra-on-Github/aa67a3e309fa66582a118f5c08509f77" rel="nofollow">https://gist.github.com/Zahra-on-Github/aa67a3e309fa66582a118f5c08509f77</a> </p><p>pupil_positions.csv is my main data, in which pupil size in under the column: diameter_3d </p><p>I would appreciate some guidance on how to do the baseline correction as the first step.</p>]]>
        </description>
    </item>
    <item>
        <title>length argument missing from DataMatrix() package installation on Mac</title>
        <link>https://forum.cogsci.nl/discussion/5996/length-argument-missing-from-datamatrix-package-installation-on-mac</link>
        <pubDate>Mon, 20 Apr 2020 09:53:57 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>kvonholzen</dc:creator>
        <guid isPermaLink="false">5996@/discussions</guid>
        <description><![CDATA[<p>Hi! Together with a research assistant I am currently putting together a couple Open Sesame Tutorials for thesis students in my lab, as well as anyone else who is interested (shameless self-promotion here: <a href="https://kvonholzen.github.io/Tutorials.html" rel="nofollow">https://kvonholzen.github.io/Tutorials.html</a>). In two of my tutorials, I use DataMatrix to create and control the information sent to experimental loops. </p><p>I created the Tutorials on my computer running Windows 10, and my student is working through the tutorials on her computer running a Mac OS. Unfortunately, we haven&#39;t gotten very far, because my assistant is unable to create a DataMatrix. When typing in this code:</p><p>from datamatrix import DataMatrix</p><p>dm = DataMatrix(length=6)</p><p>she gets the following error:</p><div>
    <div>
        <a href="https://forum.cogsci.nl/uploads/500/WPBMKV7NEA61.png" rel="nofollow noopener" target="_blank">
            <img src="https://forum.cogsci.nl/uploads/500/WPBMKV7NEA61.png" alt="Bildschirmfoto 2020-04-16 um 13.57.03.png" />
        </a>
    </div>
</div>
<p>I have a feeling that something is wrong with the installation of the DataMatrix package, but trying to upgrade tells us that it is the most recent version.</p><p>Here is her system information:</p><h2>System</h2><ul><li>System: Darwin-19.4.0-x86_64-i386-64bit</li><li>Architektur: 64bit</li></ul><h2>Module and Pakete</h2><ul><li>OpenSesame 3.2.8</li><li>Python 2.7.15 |Anaconda, Inc.| (default, Nov 13 2018, 17:07:45) [GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]</li><li>QProgEdit 4.1.2</li><li>datamatrix [version unknown]</li><li>qdatamatrix 0.1.18</li><li>pseudorandom [not available]</li><li>fileinspector 1.0.2</li><li>QNotifications 2.0.3</li><li>QOpenScienceFramework 1.3.0</li><li>opencv [not available]</li><li>expyriment 0.9.1b2-11-gc100ee8</li><li>IPython 5.5.0</li><li>numpy 1.14.2</li><li>scipy 1.0.1</li><li>PIL/ PILLOW 1.1.7</li><li>psychopy 1.85.3</li><li>pygame 1.9.3</li><li>pygaze 0.6.0a25</li><li>pyglet 1.2.4</li><li>PyQt 5.9.2</li><li>serial 3.4</li><li>markdown 2.6.9</li><li>yaml 3.12</li></ul><p><br /></p><p>Apologies for posting on her behalf, she is brand new to Open Sesame and Python coding and I feel responsible for solving this problem.</p><p>Thank you in advance for any suggestions!</p><p>Katie Von Holzen</p>]]>
        </description>
    </item>
    <item>
        <title>eyelinkparser.parse returns empty list</title>
        <link>https://forum.cogsci.nl/discussion/5891/eyelinkparser-parse-returns-empty-list</link>
        <pubDate>Mon, 23 Mar 2020 09:53:56 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>Pibe_Chorro</dc:creator>
        <guid isPermaLink="false">5891@/discussions</guid>
        <description><![CDATA[<p>Dear everybody,</p><p><br /></p><p>working on my master thesis I want to analyse some eyetracking data and found your toolbox, which seems pretty cool to me. </p><p>But sadly it does not work properly with my data. When calling eyelinkparser.parse on the folder containing my data it returns an empty list. Strangly it works fine with your example data.</p><p>I inspected your and my data files but cannot find any significant differences. The only difference I can find is in my data I have: </p><p><br /></p><p><code spellcheck="false">&nbsp;&nbsp;&nbsp;10350642&nbsp;&nbsp;&nbsp;&nbsp;864.3&nbsp;&nbsp;&nbsp;&nbsp;542.7&nbsp;&nbsp;&nbsp;&nbsp;2317.0 </code></p><p><br /></p><p>and in yours I have: </p><p><br /></p><p><code spellcheck="false">&nbsp;&nbsp;&nbsp;1030724&nbsp;&nbsp;&nbsp;&nbsp;223.7&nbsp;&nbsp;&nbsp;&nbsp;381.1&nbsp;&nbsp;&nbsp;&nbsp;1431.0&nbsp;&nbsp;&nbsp;... </code></p><p><br /></p><p>Do those three dots make the difference? I tried adding those points to a couple of data points, but that did not change anything.</p><p>Here some header info, if it helps:</p><pre spellcheck="false">** CONVERTED FROM s1b1r1.edf using edfapi 3.1 Linux Mar&nbsp;9 2017 on Thu Mar 19 09:42:35 2020 
** DATE: Mon Feb&nbsp;3 10:28:19 2020 
** TYPE: EDF_FILE BINARY EVENT SAMPLE TAGGED 
** VERSION: EYELINK II 1 
** SOURCE: EYELINK CL 
** EYELINK II CL v5.12 May 12 2017 
** CAMERA: Eyelink GL Version 1.2 Sensor=AF7 
** SERIAL NUMBER: CLG-BEC12 
** CAMERA_CONFIG: BEC12200.SCD 
**
</pre><p><br /></p><p>Cheers Vincent</p>]]>
        </description>
    </item>
    <item>
        <title>Applying functions (e.g. mean, sd) across variables</title>
        <link>https://forum.cogsci.nl/discussion/5183/applying-functions-e-g-mean-sd-across-variables</link>
        <pubDate>Sat, 25 May 2019 10:33:29 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>BobMuenchen</dc:creator>
        <guid isPermaLink="false">5183@/discussions</guid>
        <description><![CDATA[<p>I&#39;d like to apply some standard functions across rows. For example, to get the mean of some scale items on a survey I could use the R code (Q1 + Q2 + Q3) / 3, but if any one of those is missing, the result would be missing. I&#39;d like the result to be the mean of the non-missing values. I&#39;d like to do this in general, so that I could get the median, sd, etc.  Is this possible?  Thanks!</p>]]>
        </description>
    </item>
    <item>
        <title>Type Error in Pupil Reconstruction</title>
        <link>https://forum.cogsci.nl/discussion/4781/type-error-in-pupil-reconstruction</link>
        <pubDate>Sat, 26 Jan 2019 06:58:15 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>Weizhe_Li</dc:creator>
        <guid isPermaLink="false">4781@/discussions</guid>
        <description><![CDATA[<p>Hello, <br />
I'm processing the data collected by eyelink 1000+, and translated the data to <code>.csv</code> file. Here's the preprocessing procedure:<br />
1. Read <code>.csv</code> data<br />
<img src="http://forum.cogsci.nl/uploads/editor/84/bcwbuhcu5ttp.png" alt="" title="" /><br />
2. Then I translate the dtype of pupil data from <code>object</code> to <code>float</code>.<br />
<img src="http://forum.cogsci.nl/uploads/editor/th/jdievggwm38y.png" alt="" title="" /><br />
3. Write to datamatrix and do pupil reconstruction but TypeEorror shown up<br />
<img src="http://forum.cogsci.nl/uploads/editor/yp/9t0r5ab885k6.png" alt="" title="" /></p>

<p>Error Log:</p>

<pre><code>---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
&lt;ipython-input-99-1398dfa59801&gt; in &lt;module&gt;
      1 dm = DataMatrix(length=1500)
      2 dm.pupil = df['LEFT_PUPIL_SIZE'][1359:2859]
----&gt; 3 dm.recon = blinkreconstruct(dm.pupil, smooth_winlen=21)

~/miniconda3/lib/python3.7/site-packages/datamatrix/_datamatrix/_datamatrix.py in __setattr__(self, name, value)
    571                         self._set_default_col_type(value)
    572                         return
--&gt; 573                 self._set_col(name, value)
    574 
    575         def __delitem__(self, value):

~/miniconda3/lib/python3.7/site-packages/datamatrix/_datamatrix/_datamatrix.py in _set_col(self, name, value)
    472                 if name not in self:
    473                         self._cols[name] = self._default_col_type(self)
--&gt; 474                 self._cols[name][:] = value
    475                 self._mutate()
    476 

~/miniconda3/lib/python3.7/site-packages/datamatrix/_datamatrix/_basecolumn.py in __setitem__(self, key, value)
    820                         self._setintkey(key, value)
    821                 elif isinstance(key, slice):
--&gt; 822                         self._setslicekey(key, value)
    823                 elif isinstance(key, collections.Sequence):
    824                         self._setsequencekey(key, value)

~/miniconda3/lib/python3.7/site-packages/datamatrix/_datamatrix/_basecolumn.py in _setslicekey(self, key, value)
    521                         return
    522                 length = len(self._seq[key])
--&gt; 523                 self._seq[key] = self._tosequence(value, length)
    524 
    525         def _setsequencekey(self, key, val):

~/miniconda3/lib/python3.7/site-packages/datamatrix/_datamatrix/_basecolumn.py in _tosequence(self, value, length)
    388                 if len(value) != length:
    389                         raise Exception('Sequence has incorrect length: %s' % len(value))
--&gt; 390                 return [self._checktype(cell) for cell in value]
    391 
    392         def _getintkey(self, key):

~/miniconda3/lib/python3.7/site-packages/datamatrix/_datamatrix/_basecolumn.py in &lt;listcomp&gt;(.0)
    388                 if len(value) != length:
    389                         raise Exception('Sequence has incorrect length: %s' % len(value))
--&gt; 390                 return [self._checktype(cell) for cell in value]
    391 
    392         def _getintkey(self, key):

~/miniconda3/lib/python3.7/site-packages/datamatrix/_datamatrix/_basecolumn.py in _checktype(self, value)
    326                         return value
    327                 if not isinstance(value, BASESTRING_OR_NUMBER):
--&gt; 328                         raise TypeError('Invalid type: %s' % value)
    329                 if fastnumbers:
    330                         return self._checktype_fastnumber(value)

TypeError: Invalid type: 1599
</code></pre>

<p>What can I do to fix this bug, please?</p>

<p>Sincerely<br />
Weizhe Li</p>
]]>
        </description>
    </item>
    <item>
        <title>Not able to read .asc file generated by eyelink 1000+</title>
        <link>https://forum.cogsci.nl/discussion/4745/not-able-to-read-asc-file-generated-by-eyelink-1000</link>
        <pubDate>Fri, 18 Jan 2019 10:48:09 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>Weizhe_Li</dc:creator>
        <guid isPermaLink="false">4745@/discussions</guid>
        <description><![CDATA[<p>Followed the data demonstrated on <a rel="nofollow" href="https://datamatrix.cogsci.nl/0.9/eyelinkparser/#analyzing-pupil-size" title="Analyzing eye-movement data">Analyzing eye-movement data</a>, but not able to read <code>.asc</code> file properly. The error information is like:</p>

<pre><code>---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
&lt;ipython-input-3-d108d6f85b36&gt; in &lt;module&gt;
----&gt; 1 dm = get_data()
      2 print(dm)

~/miniconda3/lib/python3.7/site-packages/datamatrix/_functional/_memoize.py in _call_without_arguments(self, *args, **kwargs)
    223         return self._write_cache(
    224                         memkey,
--&gt; 225                         self._fnc(*args, **kwargs)
    226         )
    227 

&lt;ipython-input-2-107bd9e4e4c4&gt; in get_data()
     21     dm = ops.keep_only(
     22         dm,
---&gt; 23         dm.set_size, dm.correct, dm.ptrace_sounds, dm.ptrace_retention,
     24         dm.fixxlist_retention, dm.fixylist_retention
     25     )

~/miniconda3/lib/python3.7/site-packages/datamatrix/_datamatrix/_datamatrix.py in __getattr__(self, name)
    605                 if name in ('__getstate__', '_cols'):
    606                         raise AttributeError()
--&gt; 607                 return self._getcolbyname(name)
    608 
    609         def __getitem__(self, key):

~/miniconda3/lib/python3.7/site-packages/datamatrix/_datamatrix/_datamatrix.py in _getcolbyname(self, key)
    388                 col = self._cols.get(key, None)
    389                 if col is None:
--&gt; 390                         raise AttributeError(u'No column named "%s"' % key)
    391                 return col
    392 

AttributeError: No column named "set_size"
</code></pre>

<p>and the data type of my <code>.asc</code> file is:<br />
** CONVERTED FROM E:\Git_liweizhe\Research\Papers\Journal Papers\2018\Pupil_color\Exp\code\data\edf\01_m_25F.EDF using edfapi 3.1 Win32 Oct 18 2018 on Fri Jan 18 16:55:01 2019<br />
** DATE: Wed Dec 26 19:24:32 2018<br />
** TYPE: EDF_FILE BINARY EVENT SAMPLE TAGGED<br />
** VERSION: EYELINK II 1<br />
** SOURCE: EYELINK CL<br />
** EYELINK II CL v5.12 May 12 2017<br />
** CAMERA: Eyelink GL Version 1.2 Sensor=AJ7<br />
** SERIAL NUMBER: CLG-BEA17<br />
** CAMERA_CONFIG: BEA17200.SCD<br />
** Inspiration_Color<br />
**</p>

<p>MSG 848272 DISPLAY_COORDS = 0 0 1919 1079<br />
INPUT   900827  127<br />
MSG 907988 !CAL</p>

<blockquote><div>
  <blockquote><div>
    <blockquote><div>
      <blockquote><div>
        <blockquote><div>
          <blockquote><div>
            <blockquote><div>
              <p>CALIBRATION (HV5,P-CR) FOR LEFT: &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;</p>
            </div></blockquote>
          </div></blockquote>
        </div></blockquote>
      </div></blockquote>
    </div></blockquote>
  </div></blockquote>
</div></blockquote>

<p>MSG 907988 !CAL Calibration points:<br />
MSG 907988 !CAL -33.5, -42.9         0,    108<br />
MSG 907988 !CAL -33.6, -58.9         0,  -2255<br />
MSG 907988 !CAL -34.0, -29.1         0,   2399<br />
MSG 907988 !CAL -69.1, -43.6     -4157,    108<br />
MSG 907988 !CAL -1.6, -43.6      4157,    108<br />
MSG 907988 !CAL  0.0,  0.0         0,      0<br />
MSG 907988 !CAL eye check box: (L,R,T,B)<br />
      -76     7   -65     6<br />
MSG 907988 !CAL href cal range: (L,R,T,B)<br />
    -6236  6236 -3418  3562<br />
MSG 907988 !CAL Cal coeff:(X=a+bx+cy+dxx+eyy,Y=f+gx+goaly+ixx+jyy)<br />
   0.00031112  123.94  2.0783  0.20375  0.16679 <br />
   107.89  0.3367  157.3  0.085003  0.57063<br />
MSG 907988 !CAL Prenormalize: offx, offy = -33.517 -42.944<br />
MSG 907988 !CAL Gains: cx:137.499 lx:120.471 rx:154.821<br />
MSG 907988 !CAL Gains: cy:223.282 ty:171.314 by:253.597<br />
MSG 907988 !CAL Resolution (upd) at screen center: X=1.9, Y=1.2<br />
MSG 907988 !CAL Gain Change Proportion: X: 0.285 Y: 0.480<br />
MSG 907988 !CAL Gain Ratio (Gy/Gx) = 1.624<br />
MSG 907988 !CAL Cross-Gain Ratios: X=0.026, Y=0.002 <br />
MSG 907988 !CAL PCR gain ratio(x,y) = 2.201, 1.878<br />
MSG 907988 !CAL CR gain match(x,y) = 1.010, 1.010<br />
MSG 907988 !CAL Slip rotation correction OFF<br />
MSG 907988 !CAL</p>

<blockquote><div>
  <blockquote><div>
    <blockquote><div>
      <blockquote><div>
        <blockquote><div>
          <blockquote><div>
            <blockquote><div>
              <p>CALIBRATION (HV5,P-CR) FOR RIGHT: &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;</p>
            </div></blockquote>
          </div></blockquote>
        </div></blockquote>
      </div></blockquote>
    </div></blockquote>
  </div></blockquote>
</div></blockquote>

<p>MSG 907988 !CAL Calibration points:<br />
MSG 907988 !CAL -46.7, -47.0         0,    108<br />
MSG 907988 !CAL -46.5, -62.1         0,  -2255<br />
MSG 907988 !CAL -47.2, -33.2         0,   2399<br />
MSG 907988 !CAL -78.4, -47.0     -4157,    108<br />
MSG 907988 !CAL -15.5, -48.8      4157,    108<br />
MSG 907988 !CAL  0.0,  0.0         0,      0<br />
MSG 907988 !CAL eye check box: (L,R,T,B)<br />
      -86     8   -68     6<br />
MSG 907988 !CAL href cal range: (L,R,T,B)<br />
    -6236  6236 -3418  3562<br />
MSG 907988 !CAL Cal coeff:(X=a+bx+cy+dxx+eyy,Y=f+gx+goaly+ixx+jyy)<br />
   0.00031112  132.21  3.2536  0.041906  0.11144 <br />
   107.89  4.5507  161.47  0.14073  0.32727<br />
MSG 907988 !CAL Prenormalize: offx, offy = -46.681 -47.047<br />
MSG 907988 !CAL Gains: cx:138.230 lx:133.009 rx:144.588<br />
MSG 907988 !CAL Gains: cy:203.792 ty:178.628 by:228.657<br />
MSG 907988 !CAL Resolution (upd) at screen center: X=1.9, Y=1.3<br />
MSG 907988 !CAL Gain Change Proportion: X: 0.087 Y: 0.280<br />
MSG 907988 !CAL Gain Ratio (Gy/Gx) = 1.474<br />
MSG 907988 !CAL Cross-Gain Ratios: X=0.031, Y=0.031 <br />
MSG 907988 !CAL PCR gain ratio(x,y) = 2.205, 1.964<br />
MSG 907988 !CAL CR gain match(x,y) = 1.010, 1.010<br />
MSG 907988 !CAL Slip rotation correction OFF<br />
MSG 908008 !CAL CALIBRATION HV5 LR LEFT    GOOD <br />
MSG 908008 !CAL CALIBRATION HV5 LR RIGHT   GOOD <br />
INPUT   909997  127<br />
MSG 920294 !CAL VALIDATION HV5 LR LEFT  GOOD ERROR 0.46 avg. 1.23 max  OFFSET 0.39 deg. -0.6,20.5 pix.<br />
MSG 920294 !CAL VALIDATION HV5 LR RIGHT GOOD ERROR 0.45 avg. 1.38 max  OFFSET 0.15 deg. 5.0,6.1 pix.<br />
MSG 920294 VALIDATE LR POINT 0  LEFT  at 960,540  OFFSET 0.25 deg.  -6.1,11.8 pix.<br />
MSG 920294 VALIDATE LR 4POINT 0 RIGHT  at 960,540  OFFSET 0.22 deg.  1.7,-11.6 pix.<br />
MSG 920294 VALIDATE LR POINT 1  LEFT  at 960,81  OFFSET 0.38 deg.  19.9,-1.8 pix.<br />
MSG 920294 VALIDATE LR 4POINT 1 RIGHT  at 960,81  OFFSET 0.23 deg.  -0.2,-11.9 pix.<br />
MSG 920294 VALIDATE LR POINT 2  LEFT  at 960,998  OFFSET 0.38 deg.  -7.8,18.1 pix.<br />
MSG 920294 VALIDATE LR 4POINT 2 RIGHT  at 960,998  OFFSET 0.22 deg.  -5.2,-10.1 pix.<br />
MSG 920294 VALIDATE LR POINT 3  LEFT  at 144,540  OFFSET 0.35 deg.  15.5,9.9 pix.<br />
MSG 920294 VALIDATE LR 4POINT 3 RIGHT  at 144,540  OFFSET 0.46 deg.  14.7,18.9 pix.<br />
MSG 920294 VALIDATE LR POINT 4  LEFT  at 1775,540  OFFSET 1.23 deg.  1.2,64.3 pix.<br />
MSG 920294 VALIDATE LR 4POINT 4 RIGHT  at 1775,540  OFFSET 1.38 deg.  17.9,69.8 pix.<br />
INPUT   925092  127<br />
INPUT   1054798 127<br />
INPUT   1054908 127<br />
MSG 1056864 DRIFTCORRECT LR LEFT  at 960,540  OFFSET 0.10 deg.  -2.8,-4.3 pix.<br />
MSG 1056864 DRIFTCORRECT LR RIGHT at 960,540  OFFSET 0.16 deg.  8.0,0.6 pix.<br />
MSG 1057003 TRIALID<br />
MSG 1057006 RECCFG CR 500 2 1 LR<br />
MSG 1057006 ELCLCFG BTABLER<br />
MSG 1057006 GAZE_COORDS 0.00 0.00 1919.00 1079.00<br />
MSG 1057006 THRESHOLDS L 81 209  R 83 217<br />
MSG 1057006 ELCL_WINDOW_SIZES 160 160 0 0<br />
MSG 1057006 CAMERA_LENS_FOCAL_LENGTH 38.00 <br />
MSG 1057006 ELCL_PROC ELLIPSE  (5)<br />
MSG 1057006 ELCL_EFIT_PARAMS 1.01 4.00  0.15 0.05  0.65 0.65  0.00 0.00 0.30<br />
MSG 1057007 !MODE RECORD CR 500 2 1 LR<br />
START   1057008     LEFT    RIGHT   SAMPLES EVENTS<br />
PRESCALER   1<br />
VPRESCALER  1<br />
PUPIL   AREA<br />
EVENTS  GAZE    LEFT    RIGHT   RATE     500.00 TRACKING    CR  FILTER  2<br />
SAMPLES GAZE    LEFT    RIGHT   RATE     500.00 TRACKING    CR  FILTER  2<br />
INPUT   1057008 127<br />
1057008   967.1   533.4  1559.0   964.1   547.3  1333.0<br />
1057010   967.3   533.2  1558.0   964.4   547.6  1332.0<br />
SFIX L   1057012<br />
SFIX R   1057012<br />
1057012   967.5   533.0  1557.0   964.5   548.1  1330.0<br />
1057014   967.8   534.1  1556.0   964.5   548.4  1329.0<br />
1057016   967.0   534.7  1556.0   964.5   549.0  1327.0<br />
1057018   966.9   534.3  1557.0   964.1   549.9  1327.0<br />
1057020   967.2   534.0  1557.0   964.3   550.0  1325.0<br />
1057022   967.3   532.9  1556.0   964.3   549.7  1325.0<br />
1057024   967.3   532.5  1553.0   964.3   549.9  1325.0</p>

<p>What should I change if I want to reconstruct the pupil?</p>
]]>
        </description>
    </item>
    <item>
        <title>Maximun length in a cell of data matrix</title>
        <link>https://forum.cogsci.nl/discussion/4050/maximun-length-in-a-cell-of-data-matrix</link>
        <pubDate>Mon, 23 Apr 2018 08:15:15 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>Sylvain</dc:creator>
        <guid isPermaLink="false">4050@/discussions</guid>
        <description><![CDATA[<p>Hello,</p>

<p>I am using data matrix in order to fill loop in open sesame (I find it more convenient loading first the variable then filling the loop by using data matrix).<br />
Anyway my issue is as follow. I have string of 64 characters made of 0 and 1, because I use this binary coding for filling a matrix of square with various patterns represented by these strings.<br />
So I first created lists of stims, then I create a data matrix object from these lists that I use as a loop.<br />
This strategy worked but not with so long strings apparently:</p>

<pre><code>import numpy as np
from datamatrix import DataMatrix


dmSymPract = DataMatrix(length = 15)

dmPractice_Sym_Stim_Coord = list()
dmPractice_Sym_Stim_Correctness = list()

dmPractice_Sym_Stim_Coord.append('0001100000011000001111000111111011111111011001100011110000011000') #1
dmPractice_Sym_Stim_Correctness.append(True)
dmPractice_Sym_Stim_Coord.append('1100001111100111110110111011110110011001101111011100001111111111') #2
dmPractice_Sym_Stim_Correctness.append(True)

dmPractice_Sym_Stim_Coord.append('1111111100111100000110000011110000100100001001000011110001011010') #3
dmPractice_Sym_Stim_Correctness.append(True)

dmPractice_Sym_Stim_Coord.append('1100001111000011111111110011110000111100111111111100001111000011') #4
dmPractice_Sym_Stim_Correctness.append(True)

dmPractice_Sym_Stim_Coord.append('1111111101111110111111110001100000011000111111110111111011111111') #5
dmPractice_Sym_Stim_Correctness.append(True)

dmPractice_Sym_Stim_Coord.append('1111111111011011010000101101101111011011010000101101101111111111') #6
dmPractice_Sym_Stim_Correctness.append(True)

dmPractice_Sym_Stim_Coord.append('1100001101100110001111001111111111111111001111000110011011000011') #7
dmPractice_Sym_Stim_Correctness.append(True)

dmPractice_Sym_Stim_Coord.append('1111101100100110110000100111111101111111110000100010011011111011') #8
dmPractice_Sym_Stim_Correctness.append(False)

dmPractice_Sym_Stim_Coord.append('0000000111000011111001111111110110000001101111111110011111000011') #9
dmPractice_Sym_Stim_Correctness.append(False)

dmPractice_Sym_Stim_Coord.append('0010010011111111101011011011010110111101101111011111111100100100') #10
dmPractice_Sym_Stim_Correctness.append(False)

dmPractice_Sym_Stim_Coord.append('1011110101011010100110011111111111111111100010010100101010111101') #11
dmPractice_Sym_Stim_Correctness.append(False)

dmPractice_Sym_Stim_Coord.append('1110011110100110111111111010011010100110111111111010011011100111') #12
dmPractice_Sym_Stim_Correctness.append(False)

dmPractice_Sym_Stim_Coord.append('1111111111101011110100111100101111010011010010101101011111111111') #13
dmPractice_Sym_Stim_Correctness.append(False)

dmPractice_Sym_Stim_Coord.append('1111111101000110111001111110011111100111111001110100011011111111') #14
dmPractice_Sym_Stim_Correctness.append(False)

dmPractice_Sym_Stim_Coord.append('1111011111111111110000110111111001111110110000111111111111101111') #15
dmPractice_Sym_Stim_Correctness.append(False)

np_Practice_Sym_Stim_Coord = np.transpose([dmPractice_Sym_Stim_Coord])
np_Practice_Sym_Stim_Correctness = np.transpose([dmPractice_Sym_Stim_Correctness])

np_Practice_Sym_Stim = np.stack((np_Practice_Sym_Stim_Coord, np_Practice_Sym_Stim_Correctness), axis=-1)

np_Practice_Sym_Stim = np.squeeze(np_Practice_Sym_Stim, axis=1)



dmSymPract = DataMatrix(length = 15)
dmSymPract.StimSym = ''
dmSymPract.Correctness = ''

dmSymPract.StimSym[0] = np_Practice_Sym_Stim[0][0] # doesnt work
dmSymPract.StimSym[0] = str(np_Practice_Sym_Stim[0][0]) # doesnt work
dmSymPract.StimSym[0] = '0001100000011000001111000111111011111111011001100011110000011000' # doesnt work
dmSymPract.StimSym[0] = 0001100000011000001111000111111011111111011001100011110000011000 # doesnt work
</code></pre>

<p>So the traceback I have everytime is:<br />
Traceback:<br />
  File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\inline_script.py", line 96, in run<br />
    self.experiment.python_workspace._exec(self.crun)<br />
  File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\python_workspace.py", line 174, in _exec<br />
    exec(bytecode, self._globals)<br />
  Inline script, line 11, in <br />
  File "C:\Program Files (x86)\OpenSesame\lib\site-packages\datamatrix&#95;datamatrix&#95;basecolumn.py", line 781, in <strong>setitem</strong><br />
    self._setintkey(key, value)<br />
  File "C:\Program Files (x86)\OpenSesame\lib\site-packages\datamatrix&#95;datamatrix&#95;basecolumn.py", line 518, in _setintkey<br />
    self._seq[key] = self._checktype(value)<br />
  File "C:\Program Files (x86)\OpenSesame\lib\site-packages\datamatrix&#95;datamatrix&#95;basecolumn.py", line 344, in _checktype<br />
    raise TypeError('Invalid type: %s' % value)<br />
TypeError: Invalid type: 1100000011000001111000111111011111111011001100011110000011000</p>

<p>Thanks for any help!</p>

<p>Sylvain</p>
]]>
        </description>
    </item>
    <item>
        <title>Shuffling a column in datamatrix</title>
        <link>https://forum.cogsci.nl/discussion/4030/shuffling-a-column-in-datamatrix</link>
        <pubDate>Tue, 17 Apr 2018 09:48:44 +0000</pubDate>
        <category>DataMatrix</category>
        <dc:creator>Sylvain</dc:creator>
        <guid isPermaLink="false">4030@/discussions</guid>
        <description><![CDATA[<p>Hello,</p>

<p>I am trying to use datamatrix within open sesame by manipulating dm. Is there a way I could get to shuffle a dm column with an inline?</p>

<p>Thank you!</p>
]]>
        </description>
    </item>
   </channel>
</rss>
