A computer-implemented method for generating three-dimensional images of a target region of a patient, the method comprising: receiving cone-beam computed tomography image data comprising a plurality of pixel values, wherein the image data includes a plurality of cone-beam computed tomography projection images of the target region of the patient, and wherein each image of the plurality of projection images has been generated using a projection beam having a plurality of diverging rays; converting the image data from a spatial domain into a first non-spatial domain, wherein the first non-spatial domain is d-space; wherein converting the image data from the spatial domain into d-space is performed using a plurality of vectors, each vector being a unique label for each ray of the plurality of rays, wherein the vectors are perpendicular to respective rays of the plurality of rays, and connect an isocenter of the projection beam with the closest point to the isocenter along each ray, and wherein converting the image data into d-space comprises summing pixel values along each ray line to give a projection value for each ray line and inserting each projection value into d-space with the appropriate vector of the plurality of vectors; converting the image data from the first non-spatial domain into a second non-spatial domain, wherein the second non-spatial domain is k-space; reconstructing a three-dimensional image from the image data in the first non-spatial domain prior to converting the image data from the first non-spatial domain into the second non-spatial domain, and/or reconstructing the three-dimensional image from the image data in the second non-spatial domain after converting the image data from the first non-spatial domain into the second non-spatial domain; and converting the reconstructed three-dimensional image from the second non-spatial domain to the spatial domain. receiving cone-beam computed tomography image data comprising a plurality of pixel values, wherein the image data includes a plurality of cone-beam computed tomography projection images of the target region of the patient, and wherein each image of the plurality of projection images has been generated using a projection beam having a plurality of diverging rays; converting the image data from a spatial domain into a first non-spatial domain, wherein the first non-spatial domain is d-space; wherein converting the image data from the spatial domain into d-space is performed using a plurality of vectors, each vector being a unique label for each ray of the plurality of rays, wherein the vectors are perpendicular to respective rays of the plurality of rays, and connect an isocenter of the projection beam with the closest point to the isocenter along each ray, and wherein converting the image data into d-space comprises summing pixel values along each ray line to give a projection value for each ray line and inserting each projection value into d-space with the appropriate vector of the plurality of vectors; converting the image data from the first non-spatial domain into a second non-spatial domain, wherein the second non-spatial domain is k-space; reconstructing a three-dimensional image from the image data in the first non-spatial domain prior to converting the image data from the first non-spatial domain into the second non-spatial domain, and/or reconstructing the three-dimensional image from the image data in the second non-spatial domain after converting the image data from the first non-spatial domain into the second non-spatial domain; and converting the reconstructed three-dimensional image from the second non-spatial domain to the spatial domain.