Wrote the essential code, still debugging, a long and grueling process.
Implemented scale pyramids, results are actually worse somehow. This + worse results with deformations suggests that initialization is too strong.
Finished a bit of testing. Everything seems to be working, except results are not improving. Could be because the initialization is too strong atm.