$data JSON data * @return self */ public static function fromArray(array $data): self { $quality = new self(); $quality->overall_quality = $data['overall_quality'] ?? 'none'; $quality->dpi_used = $data['dpi_used'] ?? null; $quality->ocr_fraction = $data['ocr_fraction'] ?? null; $quality->min_confidence = $data['min_confidence'] ?? null; $quality->avg_confidence = $data['avg_confidence'] ?? null; $quality->readability = $data['readability'] ?? null; return $quality; } /** * Convert to JSON array * * @return array */ public function toArray(): array { $data = [ 'overall_quality' => $this->overall_quality, ]; if ($this->dpi_used !== null) { $data['dpi_used'] = $this->dpi_used; } if ($this->ocr_fraction !== null) { $data['ocr_fraction'] = $this->ocr_fraction; } if ($this->min_confidence !== null) { $data['min_confidence'] = $this->min_confidence; } if ($this->avg_confidence !== null) { $data['avg_confidence'] = $this->avg_confidence; } if ($this->readability !== null) { $data['readability'] = $this->readability; } return $data; } }