Tator Documentation
website·Indexed 32 days ago
https://www.tator.io/A platform for video annotation and media management. Documentation includes user guides for labeling activities, multi-stream video playback, and project organization, as well as developer resources for the Tator REST API (1.2.4) and the tator-py Python client for managing media, metadata, and deploying algorithms.
What's inside Tator
- Dashboards in Tator are custom HTML files loaded into iframes and accessible via the Analytics portal. They allow developers to create feature-specific pages to visualize or manage data specific to a project's goals. Each dashboard is a single HTML file containing all necessary styles and scripts.
Understand Tator v1.0.0 indexing and database changes
v1-updatesTator v1.0.0 has removed the Elasticsearch subsystem to improve data consistency, reduce maintenance, and resolve licensing restrictions. It now uses a dynamic PSQL-based index manager.
Semi-structured attribute information for Media, Localizations, Files, and States is stored in PostgreSQL
JSONBfields. To prevent performance degradation, Tator automatically creates project-scoped and type-scoped indices whenever attribute types are added or removed from aLocalizationTypeorMediaType. Note that record access may be slower during the automatic index creation process, though it remains consistent.Contact CVision AI, Inc. regarding data privacy
For questions or comments about the Privacy Policy, Personal Information, use and disclosure practices, or consent choices, contact the data controller, CVision AI, Inc., via email at info@cvisionai.com or by postal mail at: CVision AI, Inc., 81 West Street, Medford, MA 02155, USA.Implement the MenuAppletElement class
Every annotator menu applet must define a JavaScript class that extendstatorUi.annotation.MenuAppletElement. This class is instantiated as a singleton and receives information about the current media, frame, and selected version. The class must be registered as a custom element.<script src="/static/annotation.js"></script> <script> class NewApplet extends tatorUi.annotation.MenuAppletElement { // Override parent functions here } customElements.define("new-applet", NewApplet); </script>Navigate the Tator annotation view using Prev/Next buttons
In the updated annotation view, navigation (Prev/Next) buttons are located to the left of the breadcrumbs. This fixed positioning ensures the buttons do not shift while cycling through media, providing a consistent interface for users tracking their current list position via the breadcrumbs.Execute asynchronous tasks with Argo Workflows
Tator uses Argo (implemented as a Kubernetes Custom Resource Definition) to execute long-running asynchronous tasks called 'workflows'.
- Transcode Workflow: The core workflow used to convert uploaded media into streaming or download-optimized formats.
- Custom Workflows: User-defined workflows for video processing algorithms or report generation.
Transcodes and custom workflows can be configured via the Helm file to run on the same cluster as the Tator REST API or on separate, remote Kubernetes clusters for performance or security reasons.
Analyze high-resolution video up to 8K in Tator
Tator supports video analysis for high-resolution sources, including 4K and 8K. The platform maintains frame-accurate playback across multiple sources while scaling up to 8K resolution, ensuring that high-pixel density data is preserved for detailed video data analysis.Deploy custom algorithms for batch processing and AI annotation
Tator allows developers and data scientists to deploy algorithms by wrapping them in an Argo Workflow and registering them within the platform. This enables users to launch thousands of asynchronous workloads (CPU or GPU based) on media with a single click. Workloads can be processed on any Kubernetes cluster (local or cloud), and remote processing can be configured on a per-algorithm basis to tailor hardware requirements. For integration with third-party services like AWS SageMaker or GCP DataLab, lightweight Argo workflows can be used as interfaces.Understand Hosted Templates in Tator
Hosted templates allow you to register applets or algorithms in Tator that are hosted externally. This is useful for components that require regular updates or per-project configuration. Tator fetches the template content via an HTTP GET request to the specified URL using provided headers and renders it using Jinja2 syntax.
Key behavior:
- Scope: Registered at the Organization level, then used at the Project level.
- Rendering: Uses Jinja2 for template parameters.
- Precedence: If a template parameter or header is defined at both the hosted template level and the specific algorithm/applet level, the algorithm/applet level value takes precedence.
Organize media files using nested folders in Tator 1.3
Tator 1.3 introduces nested folders functionality, which allows users to organize their media files using a structure that mimics a traditional filesystem.Understand Tator versioning terminology
Tator uses a specific versioning scheme to manage metadata (localizations and states) for video and imagery:
- Version: An interpretation of an object from a particular point of view. Versions can derive from other versions or the Baseline (similar to a git branch).
- Baseline: The default version within a project that does not derive from any other version (similar to a git main/master branch).
- Variant: A specific reference to an object that exists on a version.
- Elemental Id: A unique identifier shared by variants of the same object across multiple versions or deployments.
- Mark: A revision number for an object on a specific version. Edits to an object create new marks. Creating a new version resets the mark code to 0 for that version.
- View: The selection rules (arguments) used in
get_localization_list,get_state_list, or REST API GET requests to determine the result set.
Manage digital assets in Tator
Tator provides a system for uploading, hosting, and organizing video, images, audio, and generic files. Assets can be organized using projects and folders, and are searchable via custom attributes. The platform supports static and animated thumbnails, multi-resolution playback, and synchronized multi-stream video playback (e.g., for stereo or multi-camera monitoring). It includes scalable video encoding for optimized streaming/download formats and customizable media lifecycle strategies for storage management.