Here I wanted to stress the meaning of each transformation and how the pre- and post- multiplication matrices are computed: W, Dinv, P, and S correspond to the matrices explained in the documentation. But in order to use the Cython routines we need to create the three matrices {affine_idx_in, affine_idx_out, affine_disp} that will be passed as parameters (this actually makes the composition a bit faster than ANTS because they do the multiplications in cascade for each voxel instead of pre-computing the matrix products)