An apparatus for denoising a medical image, the apparatus comprising: a memory and processing circuitry, the processing circuitry being configured to receive a medical image, the image comprising voxels arrayed in three spatial dimensions; acquire from said memory a first convolutional neural network (422, 424, 426) and a second convolutional neural network (422, 424, 426); and denoise said received medical image using said first convolutional neural network (422, 424, 426) and said second convolutional neural network (422, 424, 426) to produce a denoised output medical image, wherein, each of the first convolutional neural network (422, 424, 426) and the second convolutional neural network (422, 424, 426) comprises weighting coefficients of connections between neuronal nodes of respective layers of a plurality of layers between an input layer and an output layer of a convolutional neural network (422, 424, 426), the first convolutional neural network (422, 424, 426) being adapted to receive first two-dimensional slices of an image provided at its input layer, the first 2D slices being perpendicular to a first direction, and the second convolutional neural network (422, 424, 426) being adapted to receive second two-dimensional slices of an image provided at its input layer, the second 2D slices being perpendicular to a second direction, which is a different direction than the first direction, and wherein the processing circuitry is configured to denoise the received image by; receiving at the input layer of the first convolutional neural network (422, 424, 426) a plurality of first 2D slices of the medical image and generating filtered first 2D slices at the output layer, such that a stack in the first direction of the filtered first 2D slices forming a first filtered three-dimensional image, wherein the first network uses 2D convolutions, without the use of 3D convolutions, to generate filtered first 2D slices from the plurality of first 2D slices; receiving at the input layer of the second convolutional neural network (422, 424, 426) a plurality of second 2D slices of the medical image and generating filtered second 2D slices at the output layer, such that a stack in the second direction of the filtered second 2D slices forming a second filtered three-dimensional image, wherein the second network uses 2D convolutions, without the use of 3D convolutions, to generate filtered second 2D slices from the plurality of second 2D slices; and combining the first filtered 3D image with the second filtered 3D image to generate the denoised medical image. receive a medical image, the image comprising voxels arrayed in three spatial dimensions; acquire from said memory a first convolutional neural network (422, 424, 426) and a second convolutional neural network (422, 424, 426); and denoise said received medical image using said first convolutional neural network (422, 424, 426) and said second convolutional neural network (422, 424, 426) to produce a denoised output medical image, the first convolutional neural network (422, 424, 426) being adapted to receive first two-dimensional slices of an image provided at its input layer, the first 2D slices being perpendicular to a first direction, and the second convolutional neural network (422, 424, 426) being adapted to receive second two-dimensional slices of an image provided at its input layer, the second 2D slices being perpendicular to a second direction, which is a different direction than the first direction, and receiving at the input layer of the first convolutional neural network (422, 424, 426) a plurality of first 2D slices of the medical image and generating filtered first 2D slices at the output layer, such that a stack in the first direction of the filtered first 2D slices forming a first filtered three-dimensional image, wherein the first network uses 2D convolutions, without the use of 3D convolutions, to generate filtered first 2D slices from the plurality of first 2D slices; receiving at the input layer of the second convolutional neural network (422, 424, 426) a plurality of second 2D slices of the medical image and generating filtered second 2D slices at the output layer, such that a stack in the second direction of the filtered second 2D slices forming a second filtered three-dimensional image, wherein the second network uses 2D convolutions, without the use of 3D convolutions, to generate filtered second 2D slices from the plurality of second 2D slices; and combining the first filtered 3D image with the second filtered 3D image to generate the denoised medical image.