—- July 2026 | Status Update —-
Major update | The phi-exe methodology for photometric surface topography mapping is now fully optimized for consumer-grade imaging hardware and a freely available open-source toolchain (R, C++).
It has been about six months since my last update. Development has slowed down since I started a new job. My original intent was to start my own grading company, but I no longer have time for that. So I’m pursuing a full transfer of the methodology to a single acquirer. Sample outputs from the current version are listed below.
The phi-exe pipeline is built on 15+ years of formal training (PhD and postdoctoral fellowship) in computational analysis of oscillatory dynamics and photometric signal processing, including first-author publication in Nature Reviews Genetics, applied to precision surface characterization of trading cards.
What transfers:
Acquisition terms:
Direct inquiries to phi.grading@gmail.com. I am based in Toronto, Canada.
—- About Φ —-
This is not an AI
This is not a mobile app
This is empirical scientific research
Φ is the first statistically rigorous, reproducible method for trading card condition assessment. Built on a novel proprietary scanning methodology and Lambertian reflectance physics, it measures the physical properties of card surfaces and edges. Not human judgment, and not trained AI.
Φ (photoangular harmonic index) is an objective, quantitative card condition index developed by a PhD scientist in Toronto, Canada. Traditional grading relies on human visual inspection prone to inter-rater variability, lighting conditions, and perceptual bias. Φ replaces that with empirical measurements and rigorous statistical analysis.
—- What Φ measures —-
Φ is a composite surface index derived from structured-light 3D imaging. Raw data are processed through a proprietary signal analysis pipeline to extract the following empirical measures:
—- Example Φ outputs —-
Pikachu EX | 238/191 |
Surging Sparks | SIR
Rayquaza | 153/217 | Ascended
Heroes | pokeball
Mega Meganium EX | 34 |
Ascended Heroes | special
Magneton | 059/191 | Surging
Sparks | reverse
Mienshao | 084/142 | Stellar
Crown | reverse
Litwick | 036/167 | Twilight
Masquerade | reverse
Noivern | 128/159 | Journey
Together | regular
Kangaskhan | 151/182 | Destined
Rivals | reverse
Decidueye EX | 015/197 |
Obsidian Flames | regular
Elesa’s Sparkle | 147/159 |
Crown Zenith | regular
Dreepy | 158/217 | Ascended
Heroes | pokeball
Arven’s Greedent | 159/182 |
Destined Rivals | reverse
Vulpix | 026/167 | Twilight
Masquerade | reverse
Magnectric | 076/182 | Destined
Rivals | reverse
Ethan’s Magcargo | 036/182 |
Destined Rivals | regular
N’s Sigilyph | 064/159 |
Journey Together | reverse
Haunter | 29/102 | Base Set |
standard
Wooloo
| 124/142 | Stellar Crown | standard
Sinistcha EX | 023/167 |
Twilight Masquerade | special
Team Rocket’s Mewtwo EX |
079/217 | Ascended Heroes | special
Maushold | 158/191 | Surging
Sparks | reverse
Team Rocket’s Sneasel | 128/182
| Destined Rivals | regular
Oddish | 001/197 | Obsidian
Flames | reverse
Ditto | GG22/GG70 | Crown
Zenith | SIR
Claydol | 095/197 | Obsidian
Flames | regular
Team Rocket’s Kangaskhan EX |
162/217 | Ascended Heroes | special
Salamence EX | 114/159 |
Journey Together | special
Sabrina’s Haunter | 58/132 |
Gym Heroes | standard
Klefki | 096/198 | Scarlet
& Violet | regular
Pikachu | 062/193 | Paldea
Evolved | standard
Reshiram EX | 030/159 | Journey
Together | special
Iono’s Wattrel | 071/217 |
Ascended Heroes | pokeball
Reshiram EX | 030/159 | Journey
Together | special
Tyranitar EX | 064/131 |
Prismatic Evolutions | special
Machop | 52/102 | Base Set |
standard
Palkia
| 136/191 | Surging Sparks | regular
Marnie’s Morpeko | 137/182 |
Destined Rivals | reverse
Rayquaza | 153/217 | Ascended
Heroes | pokeball
Gastrodon | 107/191 | Surging
Sparks | reverse
Clamperl | 195/182 | Destined
Rivals | SIR
Tadbulb | 075/197 | Obsidian
Flames | standard
Klinklang | 101/142 | Stellar
Crown | regular
Iron Boulder | 071/142 |
Stellar Crown | regular
Brock | 15/132 | Gym Heroes |
standard
Karrablast | 009/159 | Journey
Together | reverse
Minccino | 182/162 | Temporal
Forces | SIR
Iron Leaves | 019/167 | Scarlet
& Violet | reverse
Magnezone V | 056/196 | Lost
Origin | special
Mienshao | 084/142 | Scarlet
& Violet | reverse
Togetic | 071/191 | Surging
Sparks | reverse
Delcatty | 166/217 | Ascended
Heroes | pokeball
Seaking | 045/167 | Twilight
Masquerade | standard
Zapdos | 30/62 | Fossil |
standard
Marnie’s Impidimp | 134/182 |
Destined Rivals | reverse
Kadabra | 081/167 | Twilight
Masquerade | reverse
Croconaw | 042/217 | Ascended
Heroes | pokeball
Team Rocket’s Honchkrow |
127/217 | Ascended Heroes | regular
Iron Crown | 132/191 | Surging
Sparks | regular
N’s Darmanitan | 027/159 |
Journey Together | reverse
Landorus | 110/191 | Surging
Sparks | regular
Walking Wake EX | 127 | Scarlet
& Violet | regular
Iron Leaves | 019/167 | Scarlet
& Violet | reverse
Gouging Fire EX | 144 | Scarlet
and Violet | special
Mew V | 113/264 | Fusion Strike
| special
Oddish
| 001/197 | Obsidian Flames | reverse
Slaking EX | 147/191 | Surging
Sparks | special
Cynthia’s Gible | 109/217 |
Ascended Heroes | pokeball
Toedscruel | 018/142 | Stellar
Crown | standard
Medicham | 104/217 | Ascended
Heroes | pokeball
Vaporeon | 28/64 | Jungle |
standard
Wailord
| 041/159 | Journey Together | regular
Minikyu EX | 069/159 | Journey
Together | special
Fuecoco | 029/191 | Surging
Sparks | reverse
Mightyena | 129/217 | Ascended
Heroes | pokeball
Glastrier | 054/217 | Ascended
Heroes | pokeball
Lt. Surge’s Pikachu | 81/132 |
Gym Heroes | standard
Ethan’s Ho-oh EX | 026/217 |
Ascended Heroes | special
Misty’s Psyduck | 54/132 | Gym
Heroes | standard
Cynthia’s Roserade | 008/182 |
Destined Rivals | regular