Examples
The examples below use the Galileo SSI host (GO_0xxx) and the conventional
environment variables from Installation and setup. Every example is run
from inside the host directory.
End-to-end run for one collection
The full three-stage pipeline for a collection, writing output under
$RMS_METADATA_TEST:
export RMS_VOLUMES=/data/volumes
export RMS_METADATA=/data/metadata
export RMS_METADATA_TEST=/data/metadata_test
cd src/metadata_tools/hosts/GO_0xxx
# 1. Supplemental index tables for every volume.
python GO_0xxx_index.py "$RMS_VOLUMES/GO_0xxx/" "$RMS_METADATA/GO_0xxx/" \
"$RMS_METADATA_TEST/GO_0xxx/"
# 2. Summary geometry tables for every volume.
python GO_0xxx_geometry.py "$RMS_METADATA/GO_0xxx/" "$RMS_METADATA_TEST/GO_0xxx/"
# 3. Cumulative tables across the whole collection.
python GO_0xxx_cumulative.py "$RMS_METADATA_TEST/GO_0xxx/GO_0999/"
After stage 3 the output tree contains per-volume supplemental index, geometry,
and inventory tables (each with a .lbl label), plus the cumulative tables in
the GO_0999 directory.
Quick smoke test
To verify your environment without processing a whole collection, restrict the index and geometry stages to a single volume and a handful of files:
cd src/metadata_tools/hosts/GO_0xxx
python GO_0xxx_index.py "$RMS_VOLUMES/GO_0xxx/" "$RMS_METADATA/GO_0xxx/" \
"$RMS_METADATA_TEST/GO_0xxx/" -vv GO_0017
python GO_0xxx_geometry.py "$RMS_METADATA/GO_0xxx/" "$RMS_METADATA_TEST/GO_0xxx/" \
-vv GO_0017 --first 5
The --first 5 flag stops after five images, so the run completes in seconds
and writes a small set of tables you can inspect.
Generating only labels
If the tables already exist and you only need to regenerate their labels (for
example after editing a template), pass --labels to any stage:
python GO_0xxx_geometry.py "$RMS_METADATA/GO_0xxx/" "$RMS_METADATA_TEST/GO_0xxx/" \
-vv GO_0017 --labels
Using the engine from Python
The host programs are thin wrappers around the engine entry points. You can call
those functions directly, but the same host-directory rule applies: the host
configuration modules must be importable, so run from inside the host directory
(or place it on sys.path). The functions parse the command line themselves
unless you pass an args namespace.
# Run from inside src/metadata_tools/hosts/GO_0xxx so that host_config,
# index_config, and geometry_config resolve as top-level modules.
import host_config as hconf
import index_config as iconfig
from metadata_tools.index_support import process_index
# sys.argv supplies volume_tree, metadata_tree, output_tree and any options.
process_index(hconf.template_name, glob=iconfig.glob, volumes=["GO_0017"])
The geometry and cumulative stages are driven the same way through
process_tables() and
create_cumulative_indexes().