Test Mode#
Overview#
In paidiverpy, test mode allows users to execute pipeline steps in a diagnostic mode using the InvestigationLayer class. This is especially useful during debugging, development, and understanding the behavior of specific processing steps.
When enabled, test mode runs a pipeline step without altering the input images. Instead, it generates diagnostic outputs such as plots or logs to visualize the operation of the step.
This mode is beneficial for:
Understanding how a specific step operates
Non-destructive testing of pipeline steps
Visualisation of algorithmic effects before application
Debugging support through detailed plots and metadata logging
Enabling Test Mode#
To activate test mode, set the test parameter to True within the relevant pipeline step in the configuration file. For example:
general:
# some general inputs
steps:
- colour:
name: 'colour_correction'
mode: 'grayscale'
test: True
In this configuration, the colour_correction step will run in test mode, generating logs and diagnostic plots without modifying the input images.
How Test Mode Works#
When test: True is specified, the step is handled by the InvestigationLayer class instead of the standard processing class. This class:
Loads metadata and images but skips transformation
Produces plots such as:
Original vs. resampled image locations (plot_trimmed_photos)
Brightness histograms (plot_brightness_hist)
Polygon overlays (plot_polygons)
Writes all plots to a dedicated subfolder within the output directory
The type of plot that is generated depends on the step type.
Example Output Structure#
When run with test: True, the pipeline creates a directory named after the step, such as:
output-path/number_of_step-step_name/
└── 01_colour_correction/
├── graph_trimmed_images.png
├── histogram_brightness.png
└── polygons_overlay.png
Where output-path is the specified output_path in the configuration file, number_of_step is the order of the step in the pipeline and step_name is the name of the step.
Additional Considerations#
Output Path: If the output_path is remote, the InvestigationLayer will skip plotting and issue a warning.
Metadata Requirements: Some plots require specific metadata fields (e.g., image-longitude, image-latitude, and others). If these fields are missing, the corresponding plots will not be generated and a warning will be issued.
Gallery Examples: Explore example notebooks with test mode enabled in the Gallery.