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 (Loopy on-site only)
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, video descriptions 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
- The resolution of uploaded Videos can be changed
- Videos can be deinterlaced
- 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 (Loopy on-site only)
- 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)
- Colormaps can be applied
- The contrast, brightness, white balance, color temperature and gamma can be corrected
- The contrast can be corrected automatically
- Videos can be subsampled (decimate) and time lapse
- Videos can be split horizontally(side-by-side view)
- Videos can be rotated 90degrees (clock and anti-clockwise)
- Multiple videos can be montaged to a "tiled" video
- Region of interest can be defined (one to many crops per frame)
- Face blurring
Audio
- Audio of videos can be visualized as a video (waves, frequency, spectrogram or histogram)
- Audio can be added (uploaded) to videos
Metadata Management (Lab Book)
- Structured metadata for videos
- Videos can be organized in projects and Loopy can be filtered by projects
- Labels and tags can be added to Videos
- Supported tag types: text, number, single-select, multi-select, date, time
- Compulsory metadata enforcement for tags in a project (enforced metadata)
- Videos missing enforced metadata are organized in a quarantine zone
- Advanced querying functionality
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
- Frame difference and frame brightness can be measured
- Optical Character Recognition (Numbers Only)
- Tag tracking (QR-code like)
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
- Predictions can be can be used for 3D
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
- Multiple instances of a keypoint can be detected
- 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
- Predictions can be can be used for 3D
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)
- Stereo and multi-camera calibration (extrinsic calibration with LED target, random pattern or chess board)
- 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 (Loopy on-site only)
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 Administration
- 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
- Automatic backup to remote location