> I thought Mike meant the problem was in the Quintic used as the k-space interpolant for the InterpolatedImage itself…?

Right.  It was in the initialization of the Quintic interpolant, which was done in the InterpolatedImage constructor.  It needs to build a table in which to interpolate its k-space values, which it used to do every time a new Quintic was constructed.  But these calculations are identical for a given tolerance.  So now it just does the setup once and saves it, indexed by the tolerance value.