1. A touch panel controller comprising: a communications module configured to receive a plurality of pixel values, each one of the plurality of pixel values representing a capacitance associated with a pixel formed at a drive electrode and a sensor electrode of a touch panel; and a processing module communicatively coupled with the communications module and configured to discard any one of the plurality of pixel values below a noise threshold, discard any one of the plurality of pixel values for any one non-zero pixel associated with a false touch that is not adjacent to another non-zero pixel, reject detected input for any one of the plurality of pixel values associated with a palm input, compute an initial centroid for each one of the plurality of pixel values, reject detected input for any one of the plurality of pixel values associated with a hover input, and provide detected input that is not associated with palm input or hover input, the processing module configured to scan the plurality of pixel values to coalesce adjacent non-zero pixels into a glob and reject any detected input associated with each glob having more than a pre-specified number of non-zero pixels, the processing module configured to coalesce adjacent globs into a single glob, the processing module configured to lower a zeroing threshold and rescan the plurality of pixel values to coalesce adjacent non-zero pixels into the single glob, the processing module configured to use specific absorption rate (SAR) proximity detection to identify the presence of the palm in proximity to the touch panel.