How do you deal with the profile of a key?
Right now I read the code at the top which generally (>95%) gives you enough info, there are some keys I can't do yet.
I've trailed some heuristics to infer the profile based on the side view which look feasible but will require a fairly large validated dataset.