Background
Image evaluation should be implemented as a clean Python library
callable directly from Go via the existing cpython bindings,
rather than as a subprocess bridge.
Proposed Approach
Create image_eval.py with a simple interface following the same
pattern as modeling/model.go:
def compare(reference_path, output_path):
# Returns dict with ssim, mse, psnr, is_grayscale, color_type
def passed(reference_path, output_path, threshold=0.80):
# Returns True if output passes quality threshold
Questions
- Is this the right interface for the cpython bindings to consume?
- Should this live in go-mfp or in the image evaluation repo?
- Are there any constraints on what Python types can be returned
via the cpython bindings?