I have a task related to the Radon transform, which contains a subtask that uses re-sampling using DFT.
Consider a non-periodic sampled signal (Fig. 1) (for example, a row of pixels) having a length of 515 pixels. My implementation for re-fetching contains the following steps:
- A cyclic shift to the left (Fig. 2).
- Add zeros to the center so that the signal length becomes 2 ^ n (in our case, 1024-515 = 509 zeros, which we must add) (Fig. 3).
- Get the DFT from this signal (Figure 4).
- Cyclical shift to the right. (to shift the low frequencies to the center) (Fig. 5)
Fig. 1 
Fig. 2 
Fig. 3 
Fig. 4 
fig. 5 
The main question:
Why do we need to cycle the signal and add zeros exactly to the center? (I assumed that this made the signal periodic) Zeropadding does the interpolation DFT spectrum, is it correct? (I asked, and someone says that this is not entirely true) Maybe someone can just explain what happens to the signal after the zero update.
I conducted several experiments in Matlab and found that any other sequence of actions cannot give the desired result.
Now consider two cases:
a) (THIS IS THE RIGHT OPTION) We have a non-periodic discretized signal (for example, a row of pixels) that will be cyclically shifted to the left and filled with zeros in the center, after which we will receive the DFT from this and shift it back. 
b) We have a non-periodic sampled signal (for example, given pixel strings) that will be filled with zeros on the left and right after the DFT is received after that.

What is the difference between these DFT spectra?
I read several books, but did not find an answer to this case for numbering. It seems that this can only be found from personal experience.
The answer in the book:
a. C. Kak and Malcolm Slaney, Principles of Computed Tomographic Imaging, Society for Industrial and Applied Mathematics, 2001 on p. 25
source share