Skip to content

A devkit for working with recorded and annotated train ride data from Deutsche Bahn.

License

Notifications You must be signed in to change notification settings

DSD-DBS/raillabel

Repository files navigation

RailLabel

image image

A devkit for working with recorded and annotated train ride data from Deutsche Bahn.

Documentation

Read the full documentation on Github pages.

Installation

You can install the latest released version directly from PyPI.

pip install raillabel

To set up a development environment, clone the project and install it into a virtual environment.

git clone https://github.com/DSD-DBS/raillabel
cd raillabel
python -m venv .venv

source .venv/bin/activate.sh  # for Linux / Mac
.venv\Scripts\activate  # for Windows

pip install -U pip pre-commit
pip install -e '.[docs,test]'
pre-commit install

Usage

The first step in using raillabel is downloading a desired dataset (like OSDaR23). You can then load any scene by running

import raillabel

scene = raillabel.load("path/to/annotation_file.json")

This returns a raillabel.Scene, which is the root class for the annotations.

If a file is too extensive for your use-case you can filter out certain parts of a scene like this

from raillabel.filter import (
    IncludeObjectTypeFilter,
    ExcludeAnnotationTypeFilter,
    StartTimeFilter, ExcludeFrameIdFilter,
    IncludeAttributesFilter
)

scene_with_only_trains = scene.filter([IncludeObjectTypeFilter(["rail_vehicle"])])

scene_without_bboxs = scene.filter([ExcludeAnnotationTypeFilter(["bbox"])])

cut_scene_with_only_red_trains = scene.filter([
    StartTimeFilter("1587349200.004200000"),
    ExcludeFrameIdFilter([2, 4]),
    IncludeObjectTypeFilter(["rail_vehicle"]),
    IncludeAttributesFilter({"color": "red"}),
])

An overview of all available filters can be found here.

If you then want to save your changes, then use

raillabel.save(cut_scene_with_only_red_trains, "/path/to/target.json")

Contributing

We'd love to see your bug reports and improvement suggestions! Please take a look at our guidelines for contributors for details.

Licenses

This project is compliant with the REUSE Specification Version 3.0.

Copyright DB InfraGO AG, licensed under Apache 2.0 (see full text in LICENSES/Apache-2.0.txt)

Dot-files are licensed under CC0-1.0 (see full text in LICENSES/CC0-1.0.txt)

About

A devkit for working with recorded and annotated train ride data from Deutsche Bahn.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages