Skip to content

Processing Settings

app.domain.export.processing_settings

View source code

User-configurable settings for detection, tracking, and rendering pipelines.

See Also

Layer: Domain. Context: Defines application concepts independently of UI and infrastructure implementations.

ProcessingSettings dataclass

Mutable configuration snapshot for a video processing session.

ATTRIBUTE DESCRIPTION
detection_model_name

YOLO model name, or "None" when disabled.

TYPE: str

min_detection_confidence

Confidence threshold used to filter detections.

TYPE: float

chosen_labels

Whitelist of class names to detect.

TYPE: list[str]

tracking_strategy

Tracking algorithm name.

TYPE: str

tracking_source

Input layer used for tracking.

TYPE: str

reid_embedding_dim

Embedding size used by Re-ID tracking.

TYPE: int

min_iou

IoU threshold for matching detections to tracks.

TYPE: float

min_tracker_confidence

Confidence floor before pruning a track.

TYPE: float

confidence_decay

Per-frame confidence decay for coasted tracks.

TYPE: float

offline_stitching_enabled

Whether post-processing bridges fragmented tracks.

TYPE: bool

max_stitch_gap

Maximum number of missed frames to bridge.

TYPE: int

gsi_smoothness

Gaussian interpolation lengthscale.

TYPE: float

privacy_features_enabled

Whether conservative privacy redaction rules are active.

TYPE: bool

resist_box_shrinking

Whether track boxes resist sudden size contractions.

TYPE: bool

shrink_resistance

Damping factor for shrinking track boxes.

TYPE: float

pre_detection_padding_sec

Backfill duration before the first detection.

TYPE: float

post_detection_padding_sec

Hold duration after the last detection.

TYPE: float

box_safety_padding_pct

Proportional outward inflation of privacy boxes.

TYPE: float

draw_boxes

Whether box outlines are shown in the editor preview.

TYPE: bool

box_border_width

Preview outline width in pixels.

TYPE: int

show_preview_mask

Whether to show the export blur mask in preview.

TYPE: bool

preview_blur_enabled

Whether to render blur in the editor preview.

TYPE: bool

blur_enabled

Whether Gaussian blur is applied during export.

TYPE: bool

blur_strength

Blur sigma in pixels.

TYPE: float

Note

Created per session with defaults, updated when the user changes UI controls, and converted to SessionSettingsViewModel through as_view_model() for widget binding.

Example

settings = ProcessingSettings( detection_model_name="yolov8n", min_detection_confidence=0.50, chosen_labels=["person", "car"], tracking_strategy="hungarian", blur_enabled=True ) view_model = settings.as_view_model() # For UI binding

Layer: Domain. Context: Represents application concepts without UI or infrastructure dependencies.

blur_enabled: bool = False class-attribute instance-attribute

blur_strength: float = 15.0 class-attribute instance-attribute

box_border_width: int = 2 class-attribute instance-attribute

box_safety_padding_pct: float = 0.1 class-attribute instance-attribute

chosen_labels: list[str] = field(default_factory=lambda: ['person', 'cat', 'dog']) class-attribute instance-attribute

confidence_decay: float = 0.05 class-attribute instance-attribute

detection_model_name: str = 'None' class-attribute instance-attribute

draw_boxes: bool = True class-attribute instance-attribute

gsi_smoothness: float = 10.0 class-attribute instance-attribute

max_stitch_gap: int = 25 class-attribute instance-attribute

min_detection_confidence: float = 0.25 class-attribute instance-attribute

min_iou: float = 0.3 class-attribute instance-attribute

min_tracker_confidence: float = 0.1 class-attribute instance-attribute

model_name_is_null: bool property

Return whether no detection model is selected.

RETURNS DESCRIPTION
bool

True when the model name is empty or the literal "None".

offline_stitching_enabled: bool = True class-attribute instance-attribute

post_detection_padding_sec: float = 0.5 class-attribute instance-attribute

pre_detection_padding_sec: float = 0.5 class-attribute instance-attribute

preview_blur_enabled: bool = False class-attribute instance-attribute

privacy_features_enabled: bool = False class-attribute instance-attribute

reid_embedding_dim: int = 256 class-attribute instance-attribute

resist_box_shrinking: bool = True class-attribute instance-attribute

show_preview_mask: bool = False class-attribute instance-attribute

shrink_resistance: float = 0.85 class-attribute instance-attribute

tracking_source: str = 'b' class-attribute instance-attribute

tracking_strategy: str = 'hungarian' class-attribute instance-attribute

__init__(detection_model_name: str = 'None', min_detection_confidence: float = 0.25, chosen_labels: list[str] = (lambda: ['person', 'cat', 'dog'])(), tracking_strategy: str = 'hungarian', tracking_source: str = 'b', reid_embedding_dim: int = 256, min_iou: float = 0.3, min_tracker_confidence: float = 0.1, confidence_decay: float = 0.05, offline_stitching_enabled: bool = True, max_stitch_gap: int = 25, gsi_smoothness: float = 10.0, privacy_features_enabled: bool = False, resist_box_shrinking: bool = True, shrink_resistance: float = 0.85, pre_detection_padding_sec: float = 0.5, post_detection_padding_sec: float = 0.5, box_safety_padding_pct: float = 0.1, draw_boxes: bool = True, box_border_width: int = 2, show_preview_mask: bool = False, preview_blur_enabled: bool = False, blur_enabled: bool = False, blur_strength: float = 15.0) -> None

as_view_model() -> SessionSettingsViewModel

Create the widget-ready view of this session's processing settings.

RETURNS DESCRIPTION
SessionSettingsViewModel

A view model with labels joined for direct text-field assignment.

Note

This conversion is a snapshot; later UI edits update the settings through the application service rather than mutating the snapshot.

Example

view_model = settings.as_view_model()