plan.md 2.3 KB

64 Values

Every pixel set becomes 7 values (size, inertia, mu (3 components), nu (3 components)) Every image has 4 pixel sets (total + 3 clusters) All this is done in both spaces Minus the duplicated size of the total set Plus name

2 * 4 * 8 - 1 + 1 = 64 values to each image

Cleanup

  • Properly refer to inertia and mu in ingest instead of XYZ
  • Same fixes in nearest.js, make it easier to actually find the values needed

New values and logic

  • Add cluster inertias
  • Add nu metric/pointing vector to ingest
  • Add cluster nus
  • Record (non-outline) image size and raw cluster sizes instead of just percents
  • Reorganize output, modify nearest.js reader to match
  • Change logic of front-end
    • Now the process is, select cluster > metric > scale > sort
      • Clusters: Total, Cluster
        • Cluster choice is according to a separately-specifiable metric + scale + sort, compared per pokemon
      • Metrics:
        • RMS: sqrt(I - 2q . mu + q . q)
        • Mean of Angle: nu . q_hat
        • Angle of Mean: mu_hat . q_hat
        • Hue of Mean: mu_perp . q_perp
        • Euclidean to Mean: sqrt((mu - q) . (mu - q))
        • Chebyshev to Mean: max(abs(c) for c in (mu - q))
        • Inertia: I
        • Size: N
      • Scales: None (1), Proportion (N_k / N), Inverse Proportion (N / N_k)
        • hidden when not using clusters
      • Sort: max vs min
    • Now each tile has
      • Name
      • For each portion (whole + 3 clusters)
        • Mu (hex + vec, also sets tile color)
        • Inertia (I)
        • Size (N) (render as proportion for clusters)
        • Nu
        • RMS (sigma)
        • Whole angle (Theta)
        • Mean angle (theta)
        • Hue angle (phi)
        • E dist of mean (delta)
        • C dist of mean (C)
      • 4 * 10 = 40 results
      • Probably hide the metric results and focus on just mu and maybe sigma, but provide dropdowns

DB schema

          jab                                                    rgb
          total     cluster 1      cluster 2      cluster 3      total     cluster 1      cluster 2      cluster 3
name size I *mu *nu size I *mu *nu size I *mu *nu size I *mu *nu I *mu *nu size I *mu *nu size I *mu *nu size I *mu *nu