Hi Rob, hopefully this pull request will be a little cleaner that the last one.
I deleted my master branch and created a new one from yours this morning before starting work on this. The updates included address your feedback re CPU usage and the amount of logging that was going on.
I now cache the calculated offsets along with a checksum based on the IDs of the alignment points used. If, on subsequent calls, the selected points match those used for the cached offsets the cached offsets are used. The longer matrix calculations are only used if the alignment points selected by the algorithm have changed.
Hi Rob, hopefully this pull request will be a little cleaner that the last one.
I deleted my master branch and created a new one from yours this morning before starting work on this. The updates included address your feedback re CPU usage and the amount of logging that was going on.
I now cache the calculated offsets along with a checksum based on the IDs of the alignment points used. If, on subsequent calls, the selected points match those used for the cached offsets the cached offsets are used. The longer matrix calculations are only used if the alignment points selected by the algorithm have changed.