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.

Tokens
78K
Snippets
375
Records
695
Agent score
62%

What's inside Tator

  1. Understand Tator v1.0.0 indexing and database changes

    v1-updates

    Tator 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 JSONB fields. To prevent performance degradation, Tator automatically creates project-scoped and type-scoped indices whenever attribute types are added or removed from a LocalizationType or MediaType. Note that record access may be slower during the automatic index creation process, though it remains consistent.

  2. 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.
  3. Implement the MenuAppletElement class

    Every annotator menu applet must define a JavaScript class that extends tatorUi.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>
  4. 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.
  5. 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.

  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.