1. A method for controlling hardware resources required for a computation of a Discrete Periodic Radon Transform (DPRT) comprising the steps of: receiving an input image; generating a shifted input image, wherein each row of the shifted input image has a different shift; loading the shifted input image into an input buffer; dividing the shifted input image into a plurality of image sample strips, each image sample strip consisting of a number of rows of pixels; determining one or more Pareto-optimal implementations of the DPRT by selecting the one or more Pareto-optimal implementations that satisfy min H ⁢ H ⁢ ⌈ N H ⌉ - N subject to ⌈ N H ⌉ = K , where H denotes the number of rows of pixels of each image sample strip, N is prime and represents a number of rows and a number of columns of the input image, and K = 1 , 2 , 3 ⁢ ⁢ … ⁢ ⁢ ⌈ N 2 ⌉ represents a number of image sample strips; storing each image sample strip into a register array, the register array arranged as a row of registers or a column of registers, each row of registers having a width the same as the input image and each register having a bit depth the same as a bit depth of a selected pixel of the input image; shifting the row of registers or the column of registers of each image sample strip by the number of rows or the number of columns of the input image in a single clock cycle using the register array in order to align each image sample strip along the row of registers or the column of registers as required by a forward DPRT; computing summations of all image sample strips using a pipelined adder tree that produces outputs every clock cycle; outputting by the adder tree a partial DPRT of each image sample strip; and calculating the DPRT of the input image by accumulating the partial DPRTs in an output buffer, wherein the DPRT comprises a plurality of projections.