Skip to content

Flexible, customizable, multimission automated system for PDS4 label production

License

Notifications You must be signed in to change notification settings

NASA-AMMOS/labelocity

Repository files navigation

Labelocity

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.

What's New in Release 1

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.

Obtaining Labelocity

Labelocity can be obtained in two ways: pre-built binaries via tarball/ZIP download (which includes executable scripts), or source code via github.com.

Requirements

To fully utilize Labelicity workstations must have the following software components pre-installed and available:

  • The tcsh (Tenex C Shell), a csh-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.

Source Code

Software Components

The Labelocity toolset consists of three complementary components separated by directory:

  • bin: The bin directory consists largely of executable scripts in tcsh or python 3 that wrap operations with command calls accepting various topical arguments.
  • jars: Core image labeling functionality is pre-compiled into Java JARs that are invoked by scripts in bin.
  • templates: Velocity macro templates invoked by the scripts and used by the JARs to produce requested labeling outputs.

Running the Toolset

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.

Getting Started and Documentation

Running Labelocity is as quick as cloning this repository (or unpacking one of the above archives) and launching a script:

  • Executing ./init.sh launches a tcsh shell with properly sourced environment variables
  • Experienced tcsh users may choose to set a LABELOCITY_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.

VICAR Discussion Forums

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:

Since Labelocity originates with VICAR, these forums are an ideal place to follow up for this application.

Questions: vicar_help@jpl.nasa.gov

Modifying Labelocity

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.

About

Flexible, customizable, multimission automated system for PDS4 label production

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published