A method comprising: receiving raw data relating to a subject; generating an initial image based on the raw data relating to the subject; during each of a plurality of iterations, generating a first shape curve of a first voxel and a second shape curve of a second voxel next to the first voxel based on a geographic relationship between the first voxel and the second voxel, a first voxel value of the first voxel, and a second voxel value of the second voxel, wherein the first voxel and the second voxel are included in the initial image or an image obtained from a prior iteration, and the first shape curve is continuous with respect to the second shape curve on a boundary between the first voxel and the second voxel, the first shape curve is continuous in the first voxel and on the boundary, and the second shape curve is continuous in the second voxel and on the boundary; transforming the image to a projection domain to generate an estimated projection based on the first shape curve of the first voxel and the second shape curve of the second voxel; generating a projection error based on the estimated projection and the raw data; and generating an image based on the projection error to be used in a next iteration; and obtaining, based on the plurality of iterations, a reconstructed image, characterized in that the first shape curve comprises a distribution of the first voxel value in the first voxel according to a first function, and the second shape curve comprises a distribution of the second voxel value in the second voxel according to a second functior and a function type of the first function or the second function is set based on a slice thickness and a threshold. receiving raw data relating to a subject; generating an initial image based on the raw data relating to the subject; during each of a plurality of iterations, generating a first shape curve of a first voxel and a second shape curve of a second voxel next to the first voxel based on a geographic relationship between the first voxel and the second voxel, a first voxel value of the first voxel, and a second voxel value of the second voxel, wherein the first voxel and the second voxel are included in the initial image or an image obtained from a prior iteration, and the first shape curve is continuous with respect to the second shape curve on a boundary between the first voxel and the second voxel, the first shape curve is continuous in the first voxel and on the boundary, and the second shape curve is continuous in the second voxel and on the boundary; transforming the image to a projection domain to generate an estimated projection based on the first shape curve of the first voxel and the second shape curve of the second voxel; generating a projection error based on the estimated projection and the raw data; and generating an image based on the projection error to be used in a next iteration; and generating a first shape curve of a first voxel and a second shape curve of a second voxel next to the first voxel based on a geographic relationship between the first voxel and the second voxel, a first voxel value of the first voxel, and a second voxel value of the second voxel, wherein the first voxel and the second voxel are included in the initial image or an image obtained from a prior iteration, and the first shape curve is continuous with respect to the second shape curve on a boundary between the first voxel and the second voxel, the first shape curve is continuous in the first voxel and on the boundary, and the second shape curve is continuous in the second voxel and on the boundary; transforming the image to a projection domain to generate an estimated projection based on the first shape curve of the first voxel and the second shape curve of the second voxel; generating a projection error based on the estimated projection and the raw data; and generating an image based on the projection error to be used in a next iteration; and obtaining, based on the plurality of iterations, a reconstructed image, characterized in that the first shape curve comprises a distribution of the first voxel value in the first voxel according to a first function, and the second shape curve comprises a distribution of the second voxel value in the second voxel according to a second functior and a function type of the first function or the second function is set based on a slice thickness and a threshold.