johnwdubois/rezonator

Layout (for experiments)

johnwdubois opened this issue · 0 comments

Background
In an experiment, what the participant sees on the screen, and when and where they see it, may be dynamic. For example, in an IU splitting experiment, even within a given stimulus the location of a word drawn to the screen can vary, depending on where the user splits the IU during the ongoing experiment. So, along with the "actions" that constitute the participant's "response" to a given stimulus, it is important to keep a record of the "layout" which was displayed at the time of the action. (This is especially important if the experiment involves eye-tracking, e.g. if a webcam eye-tracking tool is used to track which word the participant is looking at, at any given moment.)

What to do
Keep a record of the "layouts" of tokens as seen by the participant (where on the screen the words are being drawn). Layouts may be dynamic, responding to actions of the participant, so a new layout should be captured whenever the participant takes an action that modifies the layout (e.g. splitting an IU).

  1. A participant's response to a stimulus can have multiple layouts, which happen in succession, one after the other. Each response will contain in a list of maps (1 map per layout):
  • 0 : LayoutID1 (with various fields)
  • 1 : LayoutID2 (with various fields)
  • 2 : LayoutID3 (with various fields)
  1. In the simplest case, the response to the stimulus has only 1 layout, which remains static (e.g. no IU splitting). In this case the list of layouts has only 1 entry:
  • 0 : LayoutID1 (with various fields)
  1. The succession of "layout" maps should be tied to the history of the "actions" that constitute the "response" to a given stimulus, with timestamps (relative to the start time of the stimulus as displayed to the experimental participant):
  • start_Time (per layout)
  • end_Time (per layout)
  1. Each layout also contains a list of tokens, with location information for each. The token information includes pixelX and pixelY values to define its bounding word-box:
  • top_Start = x, y
  • bottom_End = x, y
  1. The x and y values for each token's word-box should be relative to the view box (which may be centered in the screen, with a border around it, etc.).
  2. These x and y values should be saved as part of the experiment, and exported as part of the CSV file.