Complete List of Loopy Features

General Features

  • Loopy is used through a web interface
  • Loopy can be used online (via http://loopb.io) or as a server hosted at your infrastructure
  • When used on-site, integration with an external file server for storage is possible. Videos will be stored in a folder hierarchy
  • A REST API is offered which exposes a number of site features per-user, such as video management ability

Video Management

  • Icon preview and thumbnailing of videos
  • Video metadata is displayed (e.g. duration, count of frames, framerate, resolution etc.)
  • Users can define custom metadata fields
  • Video titles and video metadata can be searched
  • Collections, containing multiple videos can be defined. Analyses can be applied to whole collections. Videos in a collection can be synchronized by timestamp or framenumber
  • Videos can be deleted
  • Videos can be downloaded

Video Upload

  • video upload through the browser (drag and drop)
  • Upload of single and multiple video files at once
  • Filenames can be changed at upload and afterwards
  • Interrupted uploads can be resumed from the point of interruption (resumable uploads)
  • Quality control of each video after it was uploaded. Videos are transcoded if necessary (e.g. if it is a video format that is not compatible or if the video file is damaged)

Video Import

  • Videos can be imported. Import, in comparison to upload, does not copy the video. It links loopy to a video that is stored on a drive that is shared with loopy, such as a network attached storage (read only access for loopy is recommended).
  • Loopy will not delete imported files. Delete in the UI only removes loopy internal data such as metadata, title changes etc.

Video Playback

  • Video playback is done in the browser
  • Video playback supports buffered to provide smooth playback
  • Videos can be previewed with different qualities to adapt to the clients bandwidth
  • The video player can display the timestamp (default: timestamp of displayed frame / total duration) or the fremanumber (framenumber of displayed frame / total number of frames)
  • Different playback speeds are supported (0.1x,0.2x,1x,2x)
  • Single frame seeking is supported
  • Video playback and seeking is frame precise
  • The video player can be maximised to fullscreen

Video Editing

  • Videos can be transcoded to different predefined quality settings
  • Videos can be cropped (a region of the image can be extracted)
  • Videos can be trimmed (a specific duration can be extracted)
  • Multiple videos can be montaged to a "tiled" video

Annotation Module

  • The annotation module allows to draw boxes and key points into frames of videos
  • Annotations can be used for manually tracking (by a human) objects, individuals, key points etc. This data can be used to train a deep learning detector with the deep learning module.
  • It is frame precise
  • It supports keyboard shortcuts for a variety of its functions
  • Annotation projects can be defined by the user (classes and their colour, custom attributes).
  • Visibility and difficulty of each annotated object at any point in time can be defined
  • Annotation projects can be edited after creation
  • Multiple videos can be annotated with the same project
  • Videos can be member of several annotation projects
  • Multiple segments of videos can be annotated. These segments and the framestep can be defined
  • Feedback of already annotated segments is provided at several places
  • Annotated data can be plotted and downloaded
  • Annotations can be locked to protect them from changes and to mark them finished
  • Synchronized annotations for 3D reconstruction are supported (require Motif multi camera recording system)

Behavioural Scoring Module

  • Module for behavioural scoring/coding
  • Scoring projects can be defined by a user
  • Multiple subjects can be defined in a scoring project
  • An ethogram can be defined by adding multiple variables
  • Variables can be of the type "event" or "duration"
  • Each variable can have multiple mutually exclusive items
  • Items can be assigned with a custom keyboard shortcut and colour
  • Variables can be configured to be social or non-social
  • While coding, social variables will ask for a partner and a direction of the interaction (from a partner to a partner or undefined)
  • Multiple sampling modes supported; ad libitum and focal sampling is supported
  • Videos can be members of several scoring projects
  • The scoring interface displays the video, video time stamp (default; or frame number); a timeline illustrating the time and scored behaviours for each subject; a list of the defined variables and their shortcuts
  • Scoring is frame precise
  • Scorings can be locked to protect them from changes and to mark them finished
  • The video player can be detached to an extra window
  • Keyboard shortcuts for a variety of functions are provided
  • Data can be downloaded, plotted and summarized on a video, project, subject or variable bases
  • Summary view provides duration, inter behaviour interval and count
  • Data can be downloaded in different formats and forms including start/stop time and frame number of each variable

Image processing Module

  • Module for detecting and tracking objects
  • Multiple "applications" for detection and tracking (tracking is the process of assigning observations in consecutive frames to the same or different objects) are provided.
  • The "tracking wizards" provides an intuitive way to configure detection and tracking for standard laboratory arenas and mazes
  • Data can be smoothed
  • Data can be plotted with e.g.: XY timeseries; position scatter; position histogram; XY vs time 3D ; XY distance; three region transition
  • Data can be downloaded in different formats (.csv, .h5)
  • Flowtrace rendering is supported

Deep Learning and AI

Object detection

  • Based on an annotation project a deep neuronal network can be trained to detect single and multiple objects
  • 2 different networks architectures are selectable; one optimized for speed (learning and prediction) and one optimized for detection accuracy which is not as fast
  • Classes, defined by the annotation project, can be selected, merged and excluded
  • The input resolution, number of anchors, artificial negatives, augmentation and the split ratio between training and evaluation dataset can be configured
  • During the training process snapshots are generated in defined intervals and manual snapshots can be triggered any time
  • Training can be paused and resumed
  • Live evaluation of the training process is provided continuously
  • Predictions can be run on single videos or collection. Videos can be cropped or transformed and trimmed

Keypoint / Pose Tracking

  • Based on an annotation project for key points a deep neuronal network can be trained to detect multiple key points on a single animal
  • The input image resolution can be defined
  • During the training process snapshots are generated in defined intervals and manual snapshots can be triggered any time
  • Feedback graphs are provided for learning rate, system load, and progress
  • Predictions can be run on single videos or collection. Videos can be cropped or transformed and trimmed

3D tracking

  • Data for 3D tracking and reconstruction can come from other modules, annotation, deep learning tracking, conventional image processing, etc
  • Single camera calibration (intrinsic calibration; multiple targets such as checkerboard or circle grid can be generated and used for calibration)
  • Multi-camera calibration (extrinsic calibration with LED target or random pattern)
  • Calibration alignment. Calibrations can be aligned and scaled to real-world coordinates with custom or predefined calibration targets
  • 3D reconstruction and tracking
  • Re-projection error feedback

Administrative Features

A number of administrative features are only available in the on-site version

Integration with Network Storage

  • Loopy can be integrated with local network storage
  • Single or multiple locations for importing (import is only linking t a video file) videos can be defined (read-only)
  • Loopy can use network storage as the main destination for saving uploaded videos results and assets

User and Account Management

  • Users can sign up and apply for an account
  • Users can be invited by an admin user
  • Users can be awarded different resources (concurrent jobs, e.g. transcoding, DL training, tracking) and
  • A storage quota can be defined per user
  • Users can be suspended/deactivated
  • Users can be assigned to groups. Members of a group share all videos, projects, and assets.
  • An account expiration date can be set after which no videos can be uploaded
  • Different account types and permission roles (e.g. for using annotation, scoring, tracking, DL etc) can be set
  • email notifications

System and Site Adminstration

  • Admin users can see and edit all user content
  • Detailed feedback of the system is provided (system storage, memory, and processing utilisation)
  • Per-user and per-asset type storage feedback
  • Feedback of worker queues is shown

Security

  • Passwords are stored encrypted, no plaintext passwords are every stored
  • http://loob.io is HTTS protected and secured according to industry best practices
  • Self hosted instances my be placed behind an internal HTTPS proxy if hosting institution provides one
  • API keys may be revoked at any time