Basic Execution

The WaveDiff pipeline is launched by the entrypoint script: src/wf_psf/run.py, which is referenced by the command wavediff.

A list of command-line arguments can be displayed using the --help option:

> wavediff --help
usage: run.py [-h] --conffile CONFFILE --outputdir OUTPUTDIR

required arguments:
  --conffile CONFFILE, -c CONFFILE
                        a configuration file containing program settings.
  --outputdir OUTPUTDIR, -o OUTPUTDIR
                        the path of the output directory.

optional arguments:
  -h, --help            show this help message and exit

The first argument: --confile CONFFILE specifies the path to the master configuration file storing the pipeline tasks to be executed at runtime.

The second argument: --outputdir OUTPUTDIR is used to set the path to the main output directory, which stores the WaveDiff results.

To run WaveDiff, use the following command:

> wavediff -c /path/to/config/file -o /path/to/output/dir

WaveDiff Output Directory Structure

WaveDiff creates an output directory at the location specified by --outputdir for each run. The parent directory is named with the prefix wf-outputs- and a timestamp accurate to the microsecond, e.g., wf-outputs-20231119151932213823.

Inside this directory, the following subdirectories are generated:

wf-outputs-20231119151932213823
├── checkpoint
├── config
├── log-files
├── metrics
├── optim-hist
├── plots
└── psf_model

A description of each subdirectory is provided in the following table.

Sub-directory

Description

checkpoint

Checkpoint weights saved during training.

config

Input configuration files used for this run (see Configuration).

log-files

Log files generated during the run.

metrics

Evaluation metrics produced by the metrics pipeline.

optim-hist

Optimization history of model parameters during training.

plots

Plots generated by the plotting pipeline.

psf_models

Final PSF models, including full model graphs for each training cycle.

Notes: All subdirectory names are consistent across runs. Timestamps ensure unique output directories for each execution. This structure supports reproducibility and easy access to intermediate results.

Next, we cover how the configuration files are organized.