Skip to content
Back to skills

Data Preparation

ASecurity

"Prepare and validate KITTI or NuScenes data layouts, generated

  • 247 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 9, 2026
toolspythonbashapidatabase

Works with

  • api

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 9, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill data-preparation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Data Preparation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Data Preparation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-data-preparation-442ca906/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-data-preparation-442ca906)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: data-preparation
description: "Prepare and validate KITTI or NuScenes data layouts, generated
  infos, reduced point clouds, ground-truth databases, dataset classes, and
  preprocessing configuration for the legacy SECOND data API."
disable-model-invocation: true
metadata:
  disco-role: operating
license: MIT
---

# Data preparation

Use this sub-skill when the task is to validate a KITTI/NuScenes root, plan info
or ground-truth-database generation, select a dataset class, adapt a custom
lidar dataset, or tune voxel/preprocess/database-sampling fields. It provides
static and CPU-safe guidance only. It does **not** claim that detector
training, evaluation, or the legacy runtime has been executed successfully.

## Route first

- Read [data-formats.md](references/data-formats.md) for directory, info-pickle,
  point, annotation, box, and coordinate contracts.
- Read [workflows.md](references/workflows.md) for the ordered KITTI/NuScenes
  preparation plans, commands, generated artifact names, and custom-dataset
  route.
- Read [api-reference.md](references/api-reference.md) for source-authoritative
  signatures, registry names, protobuf fields, and preprocessing semantics.
- Read [troubleshooting.md](references/troubleshooting.md) before changing an
  install, path, config, or generated artifact.
- Run the bundled non-mutating checker before any command that writes data:

```bash
python <skill-root>/scripts/validate_dataset_layout.py --help
python <skill-root>/scripts/validate_dataset_layout.py kitti --root <KITTI_ROOT>
python <skill-root>/scripts/validate_dataset_layout.py nuscenes --root <NUSC_ROOT> --version v1.0-trainval --max-sweeps 10
```

The helper never downloads, creates, deletes, rewrites, or unpickles dataset
files. It exits nonzero and prints stable `ERROR:` lines for an invalid layout.
An empty `velodyne_reduced/` directory is valid; its files are expected only
after reduced-cloud preparation.

## Decision checklist

1. Identify the dataset (`kitti` or `nuscenes`), root, split/version, desired
   info file, dataset class, point-feature width, and whether velocity boxes
   are intended.
2. Validate the directory and file-stem relationships. Do not infer a full
   dataset from a directory existing alone; source generation reads actual
   images, calibration, lidar, labels, or NuScenes metadata.
3. Choose the class and config as a pair. KITTI uses `KittiDataset`; NuScenes
   uses `NuScenesDataset`, a `D2`–`D8` subsample class, or the matching `Velo`
   class. The config's `kitti_*` field names are historical and are used for
   both datasets.
4. Generate infos, then reduced KITTI clouds where applicable, then the ground
   truth database. Record the exact generated filenames and rerun generation
   after source/config changes that alter their schema.
5. Check coordinate conventions, box dimensionality, class spelling, and
   point feature width before enabling preprocessing or database sampling.
6. Keep training/evaluation routing in
   [training-and-inference](../training-and-inference/SKILL.md). Route box
   transforms, visualization, and evaluation-format questions to
   [geometry-and-evaluation](../geometry-and-evaluation/SKILL.md).

## Boundaries and historical limits

- The checkout has no setup metadata. Treat package installation/import as an
  environment concern, not as proof that data or detector execution works.
- The model/data path uses legacy spconv and Numba APIs. Modern spconv 2.x is
  not proven compatible; do not recommend an unguarded migration as a fix.
- The public project guidance is historical and marks this code as deprecated.
  Prefer a maintained detector for new production work, but preserve these
  contracts when a legacy artifact must be prepared.
- `create_data.py` performs writes and is described, not bundled here. Use the
  validator first and make a backup or use a disposable output root. Never
  claim detector execution was verified from preparation success.

## Expected handoff

Report: validator command and result; root/version/class; info and database
paths; point/box feature widths; coordinate assumptions; selected preprocess
and sampler fields; files generated or still missing; and any blocked optional
dependency or legacy-runtime limitation. A static pass is not a training or
evaluation pass.

Files in this skill

  • SKILL.md4.2 KB
  • references/api-reference.md7.9 KB
  • references/data-formats.md6.9 KB
  • references/troubleshooting.md9 KB
  • references/workflows.md7.8 KB
  • scripts/validate_dataset_layout.py12.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.