1234567891011121314151617181920212223242526 |
- import json
- import numpy as np
- from analyze import oklab2hex
- with open("web/database.js") as infile:
- next(infile)
- data = [
- (d := json.loads(s))["total"]
- for line in infile
- if (s := line.strip().strip(",")) != "]"
- ]
- sizes = np.array([d["size"] for d in data])
- centroids = np.array([d["centroid"] for d in data])
- medians = np.array([d["median"] for d in data])
- print("Simple mean of...")
- print(" Centroids:", oklab2hex(centroids.mean(axis=0)))
- print(" Medians:", oklab2hex(medians.mean(axis=0)))
- print("Reweighted mean of...")
- print(" Centroids:", oklab2hex(
- (centroids * sizes[:, np.newaxis]).sum(axis=0) / sizes.sum()))
- print(" Medians:", oklab2hex(
- (medians * sizes[:, np.newaxis]).sum(axis=0) / sizes.sum()))
|