ELAN
- Introduction
- Availability, Support and Use-case
- Tips & Tricks
- Creating a New Project
- Setting Up a Project
- Using Templates
- Annotating Behavior
- Analyzing the Data
- Synchronizing Multiple Video’s
- Analyzing Clusters of Behavior
- Performing Lag Sequential Analysis
- Performing Reliability Analysis
- Importing Annotations/Events
- Using the Observer Data in ELAN
- Exporting Data
- Archiving ELAN data
- Resources
Introduction
ELAN is free and opensource software that is used for annotating (coding) and transcribing video and/or audio.
When coding behavior, the use of ELAN is highly recommended over the Observer XT, as ELAN is free and opensource. SOLO does not guarantee the availability of licenses for the Observer in the future. A comparison between ELAN and the Observer can be found here: Comparison the Observer vs ELAN.
When using ELAN, make sure to cite it in publications, see information here: Download | The Language Archive.
General Information
Table below is clickable to enlarge, filter or sort.
Click here to see the master table.
Filters applied by default (Name=ELAN), to see the entire table, click on it and press reset.
Name | Internal | Description | Version | Type | Online | Support | Lab PCs | Analysis PCs | LIBC PCs | VR PCs | Status | License and Installation | System Owner | Functioneel Beheer | Technisch Beheer | Key User | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AcqKnowledge | AcqKnowledge Admin | Software for recording and analyzing physiological signals (such as ECG). | 5.0.81 with NIBP100E license | App | No | Full | On Request | On Request | No | No | Active | Paid software. Installed only by SOLO. Can only be used with a license dongle, provided by SOLO. | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | |
| AcqKnowledge | AcqKnowledge Admin | Software for recording and analyzing physiological signals (such as ECG). | 5.0.6 | App | No | Full | Yes | Yes | No | No | Active | Paid software. Installed by the ISSC. License dongle provided by SOLO for use on non-university devices. | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | |
| AcqKnowledge | AcqKnowledge Admin | Software for recording and analyzing physiological signals (such as ECG). | 4.4 | App | No | Minimal | No | No | Yes | No | Limited | Paid software. Not available at ISSC anymore. License dongle provided by SOLO for use on non-university devices. | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | Installed on the Win 7 LIBC PC. |
| ActiView | ActiView Admin | Software for recording EEG data. | 9.0.2 | App | No | Full | Yes | No | No | On Request | Active | Free software. | Elio Sjak-Shie | RST/LST (Iris Spruit/Evert Dekker) | ISSC | RST/LST (Iris Spruit/Evert Dekker) | |
| Anaconda | - | Package and environment manager used for creating and using custom Python environments. | 2023.09 | App | No | Minimal | No | No | Yes | No | Limited | Free software. | ? | ? | ? | ? | Installed on the Win 10 LIBC PC. |
| Anaconda | - | Package and environment manager used for creating and using custom Python environments. | 2022.10 | App | No | Full | Yes | Yes | No | On Request | Active | Free software. | Elio Sjak-Shie | RST (Elio Sjak-Shie) | ISSC | RST (Elio Sjak-Shie) | |
| ATLAS.ti | - | Software for analyzing qualitative data. | latest available (currently installed is 22) | App | No | None | No | Yes | No | No | Active | Paid software. Installed by the ISSC. License provided by ISSC. | ? | ? | ISSC | ? | |
| ArborXR | - | ? | Service | No | Full | No | No | No | Yes | Active | |||||||
| BrainVision Analyzer | - | Software for analyzing EEG data. | latest available (currently installed is 2.2.0) | App | No | Minimal | No | Yes | No | No | Active | Paid software. Installed by the ISSC. | ? | ? | ISSC | Henk van Steenbergen | |
| DEP-Tool | - | Platform for managing Ethics, Datamanagement and Privacy Form. | n.a. | Service | No | Full | N/A | N/A | N/A | N/A | Active | Owned by Leiden, support and development by Emerald IT | Arie in 't Veld | RST (Kerwin Olfers) | External | RST (Kerwin Olfers) | |
| E-Prime | E-Prime Admin | Software suite used for building and administering computer tasks. | 3.0.3.219 | App | No | Full | Yes | Yes | No | No | Active | Paid software. Installed by the ISSC. License via VPN or dongle provided by SOLO. | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | |
| E-prime | E-Prime Admin | Software suite used for building and administering computer tasks. | 3.0.3.80 | App | No | Minimal | No | No | Yes | No | Limited | Paid software. Not available at ISSC anymore. License via VPN or dongle provided by SOLO. | ? | ? | ? | ? | Installed on the Win 7 LIBC PC and interview PC in 3053K. |
| E-Prime | E-Prime Admin | Software suite used for building and administering computer tasks. | 2.0.10.356 | App | No | Minimal | On Request | On Request | Yes | No | Active | Paid software. Installed by the ISSC. License via dongle provided by SOLO. | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | Installed on the Win 7 LIBC PC. |
| E-Prime Extensions for EyeLink (EEE) | - | E-Prime extension required for EyeLInk eye tracking in E-Prime | 3.0.1.130 | App | No | Full | On Request | On Request | On Request | No | Active | Paid software. Not packaged, installed by SOLO. | Elio Sjak-Shie | RST (Iris Spruit) | RST (Iris Spruit) | ||
| E-Prime Extensions for Tobii Pro (EET) | - | E-Prime extension required for Tobii eye tracking in E-Prime. | 3.2.1.105 | App | No | Full | Yes | Yes | No | No | Active | Paid software. Installed by the ISSC. EET is not part of the E-Prime installation and needs to be installed separately. | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | |
| ELAN | ELAN Admin | Software for analyzing behavioral (video) data. | 6.4 | App | No | Full | No | Yes | No | No | Active | Free. Installed by the ISSC or zip downloaded by user. | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | |
| EyeLink Developers Kit | - | Required for communicating with an EyeLink eye tracker from the Stimulus PC. | latest | App | No | Minimal | On Request | No | Yes | No | Active | Free. Not packaged, installed by SOLO. | Elio Sjak-Shie | RST (Iris Spruit) | n.a. | RST (Iris Spruit) | Installed on the Win 7 and Win 10 LIBC PCs. |
| Git | - | Command-line tool for version control. | latest available (currently installed is 2.18) | Service | No | None | Yes | Yes | No | Yes | Active | Free | |||||
| GitHub Desktop | - | GUI tool for version control. | Latest | App | No | Full | No | No | No | Yes | Active | Free | |||||
| Gorilla | Gorilla Admin | Online service used for building and hosting online tasks. | ? | Service | Yes | Minimal | N/A | N/A | N/A | N/A | Active | Paid license for FSW, FGW students & staff | Elio Sjak-Shie | RST (Kerwin Olfers) | External | RST (Kerwin Olfers) | |
| Inquisit | - | Software for building and administering computer tasks. | 5.0 | App | No | None | No | No | Yes | No | Limited | License required. SOLO does not have any licenses. | Installed on the Win 7 LIBC PC. | ||||
| Insta360 Studio | - | Edit spherical (180-360*) videos | Latest | App | No | Minimal | No | No | No | Yes | Active | Free. Installation requires camera serial number for verification. | |||||
| JATOS | JATOS Admin | Online service used for hosting online tasks. | 3.9.7 | Service | Yes | Full | N/A | N/A | N/A | N/A | Active | Self-hosted, free for Leiden students & staff | Elio Sjak-Shie | RST (Kerwin Olfers) | ISSC | RST (Kerwin Olfers) | |
| JetBrains Rider | - | IDE for C# development. Works well with Unity. | Latest | App | No | Full | No | No | No | Yes | Active | Free educational license through GitHub Education. | |||||
| MATLAB | - | Programming and computing software. | 2022b | App | No | Full | On Request | Yes | Yes | No | Active | Paid software. Installed by the ISSC. Licence provided by the ISSC or via Mathworks.com. | Elio Sjak-Shie | RST (Elio Sjak-Shie) | ISSC | RST (Elio Sjak-Shie) | Installed on the Win 10 LIBC PC with LUMC license. |
| MATLAB | - | Programming and computing software. | 2021b | App | No | Minimal | No | No | Yes | No | Limited | Paid software. Campus license via Mathworks.com. | ? | ? | ? | ? | Installed on LIBC interview PC in 3053K. |
| MATLAB | - | Programming and computing software. | 2012B | App | No | None | No | No | No | No | Archived | Paid software. Campus license via Mathworks.com. | ? | ? | ? | ? | |
| MATLAB Runtime | - | Required for running MATLAB applications (such as the PhysioData Toolbox). | R2023b | App | No | Minimal | No | Yes | No | No | Active | Free. Installed by the ISSC on managed PCs. Required for PhysioData Toolbox v0.7.0 | Elio Sjak-Shie | RST (Elio Sjak-Shie) | ISSC | RST (Elio Sjak-Shie) | |
| MATLAB Runtime | - | Required for running MATLAB applications (such as the PhysioData Toolbox). | R2022b | App | No | Minimal | No | On Request | No | No | Active | Free. Installed by the ISSC on managed PCs. | Elio Sjak-Shie | RST (Elio Sjak-Shie) | ISSC | RST (Elio Sjak-Shie) | |
| MATLAB Runtime | - | Required for running MATLAB applications (such as the PhysioData Toolbox). | R2020b (v9.9) | App | No | Minimal | No | On Request | No | No | Active | Free. Installed by the ISSC on managed PCs. Required for PhysioData Toolbox v0.6.3. | Elio Sjak-Shie | RST (Elio Sjak-Shie) | ISSC | RST (Elio Sjak-Shie) | |
| MATLAB Runtime | - | Required for running MATLAB applications (such as the PhysioData Toolbox). | R2018b (v9.5) | App | No | Minimal | No | On Request | No | No | Active | Free. Installed by the ISSC on managed PCs. Required for legacy versions of the PhysioDat a Toolbox. | Elio Sjak-Shie | RST (Elio Sjak-Shie) | ISSC | RST (Elio Sjak-Shie) | |
| Meta Horizon Link | - | Cast directly from Quest HMD to PC. | Latest | App | No | Full | Yes | Yes | Yes | Yes | Active | Free | |||||
| Meta Quest Developer Hub | - | Developer tools for interacting with Quest HMDs. | Latest | App | No | Full | No | No | No | Yes | Active | Free | |||||
| Neuro BS Presentation | - | Software for building and administering computer tasks. | 20.0 | App | No | None | No | No | Yes | No | Limited | License managed by Mischa de Rover | ? | ? | ? | ? | Installed on the Win 7 LIBC PC. |
| OpenSesame | OpenSesame Admin | Software for building and administering computer tasks. | 4.0.24 and python 3.11 | App | Yes | Full | Yes | Yes | No | On Request | Active | Free | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | |
| OpenSesame | OpenSesame Admin | Software for building and administering computer tasks. | 4.0.13 and python 3.11 | App | Yes | Minimal | No | No | Yes | No | Limited | Free | ? | ? | ? | ? | Installed on the Win 10 LIBC PC. |
| OpenSesame | Software for building and administering computer tasks. | 3.3.14 and python 3.7 | App | Yes | Full | No | No | No | No | Archived | Free | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | ||
| OpenSesame | OpenSesame Admin | Software for building and administering computer tasks. | 3.3.12 and python 3.7 | App | No | Minimal | No | No | Yes | No | Limited | Free | ? | ? | ? | ? | Installed on LIBC interview PC in 3053K. |
| oTree | - | Python-based framework for creating interactive experiments. | ? | Service | Yes | None | No | No | No | No | Active | ? | ? | ? | Erik de Kwaadsteniet | ||
| Pavlovia | Pavlovia Admin | Web service for hosting online tasks. | ? | Service | Yes | Full | N/A | N/A | N/A | N/A | Active | Paid license for FSW/FGW students & staff | Elio Sjak-Shie | RST (Kerwin Olfers) | External | RST (Kerwin Olfers) | |
| PhysioData Toolbox | - | Software for analyzing physiological data (such as ECG). | 0.7.0 | App | No | Full | No | Runnable | No | On Request | Active | Free. A MATLAB Component Runtime is required to run. | Elio Sjak-Shie | Elio Sjak-Shie | Elio Sjak-Shie | Elio Sjak-Shie | |
| PsychoPy | - | Software for building and administering computer tasks. | 2024.1.5 | App | Yes | Full | Yes | Yes | No | On Request | Active | Free | Elio Sjak-Shie | RST (Elio Sjak-Shie) | ISSC | RST (Elio Sjak-Shie) | |
| PsychoPy | - | Software for building and administering computer tasks. | 2023.2.3 | App | Yes | Minimal | No | No | Yes | No | Limited | Free | ? | ? | ? | ? | Installed on the Win 10 LIBC PC. |
| PsychoPy | - | Software for building and administering computer tasks. | 2022.2.4 | App | Yes | Full | No | No | Yes | No | Limited | Free | ? | ? | ? | ? | Installed on LIBC interview PC in 3053K. |
| PsychToolbox | PsychToolbox Admin | MATLAB Toolbox used for building and administering computer tasks. | 3 | App | No | Full | On Request | On Request | No | On Request | Active | Paid license required for versions 3.0.20 and later. Currently no license available. | Elio Sjak-Shie | RST (Elio Sjak-Shie) | ISSC | RST (Elio Sjak-Shie) | |
| Python | - | Programming and computing software. | 3.11 | App | No | Full | Yes | Yes | No | On Request | Active | Free | ? | ? | ISSC | FSW: RST (Elio Sjak-Shie) | |
| Qualtrics | - | Online service for building and administering questionnaires. | ? | Service | Yes | Full | N/A | N/A | N/A | N/A | Active | Paid license for all university staff and students. Login with ULCN. | Library | Library | External | FSW: RST (Kerwin Olfers) | |
| R* | - | Programming and computing software. | latest available (currently installed is 4.3.0) | App | No | Minimal | No | Yes | No | On Request | Active | Free | ? | ? | ISSC | ? | |
| R* | - | Programming and computing software. | 4.3.1 | App | No | Minimal | No | No | Yes | No | Limited | Free | ? | ? | ? | ? | Installed on the Win 10 LIBC PC. |
| Shinyapps.io | Shiny Admin | Service for deploying Shiny applications. | ? | Service | Yes | None | N/A | N/A | N/A | N/A | Active | Limited shared license on request | ? | ? | External | Juan Claramunt | |
| SideQuest | - | Side-load packages unto Android-based devices (e.g. Quest HMD). | v0.10.42 | App | No | Full | No | No | No | Yes | Active | Free | |||||
| SONA | - | Online service for advertising studies and awarding participant credits. | ? | Service | Yes | Full | N/A | N/A | N/A | N/A | Active | Paid license, available for students & staff. | ? | ? | External | ? | |
| SPSS | - | Software used for statistical data analysis. | ? | App | No | None | No | No | No | No | Active | Paid software. Installed by the ISSC. License provided by ISSC. | ? | ? | ISSC | ? | |
| Stereokit | - | SDK for developing XR/MR applications. | Latest | App | No | Minimal | No | No | No | Yes | Active | Free | |||||
| SurfDrive | - | Windows integration for the SurfDrive cloud sync service. | Latest | App | No | Full | No | Yes | No | No | Active | Free. Surf academic account required for use. | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | |
| TES RoomBooking | SSH Booking Admin | Online service for lab booking. | ? | Service | Yes | Minimal | N/A | N/A | N/A | N/A | Active | Paid license, accounts managed by SOLO | ? | Kerwin Olfers | External | Kerwin Olfers | |
| The Observer XT | The Observer XT Admin | Software for analyzing behavioral (video) data. | 16 | App | No | Full | No | No | No | No | Active | Installed by the ISSC. Requires license provided by SOLO (currently no licenses). | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | |
| Tobii Eye Tracker Browser | - | Software for setting up a Tobii eye tracker (outdated, use the Eye Tracker Manager). | App | No | Minimal | No | No | No | No | Archived | Installed by SOLO. | ||||||
| Tobii Pro Eye Tracker Manager | Tobii Admin | Software for setting up a Tobii eye tracker. | 2.6.1 | App | No | Full | Yes | Yes | No | No | Active | Free. Installed by ISSC. | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | |
| Tobii Pro Glasses Controller | - | Software for setting up a Tobii glasses 3 recording. | 3 | App | No | Full | On Request | No | No | No | Active | Free. Not packaged, installed by SOLO. | Elio Sjak-Shie | RST (Iris Spruit) | RST (Iris Spruit) | ||
| Tobii Pro Glasses Controller | - | Software for setting up a Tobii glasses 2 recording. | 2 | App | No | Full | On Request | No | No | No | Active | Free. Not packaged, installed by SOLO. | Elio Sjak-Shie | RST (Iris Spruit) | RST (Iris Spruit) | ||
| Tobii Pro Lab | Tobii Admin | Software for administering eye tracking tasks and analyzing eye tracker data. | 24.21 | App | No | Full | Yes | Yes | No | No | Active | Installed by the ISSC. Requires license provided by SOLO. | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | |
| Tobii Pro Lab | Tobii Admin | Software for administering eye tracking tasks and analyzing eye tracker data. | 1.241 | App | No | Full | On Request | On Request | No | No | Active | Installed by the ISSC. Requires license provided by SOLO. | Eli Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | |
| Tobii Pro Lab | Tobii Admin | Software for administering eye tracking tasks and analyzing eye tracker data. | 1.217 | App | No | Full | On Request | On Request | No | No | Active | Installed by the ISSC. Requires license provided by SOLO. | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | |
| Tobii Pro Lab | Tobii Admin | Software for administering eye tracking tasks and analyzing eye tracker data. | 1.194 | App | No | Full | On Request | On Request | No | No | Active | Installed by the ISSC. Requires license provided by SOLO. | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | |
| Tobii Pro Lab | Tobii Admin | Software for administering eye tracking tasks and analyzing eye tracker data. | 1.161 | App | No | Full | On Request | On Request | No | No | Active | Installed by the ISSC. Requires license provided by SOLO. | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) | |
| Tobii Pro Studio | Tobii Admin | Software for administering eye tracking tasks and analyzing eye tracker data. | 3.4.8 | App | No | Minimal | No | No | No | No | Archived | This software is EOL. Licenses cannot be activated. | n.a. | n.a. | n.a. | RST (Iris Spruit) | |
| Unity 3D | - | Game engine for 2D / 3D / XR applications and games. | 6.3.x (LTS) | App | No | Full | No | No | No | Yes | Active | Free | |||||
| Unity 3D | - | Game engine for 2D / 3D / XR applications and games. | 2022.3.x (LTS) | App | No | Full | No | No | No | Yes | Active | Free | |||||
| Unity 3D | - | Game engine for 2D / 3D / XR applications and games. | 2021.3.x (LTS) | App | No | Full | No | No | No | Yes | Active | Free | |||||
| Unity Version Control | - | Version control for Unity. | Latest | Service | No | Full | No | No | No | Yes | Active | Free for educational and personal use. | |||||
| Visual Studio Code | - | IDE for development. | Latest | App | No | Full | On Request | On Request | No | Yes | Active | Free | |||||
| VU-DAMS | - | Software for analyzing physiological data collected with VU-AMS hardware. | 4.3/4.6 | App | No | Minimal | On Request | On Request | No | No | Active | Free | Elio Sjak-Shie | RST (Iris Spruit) | ISSC | RST (Iris Spruit) |
Availability, Support and Use-case
ELAN is installed in the Researchdata analysis room (on the Desktop). It can also be downloaded here: Download | The Language Archive. On managed devices, the portable .zip version can be downloaded and used. To run ELAN, extract the zip file, and run the ELAN application. If you run into issues, see the SmartScreen Warning information below.
Official documentation can be found here: Documentation | The Language Archive (mpi.nl). Additionally, these video tutorials are highly recommended: ELAN Intro - ELAN explained in plain LEGO - VILA VIDEO TUTORIALS (youtube.com).
SOLO provides limited technical support for ELAN.
Tips & Tricks
Creating a New Project
In ELAN, one project is created per observation. When multiple video's were recorded per observation, multiple video's can be added into one project and synchronized if required.
To create a new project, go to File > New. Here, navigate to the folder where the video that needs to be annotated is located, select the video and move it to the Selected Files area. Additionally, a template can be selected and added to the project. When all necessary files are moved to Selected Files, press OK.
By default, the File Format of the media files is set to Common Media Files (*.mpg, *.mpeg, *.wav, *.mp4, *.mpg4, *.mov, *.qt). When you have a different media format, you could select All Files at File Format. If you have difficulties playing your video in ELAN, try transcoding it to for example an mp4 format (see Audio and Video Transcoding for Research - XWiki for more information on how to do this).

Creating a new project
Setting Up a Project
Before setting up a project, it is important to understand some important structural elements of ELAN: Tiers, Tier Types, and Controlled Vocabularies.
Tiers
A Tier is used to organize and structure annotations. Each Tier represents a specific type of annotation and is displayed as a separate row in the Timeline Viewer. Tiers can have a hierarchical structure, where a parent Tier can have one or multiple child Tiers, but usually, Tiers are independent layers.
Tier Types
In general, a Tier Type defines the type of annotations that are inserted on a specific Tier. Multiple Tiers can have the same Tier Type, but it is also common to have a oneTier Type for each Tier.
Controlled Vocabularies
Controlled vocabularies (CVs) are predefined lists of annotation values or codes that are used on specific tiers. These vocabularies help ensure consistency and reduce errors during the annotation process. A CV needs to be associated with a Tier Type to be able to use it for a specific Tier.
Creating Tiers and Tier Types
In the current example, we are annotating a short video clip which depicts an interaction between parent and child. For simplicity, we will only be coding the following:
- The gaze direction of the parent
- The gaze direction of the child
As such, we will create two Tiers and two Tier Types:
- Tier: "gaze_parent" with Tier Type: "gaze_parent"
- Tier: "gaze_child" with Tier Type: "gaze_child"
In the example above, the Tiers and Tier Types have the same name.
First, the Tier Types need to be created.
- Go to Type > Add New Tier Type.
- Fill in the Type Name: "gaze_parent". Other settings are left as is. Click Add.
- Do the same for Tier Type "gaze_child".
Next, the Tiers are created.
- Go to Tier > Add New Tier.
- Fill in the Tier Name: "gaze_parent".
- Select the Tier Type: "gaze_parent".
- Additionally, you can fill in the Participant: parent, and the Annotator: your name. For the current example, other options can be left as is.
- Click Add.
- Do the same for the "gaze_child" tier.
In this example, the Tier Types do not add much information or functionality to the Tiers. However, below we will see that a Tier Type is necessary when Controlled Vocabularies are used.
The behavior on the newly created Tiers can now be annotated. This is done by selecting part of the video, double-clicking on the selection in the desired Tier and then typing the desired annotation name.

Adding Tier Types

Adding Tiers
Creating Controlled Vocabularies
In the current example so far, Tiers can have any annotation and the annotation needs to be typed in each time a new annotation is made. However, usually only a few predefined annotations are relevant for a certain Tier. Additionally, typing in annotations each time, is error-prone and typos can mess up the final analysis.
To solve this, one can create Controlled Vocabularies. In the current example, we will create two Controlled Vocabularies, "gaze_parent", with values "child" and "away" and "gaze_child", with values "parent" and "away". Thus, to keep it simple, we will only annotate when the parent is looking at the child or away from the child and when the child is looking at the parent or away from the parent.
To create the Controlled Vocabularies:
- Go to Edit > Edit Controlled Vocabularies.
- Enter the CV name: "gaze_parent". Click Add.
- Enter the Entry value: "child". Click Add.
- Enter another Entry value "away". Click Add.
- Add another CV by putting in a new CV Name: "gaze_child", then click Add.
- Add the Entry values: "parent" and "away".
The newly created CVs need to be added to the already existing Tier Types and Tiers.
- Go to Type > Change Tier Type.
- Select the gaze_parent Type and change the Use Controlled Vocabulary to "gaze_parent". Press Change.
- Select the gaze_child Type and change the Use Controlled Vocabulary to "gaze_child". Press Change.
Now, when we select a part of the video and double-click on the selection, we get only two options. In the gaze_parent Tier we get the options "child" and "away", and in the gaze_child Tier we get the options "parent" and "away".

Adding CVs

Adding CVs to Tier Types

Creating annotations with CVs
Using Templates
So far, we have created our own Tiers with Tier Types and Controlled Vocabularies. To avoid making these for each project, a template can be created and opened in a next observation. Save the template by going to File > Save as Template. Fill in a File Name and click Save.
When you want to use a template in the next observation, it can be added when going to File > New. Add the desired Media to the Selected Files and select Template to add the template to the Selected Files.
Annotating Behavior
Annotating behavior can be done in the default Annotation Mode. As mentioned before, this can be done by selecting part of the video, double-clicking on the selection and entering an annotation value (either manually or by using a Controlled Vocabulary).
Another way to annotate behavior in a faster way, is by using Segmentation Mode. Go to Options and click Segmentation Mode. Here, the start and stop of each annotation can be indicated by a mere keystroke. There are different options, like creating adjacent annotations or non-adjacent annotations. Press SPACE to start and stop the video. Press ENTER to insert a start and/or stop of an annotation.
In Segmentation mode it is thus possible to quickly insert annotations. However, annotation values cannot be added here. All annotations are ‘empty’. To add values to the annotations, you will need to switch back to Annotation Mode (using the Options menu). Alternatively, you can create Tiers on which only one behavior is coded, so that there is no need to add a value to the behavior (the behavior can only be ‘on’ or ‘off’). This may however not be a workable solution when a lot of behaviors need to be annotated.
Analyzing the Data
Basic statistics such as duration and frequency of annotations can be obtained by going to View > Annotation Statistics. Select the desired Tier. These statistics can be saved in a text file by clicking Save.
Synchronizing Multiple Video’s
Some observations are performed with multiple camera’s. In such cases, it is likely that not all camera’s were started at the same time. In ELAN, multiple video files can be added to the same project. These video files can then be synchronized by going to Options > Media Synchronization Mode.
When you have two video’s, there are two players. Select the player with the video that is lagging behind on the other video. Play the video and stop it where it is in sync with the other video. Then, hit Apply Current Offset. Select both players and double-check that the video’s are in sync.
ELAN sometimes does not play multiple video’s properly. Playing the video from the beginning again, or restarting the program can help.
Analyzing Clusters of Behavior
For some studies, it may be relevant to analyze clusters of behavior. In our example, we have annotated whether the parent was looking at the child or away, and whether the child was looking at the parent or away. A cluster of behavior would be, for example, when the parent is looking at the child and when the child is looking at the parent, i.e. they make eye contact.
To analyze clusters of behavior, a new Tier can be created that combines two or more Tiers. To do so:
- Go to Tier > Create Annotations from Overlaps.
- Select the relevant Tiers: "gaze_child" and "gaze_parent". Click Next.
- Leave the next screen to its default regardless of their annotation values. Click Next.
- Enter the name for the destination tier: "eye_contact". Add a new Tier Type by clicking Add new type. Add Type Name: "eye_contact". Click Add then click Close. Select the newly created eye_contact Tier Type and click Next.
- Leave Concatenate the values of the annotations selected, but do select Compute values in the order of the selected tiers. This will ensure that the overlapping annotations will have the same name regardless whether the child looked at the parent first (which would otherwise be named "child parent") or whether the parent looked at the child first (which would otherwise be named "parent child"). In the current example, all such overlapping annotations will be called "parent child", which makes analysis a lot easier. Click Finish.
A new Tier has now been created with annotations that are concatenations of the annotations of the gaze_parent and gaze_child Tiers.

Creating annotations from overlaps
Performing Lag Sequential Analysis
Performing a lag sequential analysis is not possible in ELAN, but can be performed outside of ELAN in R. Data from ELAN can easily be exported by going to File > Export As, and choosing the desired file format. A Tab-delimited Text file would be easily imported into R. R offers a package called LagSequential to perform lag sequential analysis on categorical data. For more information on how to use the package, see LagSequential: Lag-Sequential Categorical Data Analysis.
Performing Reliability Analysis
A reliability analysis can be performed by going to File > Multiple File Processing > Calculate Inter-Annotator Reliability. Different methods can be used for calculating the reliability. For more information, see Calculate inter-annotator reliability.
Importing Annotations/Events
Events can be imported as annotations. Some standard types of files can be imported, such as a PRAAT file. It is also possible to import a custom event file. Go to File > Import > CSV / Tab Delimited Text File. The event file should be a .txt, .csv or .tsv file, with comma or tab separated columns. The file can contain header rows, which can be skipped when the file is imported.
The custom event file can have the following columns:
- Annotation (event)
- Tier
- Begin Time
- End Time
- Duration
The Begin Time, End Time, and Duration can be formatted as hh:mm:ss.ms or s.ms
With this method, events can be imported as annotations. This could be useful when the observed participant was administered a task with different conditions. These conditions could be saved in a text file and the text file could be imported into ELAN.
When the event file is not synchronized with the video file, one can do so by
- Playing the video and determining the moment where the Event file is timepoint 0.
- Going to Edit > Linked Files
- Fill in the offset in the video
Synchronizing event and media files with the above method requires the following:
- The video needs to be started before the event file’s timepoint 0.
- It needs to be visible in the video where timepoint 0 of the event file is. For example, when events are sent from stimulus presentation software, the video could register the start of the task.
Using the Observer Data in ELAN
It is possible to annotate data that has previously been coded in the Observer. To do this, you will need the following:
- The observational data (the video’s)
- The annotation data
To obtain the annotation data (or observational data) from the Observer, in the Observer go to File > Export > Observational Data. Now, you can select the data type. It would seem obvious the select the Other software option. However, this will result in quite oddly formatted files, which cannot be imported into ELAN without modification. It seems easier to select the Microsoft Excel option. Since the data in ELAN is analyzed per observation, select Create separate files per observation at Export option and press OK. The data is saved in .xlsx files.
To be able to import the data into ELAN, the Excel files need to be converted to a different format, e.g. tab delimited files. This can be done by opening the xlsx file in Excel, then saving the file as Text (Tab Delimited) (*.txt) file.
To then import the file into ELAN, in ELAN go to File > Import > CSV / Tab-delimited Text File. Open the text file with the observational data. For each column, a data type needs to be selected. In general, the Time_Relative_sf column can be used as the Begin Time, the Duration_sf as the Duration, the Subject could be imported as Tier and the Behavior as Annotation. Note that in ELAN, behaviors or annotations cannot overlap in one Tier, so it may not be possible to easily import behavioral data into ELAN. Some modifications may be required. When done, press OK.
Note that it seems that the Duration is not always interpreted correctly. Always double-check your data in ELAN to confirm it was imported correctly! Instead of using the Duration, you could create an additional column with the end time. This can be done by adding the columns Time_Relative_sf and Duration_sf, for example in Excel. Then, classify this newly created column as End Time when importing the behavioral data.
Exporting Data
To export data in ELAN, go to File > Export as > ... . Elan has several different options for exporting data, but the two most important ones are export as Tab-delimited Text file or Interlinear text file.
Tab-delimited Text
This option will give the desired data in a tabular format, which is useful for further data analysis in software such as R or Excel. The following options are available:
- Select tiers: here you can (de)select the tiers that should be exported (by tier names, types, participants, annotators or language)
- Select the Output options:
- Restrict to selected time interval (to only export data from selected time interval)
- Add Master media time offset to annotation times (this is relevant when multiple videos were synchronized, because it adds the time offset of the master media)
- Include header lines containing media file information (this is always recommended)
- Exclude tier names from output
- Exclude participant names from output
- Separate column for each tier (each tier will have an individual column in the data file. There are several options listed that allow overlapping annotations to be in the same row).
- Include time column for: (select timestamps to be included, such as begin time, end time, and/or duration)
- Include time format: (choose time format of time columns)
- Choose a file format:
- *.txt: saves the data in a text file
- *.csv: saves the data in a csv file (separated by commas). This is the recommended format when you want to continue data analysis in software such as Excel or R.
- *.tsv: saves the data in a tsv file (separated by tabs). This is recommended when you want to analyse your data with linguistic software. It can also be imported to Excel, however some versions seem to have problems with it.

Options for exporting data as tab-delimited text
Interlinear Text
This will produce a text file containing the annotations which can be edited in any text editor (for example Word). This option is useful when you are interested in the content and analysis of language (for example when transcribing interviews). You can select the relevant tiers, extra print options, and layout options. Once you selected the options, you can click Apply Changes to see a preview of the data. You can continue adjusting the options or click Save As... to save your data in a text file (*txt.).
Archiving ELAN data
When archiving ELAN data, make sure to save the following:
- The project files of each observation (.eaf file).
- The template file (.etf).
- The raw video files.
- The ELAN software used to analyze the data. Make sure it is the same version that was used to analyze the data. It is advised to include the .zip with the software, that can be downloaded here: Download | The Language Archive. One major advantage of ELAN is that the software is freely accessible and can be stored with the data archive.
When working on a project in ELAN, a .pfsx and .001 file are automatically generated. These do not need to be archived. The .pfsx file contains user- and document- specific settings like the font size used to display text, but does not contain any annotation data. The .001 file is an automatically generated backup.
Resources
- ELAN documentation: Documentation | The Language Archive (mpi.nl).
- Video tutorials: ELAN Intro - ELAN explained in plain LEGO - VILA VIDEO TUTORIALS (youtube.com).
