What does it mean to rotate an image by 0.1 degrees? In the old Tangent Prop paper (you don't need to know this paper), the tangent vector of the rotation transformation (think of this as a vector-valued function) at some input image is approximated by (1) rotating this input image by a very small amount, (2) subtracting this rotated image from the original image and (3) dividing the result of subtraction by the degree rotated.

However, I'm not understanding what it means to rotate an image (i.e., a matrix) by a very small amount (less than one degree). 

Also, how can this be implemented in Python using libraries like Python / Scipy / Skimage? 

In addition, how am I supposed to know that the image has actually been rotated, since the rotation is so small? 

Note: I tried to do rotation with Skimage, but it seems like Skimage allows rotations of at least 1 degree. 

Since I'm new to these concepts, I wouldn't mind if someone points me to some resources or references since it might be hard to provide a succinct answer.
From the article:


  First the image is rotated by an infinitesimal amount $\alpha$. This is done by computing the rotated coordinates of each pixel and interpolating the gray level values at the new coordinates.


Interpolation is key to very small rotations. It allows to sample the image between the pixel center points as if it was a smooth 2-dimensional function. You can choose the interpolation method in skimage.transform.rotate using the parameter order. It controls the order of the interpolation method which (I think) is an interpolating cardinal B-spline. Higher orders give better results but are slower to compute.

If the tangent vector calculated by rotation, subtraction and division is increasingly non-zero as you go further away from the center, then that is an expected result and you can conclude that some rotation took place.