TLabel
A Unified Annotation Framework for Cross-Sensor Tactile Manipulation Data
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) · TacQuad/AnyTouch (L3) · VTouch (L3) · YCB-Slide (L3)
Real-time Adapters (hardware): PaXini GEN3 (L2) · Daimon DM-Tac (L3)
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 │
└─────────────────────────────────────────────────┘
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
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:
- Fork contrib/adapter-template/
- Subclass
DataAdapterBaseorSensorAdapterBase - 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tlabel-0.22.4.tar.gz.
File metadata
- Download URL: tlabel-0.22.4.tar.gz
- Upload date:
- Size: 276.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1518aadd3c0c9d5118b807feebd4db8e7fd00034b09f5de0d6afc38b5e493c46
|
|
| MD5 |
2fe447fc6fbc87e569556ae2b4b789f7
|
|
| BLAKE2b-256 |
b85d75269c5ef3153fb2ee46890e8f52e6897c103ceef11b4c3179e220b76113
|
File details
Details for the file tlabel-0.22.4-py3-none-any.whl.
File metadata
- Download URL: tlabel-0.22.4-py3-none-any.whl
- Upload date:
- Size: 303.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19204bd329adacfe77e5324bf6867aa7843d3e959510212f4c228c0885d4a29c
|
|
| MD5 |
b432f569cfde1a074b75625ad5c439e4
|
|
| BLAKE2b-256 |
d516774deba0f80cf25c2b36561943e46fb97e7d38f73345792b1613bb844576
|