Configuration Reference#

PhenoTypic exposes process-wide runtime switches through the phenotypic.settings module. These settings are intentionally narrow: algorithm defaults and pipeline parameters are serialized on the operation models themselves, not stored in global settings.

import phenotypic.settings as settings

settings.set_validate_ops(True)

with settings.validation(False):
    ...  # temporarily disable operation integrity validation

Global Settings#

Settings are accessed via the phenotypic.settings module.

Validation

  • VALIDATE_OPS — Enables operation and measurement integrity checks in the current Python process. Defaults to False.

  • set_validate_ops(enabled) — Sets VALIDATE_OPS explicitly.

  • validation(enabled) — Context manager for temporary validation changes.

The legacy phenotypic.settings_ import path has been removed.

Constants#

Key constants are available in phenotypic.sdk_.constants_:

from phenotypic.sdk_.constants_ import GAMMA_ENCODINGS, METADATA

GAMMA_ENCODINGS.SRGB     # Standard sRGB gamma encoding
GAMMA_ENCODINGS.LINEAR   # Linear RGB (no gamma)

Pipeline JSON Format#

Pipeline configurations are stored as JSON with the following structure:

{
  "phenotypic_version": "0.x.y",
  "name": "pipeline_name",
  "description": "...",
  "ops": [
    {
      "class": "GaussianBlur",
      "module": "phenotypic.enhance",
      "params": {"sigma": 2.0, "mode": "reflect"}
    }
  ],
  "meas": [
    {
      "class": "MeasureSize",
      "module": "phenotypic.measure",
      "params": {}
    }
  ]
}

All operation classes and their parameters are captured. The PhenoTypic version is recorded to warn about compatibility issues when loading pipelines saved with a different version.