Ah right I get you...
Hmm... I would probably use a dictionary with keys for the things I wanted to track (ImagePointCount or DistanceToControlPoint, etc) for each object - sticking them in a container together. This way you can just reference the keys to get whatever the changing/weird value is. I find it a lot easier than messing around with arrays. I use them exclusively for every character/enemy in any game/idea/prototype as an easy way to record every obscure detail about any given instance - not to mention the ease of saving and loading as JSON, and even nesting dictionaries into a single dictionary for that specific purpose.
I guess it's pretty much the same as you're already doing - but instead of counting cell positions with arbitrary methods, the dictionary just makes it a little more "friendly". My brain doesn't brain when I have to start using too many obscure numbers and token counts, etc... but that's just me.
*EDIT*
Failed to mention, regarding the original question - you can then simply do a key count on the dictionary as well if necessary for the actual amount of values.
~Sol