No Description

Kirk Trombley 691aaa1c48 Fix up math docs 3 years ago
.gitignore 7ca6f6cf28 Ignore big-pngs dir 3 years ago
README.md 0d047c1960 Split up README, add more math docs 3 years ago
convert.py 3af774f436 Misc cleanup 3 years ago
database-luv.csv 8231b34d4c Generate dbs from big pngs 3 years ago
database.csv 8231b34d4c Generate dbs from big pngs 3 years ago
database.js 8231b34d4c Generate dbs from big pngs 3 years ago
explore.py 3af774f436 Misc cleanup 3 years ago
ingest.py c81f5bbd2f Update ingest logic to take arbitrary dir 3 years ago
math.md 691aaa1c48 Fix up math docs 3 years ago
nearest.html dc09d10c9e Add pokemon lookup 3 years ago
nearest.js 23f7560644 Tweak icon lookup logic to handle special cases 3 years ago
nearest.py d5a4312a49 Reformatting 3 years ago
pngs.md 0d047c1960 Split up README, add more math docs 3 years ago
requirements.txt b4fa7e32cd Implement ingester 3 years ago

README.md

Pokemon Color Search

Utility for quickly finding pokemon by the sprite's "distance" from a given color.

See also explanations of the underlying math and which images are used.

Included Files

  • nearest.py provides multiple options for finding pokemon "near" a color. No external dependencies, but database.csv must be present and populated.
  • ingest.py generates database.csv which is needed for nearest.py, database-luv.csv which is an alternative database for nearest.py using the CIE LUV color space, and database.js which is needed for nearest.html. Requires Pillow (PIL).
  • nearest.html and nearest.js allow you to use a front-end in your browser, by opening nearest.html directly. The implementation is somewhat lazy to avoid the use of an actual build system, and statically imports the dependencies Fuse.js, jQuery, and colorspaces. Requires database.js to be present, meaning ingest.py must be run first, unless you are using the included database.
  • explore.py traverses a subset of the 24-bit RGB color space and finds the pokemon that most closely match each color, and produces best.csv and counts.csv as results.
  • convert.py provides an RGB -> CIELUV implementation
  • database.csv, database-luv.csv, and database.js are included as well, built from the set of pngs detailed in pngs.md.