Labelocity: Multimission PDS4 Labels is a flexible, customizable, multimission automated system for PDS4 label production at NASA Jet Propulsion Laboratory (JPL).
The Labelocity toolset is a standalone application and is also included with the VICAR general purpose image processing system.
Labelocity is being presented at the Universities Space Research Association (USRA) 6th Planetary Data Workshop in Flagstaff, AZ on Monday, June 26, 2023 and is also discussed in the 6th Planetary Data Workshop (2023), abstract #7071.
This initial release provides the following features:
- Flexible, customizable, automated multi-mission system for label production
- Reusable Velocity macros
- Driver scripts with a wrapper around the PDS tool mi-label
- Create labels from a variety of data sources, including ODL (PDS3) products, VICAR images and JSON metadata
Labelocity has been used to create most of the image, browse, mesh, calibration and documentation labels for several key missions, including the InSight and Mars 2020 missions.
Labelocity can be obtained in two ways: pre-built binaries via tarball/ZIP download (which includes executable scripts), or source code via github.com.
To fully utilize Labelicity workstations must have the following software components pre-installed and available:
- The
tcsh
(Tenex C Shell), acsh
-compatible shell installed and available to run most scripts. (This is usually pre-installed in Unix-based systems, including Macs, that provide shell prompts.)- (Planned future versions may provide feature-identical BASH shell-based scripts.)
- A
python3
installation, preferebly Python 3.9.13 or newer, as provided by Python.org, to run certain scripts. - A Java 8-compatible JRE or JDK, such as OpenJDK, to launch
java
to execute compiled bytecode at the heart of Labelocity.
- GitHub: https://github.com/NASA-AMMOS/labelocity
- Main Labelocity toolset source: Click to download or visit Releases for additional downloadable formats
The Labelocity toolset consists of three complementary components separated by directory:
bin
: Thebin
directory consists largely of executable scripts intcsh
orpython 3
that wrap operations with command calls accepting various topical arguments.jars
: Core image labeling functionality is pre-compiled into JavaJAR
s that are invoked by scripts inbin
.templates
: Velocity macro templates invoked by the scripts and used by the JARs to produce requested labeling outputs.
Executing Labelocity may begin by cd
-ing to its directory and launching ./init.sh
which sets up the environment and launches the correct interpreter..
Note that experienced tcsh
users can proceed by setting an environment variable and sourcing the Labelocity variable set:
setenv LABELOCITY_ROOT /path/to/unpacked/labelocity/distributable
source $LABELOCITY_ROOT/initenv
Then, scripts may be run from any directory on the system.
Running Labelocity is as quick as cloning this repository (or unpacking one of the above archives) and launching a script:
- Executing
./init.sh
launches atcsh
shell with properly sourced environment variables - Experienced
tcsh
users may choose to set aLABELOCITY_ROOT
environment variable and source settings manually so that scripts may be invoked from any directory tree location
Usage of the Labelocity toolset is described more fully in the Labelocity User Guide:
For more information on VICAR Open Source, the progenitor of Labelocity, documentation is available by clicking here.
We've set up online groups to help users collaborate and interact on VICAR-related subjects, where you can find notifications of new releases, view bug reports and participate in general discussions:
- The VICAR Open Source Google group can be joined here.
- A #vicar channel is available in the OpenPlanetary Slack workspace (join here)
Since Labelocity originates with VICAR, these forums are an ideal place to follow up for this application.
Questions: vicar_help@jpl.nasa.gov
One of the prime purposes of Open Source is to solicit contributions from the community, and we welcome such contributions. However, at the current time, this git repo is read-only. At some point in the future, we hope to make this easier, but for now, send any changes to vicar_help@jpl.nasa.gov for further discussion. As this software is part of the VICAR Suite used in mission surface operations, changes are vetted carefully. Getting more contributions from the community will help make the case for improved governance in the public sphere.