Hey! Thank you for the PR! I'm going to add some thoughts to the files - no worries, I don't bite :)
2 things kept me thinking:
What's the best way to test it? (maybe take one or more of the samples in /tests, determine & verify the results and hardcode them?)
How does the ZXing app (from which the decoder is ported) do it? The app displays the centers of the detected finde- and alignment patterns while scanning, so there has to be code that does exactly what this PR is supposed to do.
Proposed changes
...as discussed in https://github.com/chillerlan/php-qrcode/issues/240
Types of changes
What types of changes does your code introduce?
Checklist: