Welcome to the csp_ippc repository! This repository contains CLI commands for CSH for configuring and managing the DISCO-2 image processing pipeline.
csp_ippc is to be used as a submodule to CSH. After adding the submodule, register it as a dependency in meson.build with the following:
'csp_ippc:slash=true', ### add to default options ###
csp_ippc_dep = dependency('csp_ippc', fallback: ['csp_ippc', 'csp_ippc_dep'], required: true).as_link_whole() ### add this to csh dependencies ###
csp_ippc has a few dependencies namely: libprotobuf-c libjxl libbrotlienc
This command updates what modules are to be active in the specified pipeline. Specify id of pipeline and yaml config file (relative path). Node should be given by <env> using the node command.
Usage:
ippc pipeline [options] <pipeline-idx> <config-file>
Options:
-n, --node [NUM]
: node (default = <env>).-t, --timeout [NUM]
: timeout (default = <env>).-v, --paramver
: parameter system version (default = 2).-a, --no_ack_push
: Disable ack with param push queue (default = true).
Example: The below example updates the pipeline configuration for pipeline 1 on node 162 using the specified yaml file.
ippc pipeline -n 162 1 "pipeline_config.yaml"
Example of a valid pipeline configuration file:
- order: 1
param_id: 1
name: demosaic
- order: 2
param_id: 2
name: encode
This command updates the parameters for a specific pipeline module. Specify id of module and yaml config file (relative path). Node should be given by <env> using the node command.
Usage:
ippc module [options] <module-idx> <config-file>
Options:
-n, --node [NUM]
: node (default = <env>).-t, --timeout [NUM]
: timeout (default = <env>).-v, --paramver
: parameter system version (default = 2).-a, --no_ack_push
: Disable ack with param push queue (default = true).
Example: The below example update the parameters for module 2 on node 162 using the specified yaml file.
ippc module -n 162 2 "module_config.yaml"
Example of a valid module configuration file:
- key: "distance"
type: 4
value: 0.50
- key: "effort"
type: 3
value: 7
- key: "resampling"
type: 3
value: 1
This command downloads an observation from the ring buffer. Specify index of the desired observation (0 = oldest). Node should be given by <env> using the node command.
Usage:
ippb get [options] <index>
Options:
-n, --node [NUM]
: node (default = <env>).-t, --timeout [NUM]
: timeout (default = <env>).-v, --paramver
: parameter system version (default = 2).-a, --no_ack_push
: Disable ack with param push queue (default = true).-s, --save_png
: Save the downloaded data as a png image (default = false).
Example: The below example downloads the second oldest observation stored in the ring buffer on node 150.
ippb get -n 150 1
If the observation metadata specifies jxl encoding, the data will be decoded.