Increasing OpenMV resolution of tracking.py to 640P?

It’s near impossible to get tracking.py to track anything because it’s 320P. I’m trying to get 640P working to see if it can manage pick’n place. Is this doable even with a slower FPS?
My fork is here
I can’t seem to get it working after changing sensor.set_windowing to 640P, or after doubling delta_y delta_x values and scale_factor.
Changing max_keypoints to 300 throws this error:

Traceback (most recent call last): File "main.py", line 60, in <module> MemoryError: FB Alloc Collision!!! MicroPython v1.8-4391-g3696110a on 2017-06-04; OPENMV3 with STM32F765 Type "help()" for more information.

How do the coordinates work? Is anyone working on a 640P version?

Actually it works if you change the setting of set_windowing((640480)) to set_windowing((400400)), I think the main reason is the higher resolution consumes more ram inside of the M7 chip. And when you set it at 640*480, not enough RAM any more.