Boback
Back to Projects
Python
OpenCV
NumPy

DisplayAnalysis

CLI and GUI tool for computing display quality metrics like flicker and uniformity from video frames.

~2,500 LOC
Active
Medium

Executive Summary

Challenge: Quantify subtle display defects like temporal flicker and spatial non-uniformity from video recordings—subjective visual assessment lacks precision and reproducibility. Approach: Designed modular metric computation pipeline with frame-by-frame processing. ROI (Region of Interest) handling parses coordinates, crops frames to analysis zones. Per-channel (RGB) metrics include: (1) Flicker calculation via FFT (Fast Fourier Transform) detecting temporal frequency anomalies, (2) Channel instability measuring frame-to-frame variance, (3) Spatial uniformity quantifying brightness consistency across regions, (4) Texture analysis via local variance. WorstCase state tracking optimizes long video analysis by sampling frames and maintaining peak metrics rather than processing every frame. FPS detection ensures accurate temporal analysis. CLI interface (argparse) supports batch processing; dual-mode tkinter GUI provides real-time preview with threading/queue architecture preventing UI freezes. PDF report generation includes matplotlib visualizations of metric trends and histograms. Comprehensive pytest suite validates algorithms with mocked frames, edge cases (single-frame videos, extreme values), and FPS detection accuracy. Dockerfiles separate CLI/GUI deployments. Innovation: Signal processing approach (FFT for flicker) brings engineering rigor to subjective quality assessment.

The Challenge

Quantifying subtle display defects like flicker and non-uniformity from video recordings.

The Solution

Implemented frame-by-frame pipeline with ROI handling. WorstCase tracking to summarize long video analyses efficiently. Modular metrics pipeline.

System Architecture

Key Features

1

Video Frame Processing

2

Flicker Metrics Calculation

3

Channel Instability & Uniformity Metrics

4

Worst-Case Tracking

5

PDF Report Generation

6

GUI Interface

7

ROI Handling & Preview

8

FPS Detection

Technical Skills Matrix

Python
Computer Vision
OpenCV
Image Processing
NumPy
SciPy
Scientific Computing
Array Operations
FFT (Fast Fourier Transform)
Signal Processing
Frequency Analysis
Matplotlib
PDF Report Generation
Data Visualization
Plotting
tkinter
GUI Development
Desktop Applications
Threading
Queue Management
pytest
Unit Testing
Edge Case Testing
Mocking
Test Coverage
Docker
Containerization
Build Files
ROI Processing
Frame Analysis
Cropping Algorithms
Video Processing
Quality Metrics
Display Analysis
CLI Development (argparse)
Command-Line Interfaces
Parameter Parsing
Frame Sampling
Performance Optimization
Memory Management
Flicker Detection
Channel Instability Metrics
Spatial Uniformity
Texture Analysis
Worst-Case Tracking
State Management
Error Handling
NaN Handling
Logging (emit)
Modular Design
Reusable Functions
Pipeline Architecture
Documentation (QUICKSTART, TESTING, README)
Code Organization