title: Motiongram
text: # Motiongram
  
  A motiongram is a spatiotemporal display of motion, created from a video recording. Motiongrams are created using a video processing technique, in which a motion image is collapsed into a series of 1 pixel wide stripes and plotted next to one another.
  
  ## Challenge
  
  The traditional way of representing (human) motion visually, is either by displaying individual frames from a video file as a keyframe display or by doing one or more forms of feature extraction and subsequent plotting of the resultant data. Neither of these are ideal to give a good impression of the actual motion happening in the sequence. Keyframe displays only show postures and not motion, while feature graphs often rely on multiple analysis steps. Motiongrams are useful as an intermediary step to show spatiotemporal information of a movement sequence, but with no need for doing a full analysis of the data.
  
  ## History
  
  The term motiongram was first proposed by Alexander Refsum Jensenius in 2006, and the technique has later been refined by him and others. The technique was inspired by the pioneering work of Muybridge and Marey from the 19th century, as well as the slit-scan community in the 20th century. Motiongrams resemble slit-scan photographs, but are different in that they are created from frame-differenced motion-images. The result is that only motion is shown in the final display.
  
  ## Implementation
  
  An overview of creating a motiongram is shown in Figure 1. The process starts by reading a video stream, and doing simple image adjustments, e.g., changing the brightness and contrast. The next step involves producing the motion image by calculating the absolute frame difference between successive video frames, followed by applying some noise removal algorithms. The motiongram is created by calculating the normalized mean value for each row or column in the motion image. This means that for each image matrix of size MxN, a Mx1 or 1xN matrix is calculated. Drawing these 1 pixel wide “stripes” next to each other over time results in the final motiongram.
  
  The motiongram technique has been implemented as modules in the open framework Jamoma for Max, as well as for the EyesWeb platform and in Matlab. There are also two standalone applications for OSX and Windows: VideoAnalysis (non-realtime) and AudioVideoAnalysis (realtime).
  
  ## Examples
  
  Motiongrams allow for quick navigation in video material and for comparative analysis of motion qualities. Although quite rough, it is easy to see differences in the quantity of motion and similarities in upward/downward patterns between motion sequences.
  
  ## Limitations
  
  Since motiongrams are made by averaging over either the rows or columns of a video file, only one dimension will be shown in the final motiongram. Thus a horizontal motiongram will mainly represent vertical motion, while a vertical motiongram will mainly represent horizontal motion.
  
  