The inverse warping aproach is based on finding for every pixel in the desired image the corresponding pixel from the reference image. This will lead to a better desired image at least by exposing the reconstruction problems. This is achieved with the price of a slower algorithm since the coordinates of the corresponding pixel in the reference image are determined at the end of a search of running time proportional to the bigger dimension of the rectangular reference image.
Here is my C++ implementation of an inverse warper based on section 7.2 of Leonard McMillan's doctoral dissertation, CS Dept, UNC at CH, 1997: to code directory