Skip to main content

TLabel

A Unified Annotation Framework for Cross-Sensor Tactile Manipulation Data

PyPI Tests License: MIT Downloads DOI 中文文档

TLabel is the first cross-sensor tactile annotation schema with capability declarations and Compliance Level stratification. It enables heterogeneous tactile sensors — regardless of operating principle — to produce compatible 14-dimensional semantic annotations while preserving their unique strengths.

TL;DR — The Unicode for tactile data: one standard schema, every sensor.

Why TLabel?

Tactile datasets today ship as raw sensor signals without semantic annotations. Each sensor type demands its own ad-hoc processing, and results from different sensors cannot be compared or fused. TLabel addresses this by:

  • Standardizing annotations — 14 dimensions covering spatial, mechanical, surface, dynamic, and meta perceptions
  • Declaring capabilities — each adapter explicitly states which dimensions it can and cannot annotate
  • Stratifying compliance — Compliance Level (L1–L4) ensures every sensor participates at its appropriate information density
  • Enabling cross-sensor comparison through a shared output format

Quick Start

Install

pip install tlabel

Load and explore data

import tlabel

# Load tactile data (auto-detects sensor format)
data = tlabel.load("path/to/sensor_data.pkl")

# Or try the built-in demo — no files needed
data = tlabel.demo("gelsight")

# Inspect annotation metadata
print(data.describe())

Interactive annotation (Jupyter)

data.review()  # Bilingual annotation panel (Chinese / English)

Export to training formats

data.export("output.json")              # JSON / CSV
data.export_ftp1("output.zarr")         # FTP-1 Zarr for foundation models

from tlabel.converters import tlabel_to_lerobot
tlabel_to_lerobot("annotations.json", "lerobot_episode/")  # LeRobot

CLI

tlabel list                       # List all registered adapters
tlabel info gelsight              # Adapter details & compliance level
tlabel validate data.json         # Schema compliance check

Optional dependencies

pip install tlabel[gelsight]      # GelSight / DIGIT (.pkl)
pip install tlabel[paxini]        # PaXini PXCap (.h5)
pip install tlabel[daimon]        # Daimon DM-TacClaw (.parquet)
pip install tlabel[ftp1]          # FTP-1 export (zarr)
pip install tlabel[all]           # Everything

Schema — 14 Dimensions, 4 Compliance Levels

TLabel defines 14 semantic dimensions with Compliance Levels (L1–L4) indicating annotation completeness:

Level Name Required Fields Example Sensors
L1 Basic Tactile contact, centroid, slip, confidence Single-point resistive, proximity
L2 Force-Aware L1 + force_magnitude Paxini, YCB-Slide, GelSight
L3 Full-Vector L2 + force_vector [3D] ToucHD, calibrated DM-TAC
L4 Rich-Semantic L3 + all optional fields BioTac, next-gen multimodal

The 14 dimensions span: contact, contact_centroid, force_magnitude, slip_event, confidence, compliance_level, contact_region, force_vector, torque_vector, slip_velocity, manipulation_phase, texture_class, object_deformation, temperature.

Full dimension spec → docs/tlabel-format.md

Supported Sensors

Dataset Adapters (offline): GelSight/DIGIT (L3) · Daimon DM-TacClaw (L3) · PaXini PXCap (L2) · UniVTAC (L3, legacy *_gsmini and new *_tactile HDF5 layouts) · TacQuad/AnyTouch (L1) · VTouch (L2) · ToucHD-Force/AnyTouch 2 (L3) · YCB-Slide (L2) · SynTouch BioTac (L2) · Tashan TS-F-A (L3) · XELA uSkin/UniTac-NV (L1)

Real-time Adapters (hardware): PaXini GEN3 (L2) · Daimon DM-Tac (L2)

Adding a new sensor takes ~30 min — fork contrib/adapter-template/

Architecture

┌─────────────────────────────────────────────────┐
│  Layer 1: Schema                                │
│  14 semantic dimensions + Compliance Level L1-L4│
├─────────────────────────────────────────────────┤
│  Layer 2: Adapters                              │
│  DataAdapterBase │ SensorAdapterBase             │
│  (7 built-in + community-extensible)            │
├─────────────────────────────────────────────────┤
│  Layer 3: Downstream                            │
│  Feature derivation · Augmentation · Export      │
│  PredictEngine · FTP-1 · LeRobot · RLDS · ROS2 │
└─────────────────────────────────────────────────┘

LeRobot Integration

TLabel provides bidirectional converters for LeRobot format, enabling seamless integration with the LeRobot ecosystem.

LeRobot → TLabel

Convert LeRobot parquet data to TLabel for annotation and quality assessment:

from tlabel.converters import lerobot_to_tlabel

# Load LeRobot episode and convert to TLabel
data = lerobot_to_tlabel("path/to/lerobot_episode/")

# Review and annotate
data.review()  # Interactive bilingual annotation panel

# Export annotated data
data.export("annotated_tlabel.json")

TLabel → LeRobot

Convert TLabel annotations back to LeRobot format for training:

from tlabel.converters import tlabel_to_lerobot

# Convert TLabel annotations to LeRobot parquet format
tlabel_to_lerobot(
    "annotated_tlabel.json",
    "path/to/lerobot_episode/",
    tactile_field="observation.tactile",
)

Complete Example

import tlabel
from tlabel.converters import lerobot_to_tlabel, tlabel_to_lerobot

# 1. Load LeRobot data
lerobot_data = lerobot_to_tlabel("my_robot_episode/")

# 2. Review and annotate (optional)
lerobot_data.review()

# 3. Export to TLabel format for inspection
lerobot_data.export("tlabel_annotations.json")

# 4. Convert back to LeRobot format (with annotations)
tlabel_to_lerobot("tlabel_annotations.json", "my_robot_episode/")

Requirements

pip install tlabel[lerobot]  # or: pip install pyarrow

Paper

TLabel: A Unified Annotation Framework for Cross-Sensor Tactile Manipulation Data

Xi Luo, Sheng Wu (Niuxiu Tech)

Submitted to SoftwareX, 2026. Manuscript: SOFTX-S-26-01665

[PDF] · LaTeX source: paper/

Citation

@software{tlabel2026,
  title  = {TLabel: A Sensor-Agnostic Tactile Data Annotation Toolkit and Format Standard},
  author = {Wu, Sheng and Luo, Xi},
  year   = {2026},
  url    = {https://github.com/liesliy/tlabel}
}

Documentation

Document Description
TLabel Format Spec Complete annotation schema specification
Annotation Spec Annotation methodology and guidelines
Design Document Core design decisions and architecture
中文文档 Chinese README

Contributing

TLabel is designed to be extensible. Add your sensor in ~30 minutes:

  1. Fork contrib/adapter-template/
  2. Subclass DataAdapterBase or SensorAdapterBase
  3. Submit a PR or publish as a standalone package

See CONTRIBUTING.md for details.

License

MIT © 2026 Niuxiu Tech


TouchLabel AI — Tactile Data Annotation Infrastructure
GitHub · PyPI · Discord
Niuxiu Tech · Hangzhou, China

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tlabel-0.23.1.tar.gz (293.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tlabel-0.23.1-py3-none-any.whl (311.2 kB view details)

Uploaded Python 3

File details

Details for the file tlabel-0.23.1.tar.gz.

File metadata

  • Download URL: tlabel-0.23.1.tar.gz
  • Upload date:
  • Size: 293.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for tlabel-0.23.1.tar.gz
Algorithm Hash digest
SHA256 eb1b2e6e7b30f374bbf8bfaa65f1a07977c4a5e8335781b56979dbf8e5ac6c1b
MD5 7d81cfd44aef841732ff91630a389f81
BLAKE2b-256 df2dd389a58c4473f38d0f6646012cbccfed704678a5fd24acd8be0d6bc408fd

See more details on using hashes here.

File details

Details for the file tlabel-0.23.1-py3-none-any.whl.

File metadata

  • Download URL: tlabel-0.23.1-py3-none-any.whl
  • Upload date:
  • Size: 311.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for tlabel-0.23.1-py3-none-any.whl
Algorithm Hash digest
SHA256 75cf7e15040dafb1ba01ff868268d87d9efd15cef638333bbb154fdafa097986
MD5 ceee4bbcc4e48056ee53eab8d0b97075
BLAKE2b-256 4ba0f1ad62911bae68cb7f5ddff172bca941528469c387d13968740bf48b571a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.23.1 This release

2 files

0.23.0

2 files

0.22.4

2 files

0.22.3

2 files

0.22.2

2 files

0.22.1

2 files

0.22.0

2 files

0.21.1

1 file

0.21.0

2 files

0.20.1

2 files

0.20.0

2 files

0.19.0

2 files

0.18.2

2 files

0.18.1

2 files

0.18.0

2 files

0.17.3

2 files

0.17.2

2 files

0.17.1

2 files

0.17.0

2 files

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

0.13.1

2 files

0.13.0

2 files

0.12.4

2 files

0.12.3

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.11.2

2 files

0.11.1

2 files

0.11.0

2 files

0.10.3

2 files

0.10.2

2 files

0.10.1

2 files

0.10.0

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page