Dörte's Blog2023-11-27T14:47:34+00:00/Dörte Hesslerme@doerte.euNew Layout2015-10-23T00:00:00+00:00https://doerte.eu/Blog/2015/10/23/New-Layout<p>It has been more than 5 years since my last blog post and 4 years since the last major (design) makeover of my website. Therefore, it was about time, I started to work on my website again. I have completely redesigned the website, using a bootstrap theme by <a href="http://bootstraptaste.com/">Bootstraptaste</a>. Therefore, my site is now completely responsive.</p>
<p>I also “redesigned” the content of the website. I cleaned up old things - who needs to know where my 2011 PhD defense took place - and also put a new structure into place, splitting my site into different “content” areas. I still need to see whether I like this formula, but for now I leave it like this.</p>
Measuring and Analyzing ERPs2010-09-29T00:00:00+00:00https://doerte.eu/Blog/2010/09/29/ERP<p>Part of my work as a PhD candidate consists of measuring and analyzing brain waves. We do this by conducting so-called “ERPs”, i.e. “event-related potentials”. We record the EEG (Electroencephalogram) of participants and time-lock it to stimuli, the events. In order to get only the information that relates to the stimulus, a lot of repetitions are necessary. The brain waves of all those repetitions are then averaged, which filters out the “noise” as this is random and leaves only the constant reaction to our stimulus.</p>
<p>As you can read on my <a href="http://doerte.eu/research/phd.html">“PhD Project” site</a> I am interested in the perceptionof speech sounds in individuals with aphasia, an acquired languagedisorder. In my experiment the participants are asked to watch asequence of videos of someone uttering syllables. These can beso-called standard (occurring in 80% of the trials) or deviant(occurring in the other 20%) stimuli. They differ by only the initialspeech sound (pa vs. ta or ka). On encountering a deviant stimulusparticipants should push a button. Whenever a new stimulus is starteda marker is sent to the EEG, so the EEG can be related to the stimulilater on.</p>
<p>However when I want to analyze my data I’m facing some problems: The marker denotes the onset of the video in which the stimulus is displayed, but not the onset of the sound, like I would need. Furthermore I have way too many standards compared to the deviants.</p>
<p>So I decided I want only the standard stimuli that occur directly before a deviant one. This makes sense for 2 reasons: I will definitely get the same amount of standard and deviant stimuli and I will get the most standard standards…What I mean here, is that the last standard of a row of standards is the least new and therefore it has the biggest contrast to the surprising deviants that occur only every now and then.</p>
<p>Also I wanted to move the marker to the onset of the sound or actually add a marker there. Fortunately the speech always starts at the same time after the onset of the video. This made my task a lot easier. Basically all I want is an additional marker x milliseconds after the other marker. Another good thing is that the markers are stored in a simple text file with a quite basic structure. Below there’s an example of the first rows of every marker file. First it is specified that it is a marker file and to what .eeg file it belongs. Furthermore there’s some information about the coding and then there’s one row per marker. For each marker it is specified what number it has (just counting upwards), what kind of marker it is, what is put down in the eeg as information, at what data point the marker is placed, how big it is (usually 0) and to which electrode channels it applies.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Brain Vision Data Exchange Marker File, Version 1.0
[Common Infos]
Codepage=UTF-8
DataFile=3_1_Tones.eeg
[Marker Infos]
; Each entry: Mk<Marker number>=<Type>,<Description>,<Position in data points>,
; <Size in data points>, <Channel number (0 = marker is related to all channels)>
; Fields are delimited by commas, some fields might be omitted (empty).
; Commas in type or description text are coded as "\1".
Mk1=New Segment,,1,1,0,20100331151632436646
Mk2=Stimulus,S 1,259,0,0
Mk3=Stimulus,S 9,510,0,0
Mk4=Stimulus,S 15,512,0,0
Mk5=Stimulus,S 1,636,0,0
Mk6=Stimulus,S 9,887,0,0
Mk7=Stimulus,S 15,889,0,0
</code></pre></div></div>
<p>As you can see I have different markers of the category “stimulus”: S1, S9 and S15 in this example. S1 marks the onset of the video and is the one I was concerned about. S9 and S15 correspond to the actual response given by the participant. Those are sent to the EEG after the end of the stimulus.</p>
<p>In order to change my markers in the way I wanted, I wrote a Ruby program that reads the input from the original marker file, processes it like I want (keep only deviants and standards before deviants and add the sound-onset marker) and writes them to a new file.</p>
<p>If you’re curious about this small program (which is still under constant revision to improve the functionality and the efficiency) you can check it out on <a href="http://github.com/doerte/LearningRuby/blob/master/triggersNEU.rb">github</a></p>
<p>If you have any ideas on how to improve the program or comments about it or questions, please let me know! It cost me quite some time to write it (as I’m still a beginner in Ruby), but doing it all by hand would have been just as time-consuming and a lot more boring than writing this program!</p>
TikZ Update2010-09-17T00:00:00+00:00https://doerte.eu/Blog/2010/09/17/TikZ-update<p>Ok, I admitted in the last <a href="../../14/TikZ">post</a> that my TikZ diagram was a lot less than optimal, because of too many
repetitions in the code. So I decided to spend some time with the TikZ manual (really useful source of information),
with the result that I learned about ‘for-loops’: For everything that needs to be carried out more than 1 time, a for-loop
can be used.</p>
<p>The concept is quite simple: In the follwing example an “ultra thick” line is drawn for a certain point \x from -6 to -6.5 on the y-axis. This
is done for each of the points specified.</p>
<pre id="latex"><code>
\foreach \x in {0.35,1.54,2.73,3.92,5.11,6.3} \draw[ultra thick] (\x,-6) -- (\x,-6.5);
</code></pre>
<p>This however can be simplified even more. Just mention the first 2 and the last of the desired points and the ones in between
can be replaced with “…”, as below.</p>
<pre id="latex"><code>
\foreach \x in {0.3,1.54,...,6.3} \draw[very thick] (\x,-6) -- (\x,-6.5);
</code></pre>
<p>The complete picture looks just like the one before, the only difference is that I added some more connection lines, because it became so
much easier. Also I changed the coordinates slightly, to improve the size of the final picture. Now it perfectly matches the text width in the
document I use it in. If you want to see a bigger picture you can click on it!</p>
<div align="center"><a href="http://www.doerte.eu/images/tikzNew.png"> <img src="/img/tikzNew.png" alt="New TikZ image" border="0" width="311" /> </a></div>
<p>And again the Latex-code I used…:</p>
<pre id="latex"><code>
\begin{figure}[!h]
\begin{center}
\fbox{\begin{tikzpicture}[font=\scriptsize]
\node at (3.325,2)[text centered] (in) {Heard and seen speech};
\draw[thin,-triangle 90] (2,1.5)->(2,0.5);
\draw[thin,-triangle 90] (4.65,1.5)->(4.65,0.5);
\draw (0,0.5) rectangle (6.6,-7);
\foreach \x in {0.35,0.7,...,6.3} \draw[thick] (\x,0) -- (\x,-0.2);
\foreach \x in {0.35,1.09375,...,6.3} \draw[very thick] (\x,-3) -- (\x,-3.3);
\foreach \x in {0.35,1.54,...,6.3} \draw[ultra thick] (\x,-6) -- (\x,-6.5);
\foreach \x in {0.35,1.4,2.8,4.2,6.3} \draw[thin] (\x,-0.4) -- (0.35,-2.8);
\foreach \x in {0.35,1.05,2.45,3.85,5.25} \draw[thin] (\x,-0.4) -- (1.09375,-2.8);
\foreach \x in {0.7,2.1,2.8,4.55,5.6} \draw[thin] (\x,-0.4) -- (1.8375,-2.8);
\foreach \x in {1.75,2.8,3.15,3.5,4.55} \draw[thin] (\x,-0.4) --(2.58125,-2.8);
\foreach \x in {0.35,1.4,3.5,4.9,5.95} \draw[thin] (\x,-0.4) -- (3.325,-2.8);
\foreach \x in {2.1,3.5,3.85,4.2,5.25} \draw[thin] (\x,-0.4) -- (4.06875,-2.8);
\foreach \x in {1.05,1.75,3.15,5.25,5.95} \draw[thin] (\x,-0.4) -- (4.8125,-2.8);
\foreach \x in {0.7,1.75,4.55,5.6,6.3} \draw[thin] (\x,-0.4) -- (5.55625,-2.8);
\foreach \x in {1.05,2.45,3.85,4.9,6.3} \draw[thin] (\x,-0.4) -- (6.3,-2.8);
\foreach \x in {0.35,1.09375,2.58125,4.06875,5.55625} \draw[thin] (\x,-3.5) -- (0.35,-5.8);
\foreach \x in {0.35,1.8375,3.325,4.8125,6.3} \draw[thin] (\x,-3.5) -- (1.54,-5.8);
\foreach \x in {1.09375,1.8375,2.58125,4.06875,4.8125} \draw[thin] (\x,-3.5) -- (2.73,-5.8);
\foreach \x in {1.09375,1.8375,2.58125,5.55625,6.3} \draw[thin] (\x,-3.5) -- (3.92,-5.8);
\foreach \x in {0.35,3.325,4.06875,4.8125,6.3} \draw[thin] (\x,-3.5) -- (5.11,-5.8);
\foreach \x in {1.8375,3.325,4.06875,5.55625,6.3} \draw[thin] (\x,-3.5) -- (6.3,-5.8);
\node(phone) at (-1,-0.1)[text width=1.5cm,text centered] {Phonetic units};
\node(phono) at (-1.3,-3.15)[text width=1.5cm,text centered] {Phonological units};
\node(phonem) at (-1,-6.25)[text width=1.5cm,text centered] {Abstract phonemic units};
\node(speech) at (-2.5,-3.15)[rotate=90] {Perceiving speech};
\node(proc) at (3.325,-9)[draw, minimum height=1.5cm] {Lexical processor};
\node(sys) at (7.6,-3.15)[text width=2cm,text centered] {Input phonetic-phonological system};
\draw[thin,triangle 90-triangle 90] (proc) -- (3.325,-7);
\end{tikzpicture}}
\end{center}
\end{figure}
</code></pre>
TikZ2010-09-14T00:00:00+00:00https://doerte.eu/Blog/2010/09/14/TikZ<p>Everything started with me wanting one of my diagrams to be more beautiful. I googled a lot
and eventually found that TikZ would solve my one specific problem. So I installed the package
and put the manual on my desktop (I need access as fast as possible). Soon I got the diagram
I wanted and was amazed on how nice it looked. It really does matter if the font and style fit
with the remaining document!</p>
<p>So I decided that I should change all my diagrams to TikZ-diagrams (at least the ones not made
with R, which already look very nice). It cost me quite some time and work, but once I saw
the result I knew it was worth it. But… there was still one diagram I was hesitating to change.
It took me quite some time to make it with dia and I was afraid of the time it would cost to
redo it with TikZ, but eventually I surrendered to my urge to have not ‘all-but-one’, but rather ‘all’
diagrams in a nice style. Some hours later I was done and below you can see the result (click the image to see it bigger)…</p>
<div align="center"><a href="http://www.doerte.eu/images/tikz.png"> <img src="/img/tikz.png" alt="TikZ image" border="0" width="250" /> </a></div>
<p>And here’s the Latex-code I used… I know, it’s much less than perfect - TikZ offers a lot of more
advanced features to deal with all the repetitions, but for now that’s it, plain and simple (and long):</p>
<pre id="latex"><code>
\begin{figure}[!h]
\begin{center}
\fbox{\begin{tikzpicture}[font=\scriptsize]
\node at (2.85,2)[text centered] (in) {Heard and seen speech};
\draw[thin,-triangle 90] (1.2,1.5)->(1.2,0.5);
\draw[thin,-triangle 90] (4.5,1.5)->(4.5,0.5);
\draw (0,0.5) rectangle (5.7,-7);
\draw[thick] (0.3,0) -- (0.3,-0.2);
\draw[thick] (0.6,0) -- (0.6,-0.2);
\draw[thick] (0.9,0) -- (0.9,-0.2);
\draw[thick] (1.2,0) -- (1.2,-0.2);
\draw[thick] (1.5,0) -- (1.5,-0.2);
\draw[thick] (1.8,0) -- (1.8,-0.2);
\draw[thick] (2.1,0) -- (2.1,-0.2);
\draw[thick] (2.4,0) -- (2.4,-0.2);
\draw[thick] (2.7,0) -- (2.7,-0.2);
\draw[thick] (3,0) -- (3,-0.2);
\draw[thick] (3.3,0) -- (3.3,-0.2);
\draw[thick] (3.6,0) -- (3.6,-0.2);
\draw[thick] (3.9,0) -- (3.9,-0.2);
\draw[thick] (4.2,0) -- (4.2,-0.2);
\draw[thick] (4.5,0) -- (4.5,-0.2);
\draw[thick] (4.8,0) -- (4.8,-0.2);
\draw[thick] (5.1,0) -- (5.1,-0.2);
\draw[thick] (5.4,0) -- (5.4,-0.2);
\draw[very thick] (0.3,-3) -- (0.3,-3.3);
\draw[very thick] (0.9375,-3) -- (0.9375,-3.3);
\draw[very thick] (1.575,-3) -- (1.575,-3.3);
\draw[very thick] (2.2125,-3) -- (2.2125,-3.3);
\draw[very thick] (2.85,-3) -- (2.85,-3.3);
\draw[very thick] (3.4875,-3) -- (3.4875,-3.3);
\draw[very thick] (4.125,-3) -- (4.125,-3.3);
\draw[very thick] (4.7625,-3) -- (4.7625,-3.3);
\draw[very thick] (5.4,-3) -- (5.4,-3.3);
\draw[ultra thick] (0.3,-6) -- (0.3,-6.5);
\draw[ultra thick] (1.32,-6) -- (1.32,-6.5);
\draw[ultra thick] (2.34,-6) -- (2.34,-6.5);
\draw[ultra thick] (3.36,-6) -- (3.36,-6.5);
\draw[ultra thick] (4.38,-6) -- (4.38,-6.5);
\draw[ultra thick] (5.4,-6) -- (5.4,-6.5);
\draw[thin] (0.3,-2.8)-- (0.3,-0.4);
\draw[thin] (0.3,-2.8)-- (1.2,-0.4);
\draw[thin] (0.3,-2.8)-- (3.6,-0.4);
\draw[thin] (0.3,-2.8)-- (5.4,-0.4);
\draw[thin] (0.9375,-2.8)-- (0.3,-0.4);
\draw[thin] (0.9375,-2.8)-- (2.1,-0.4);
\draw[thin] (0.9375,-2.8)-- (3.3,-0.4);
\draw[thin] (0.9375,-2.8)-- (4.5,-0.4);
\draw[thin] (1.575,-2.8)-- (0.6,-0.4);
\draw[thin] (1.575,-2.8)-- (1.8,-0.4);
\draw[thin] (1.575,-2.8)-- (2.4,-0.4);
\draw[thin] (1.575,-2.8)-- (3.9,-0.4);
\draw[thin] (2.2125,-2.8)-- (1.5,-0.4);
\draw[thin] (2.2125,-2.8)-- (2.7,-0.4);
\draw[thin] (2.2125,-2.8)-- (3,-0.4);
\draw[thin] (2.2125,-2.8)-- (2.4,-0.4);
\draw[thin] (2.85,-2.8)-- (4.2,-0.4);
\draw[thin] (2.85,-2.8)-- (5.1,-0.4);
\draw[thin] (2.85,-2.8)-- (0.3,-0.4);
\draw[thin] (2.85,-2.8)-- (1.2,-0.4);
\draw[thin] (2.85,-2.8)-- (4.8,-0.4);
\draw[thin] (3.4875,-2.8)-- (3,-0.4);
\draw[thin] (3.4875,-2.8)-- (3.3,-0.4);
\draw[thin] (3.4875,-2.8)-- (3.6,-0.4);
\draw[thin] (3.4875,-2.8)-- (1.8,-0.4);
\draw[thin] (4.125,-2.8)-- (0.9,-0.4);
\draw[thin] (4.125,-2.8)-- (2.7,-0.4);
\draw[thin] (4.125,-2.8)-- (4.5,-0.4);
\draw[thin] (4.125,-2.8)-- (5.1,-0.4);
\draw[thin] (4.7625,-2.8)-- (0.6,-0.4);
\draw[thin] (4.7625,-2.8)-- (3.9,-0.4);
\draw[thin] (4.7625,-2.8)-- (1.5,-0.4);
\draw[thin] (4.7625,-2.8)-- (4.8,-0.4);
\draw[thin] (4.7625,-2.8)-- (5.4,-0.4);
\draw[thin] (5.4,-2.8)-- (2.1,-0.4);
\draw[thin] (5.4,-2.8)-- (4.2,-0.4);
\draw[thin] (5.4,-2.8)-- (5.4,-0.4);
\draw[thin] (5.4,-2.8)-- (0.9,-0.4);
\draw[thin] (0.3,-3.5)--(0.3,-5.8);
\draw[thin] (0.9375,-3.5)--(0.3,-5.8);
\draw[thin] (3.4875,-3.5)--(0.3,-5.8);
\draw[thin] (4.7625,-3.5)--(0.3,-5.8);
\draw[thin] (0.3,-3.5)--(1.32,-5.8);
\draw[thin] (1.575,-3.5)--(1.32,-5.8);
\draw[thin] (2.85,-3.5)--(1.32,-5.8);
\draw[thin] (4.125,-3.5)--(1.32,-5.8);
\draw[thin] (2.2125,-3.5)--(2.34,-5.8);
\draw[thin] (3.4875,-3.5)--(2.34,-5.8);
\draw[thin] (0.9375,-3.5)--(2.34,-5.8);
\draw[thin] (4.125,-3.5)--(2.34,-5.8);
\draw[thin] (1.575,-3.5)--(3.36,-5.8);
\draw[thin] (2.2125,-3.5)--(3.36,-5.8);
\draw[thin] (5.4,-3.5)--(3.36,-5.8);
\draw[thin] (0.9375,-3.5)--(3.36,-5.8);
\draw[thin] (2.85,-3.5)--(4.38,-5.8);
\draw[thin] (0.3,-3.5)--(4.38,-5.8);
\draw[thin] (4.125,-3.5)--(4.38,-5.8);
\draw[thin] (5.4,-3.5)--(4.38,-5.8);
\draw[thin] (1.575,-3.5)--(5.4,-5.8);
\draw[thin] (2.85,-3.5)--(5.4,-5.8);
\draw[thin] (4.7625,-3.5)--(5.4,-5.8);
\draw[thin] (5.4,-3.5)--(5.4,-5.8);
\node(phone) at (-1,-0.1)[text width=1.5cm,text centered] {Phonetic units};
\node(phono) at (-1.3,-3.15)[text width=1.5cm,text centered] {Phonological units};
\node(phonem) at (-1,-6.25)[text width=1.5cm,text centered] {Abstract phonemic units};
\node(speech) at (-2.5,-3.15)[rotate=90] {Perceiving speech};
\node(proc) at (2.85,-9)[draw, minimum height=1.5cm] {Lexical processor};
\node(sys) at (7,-3.15)[text width=2cm,text centered] {Input phonetic-phonological system};
\draw[thin,triangle 90-triangle 90] (proc) -- (2.85,-7);
\end{tikzpicture}}
\end{center}
\end{figure}
</code></pre>
Starting with Linux2010-09-14T00:00:00+00:00https://doerte.eu/Blog/2010/09/14/Starting-with-Linux<p>Last week I started using Linux - still very cautious, not messing with
my Windows-installation. But off of my USB-stick it works quite well,
I must say. So first I had to choose “which kind of Linux” I would like and
I first decided to go for Debian, then choosing the stable variant and
a GNOME desktop environment.</p>
<p>Most things were working quite intuitively, but in the end I did need help
with some hardware configuration (for example wireless network access).
And apparently I didn’t pay enough attention as when using it on a second
laptop I need help again getting wifi started.</p>
<p>Next to “learning by doing” I also joined a 1st years Bachelor course on
Linux, which they teach here at the University of Groningen. Well, I don’t
attend the lectures, but do read the slides and do the exercises.
The course started by teaching some basic Linux commands and
later focuses on “Tekstmanipulatie” (that’s the title of the course),
that means using Linux for linguistic purposes, namely working with texts.</p>
<p>I’m afraid that this new ‘ambition’ will hinder my Ruby progress,
but I guess it’s worth it. Maybe it was a little bit weird anyway to start
with a programming language before using Linux…
And who knows, maybe I can still find some time for Ruby as well, as, thanks
to Chris Pine, who wrote the great book ‘Learn to Program’, learning Ruby
is more fun than work!</p>
Last Year2010-09-06T00:00:00+00:00https://doerte.eu/Blog/2010/09/06/Last-Year<p>Today is my first official working day in my last year as a PhD candidate…</p>
<p>First of all I have to say it is unbelievable how fast 3 years can go by, I really feel like I just started. But, I didn’t.
So today is the day “the end” starts. Lots and lots of writing to be done, luckily also still some testing and analyzing,
just to keep a healthy balance. I now have a schedule for the upcoming year, with the first deadline for a chapter already passed…
Luckily the chapter is also done. Next deadline is the end of october for two chapters: one on the theoretical background and
one about my identification experiment. So that means I’ll focus on those two things during the upcoming two months, next to
running the ERP experiment with some more patients and analyzing the results of it. Busy weeks ahead of me, but I’m still quite
optimistic to manage my own deadlines.</p>
<p>Now it’s time to have some cake with colleagues who just had their birthdays, seems like a good way to start “the end”…</p>
Initital Post2010-09-04T00:00:00+00:00https://doerte.eu/Blog/2010/09/04/Initial-Post<p>I just incorporated a blog into my website. This blog is (just as the website) hosted by <a href="http://github.com">GitHub</a>
and using <a href="http://wiki.github.com/mojombo/jekyll/">jekyll</a>. I will post entries on a non-regular basis, whenever I feel
that something should be posted. More regular, though short, updates can be found in my Twitter feed, also on
my blog.</p>
<p>So come back regularly to check whether there are any news.</p>