A method, comprising: obtaining original image data; obtaining de-noised image data, wherein the de-noised image data is the original image data after de-noising the original image data; scaling the original image data and the de-noised image data to a targeted low contrast structure preservation level, thereby obtaining scaled original image data and scaled de-noised image data; determining a noise pattern for the scaled original image data; estimating underlying local structure from the original image data based on the noise pattern; and restoring low contrast structure that is lost during the de-noising of the original image data to the de-noised image data based on the estimated underlying local structure by adding the estimated underlying local structure to the de-noise imaged data, generating low contrast structure enhanced de-noised image data; the estimating of the underlying local structure from the original image data based on the noise pattern, comprising: generating a spatial Gaussian kernel for the original image data; and for each voxel of the scaled original image data: extracting a sub-volume of voxels around the voxel; calculating a local kernel based on the values of the voxels in the sub-volume of the scaled original image data and the noise pattern for the voxel; multiplying the local kernel by the spatial Gaussian kernel; and normalizing the product, wherein the method is characterized by comparing the central weight of the normalized product with a predetermined threshold; and spike suppressing the voxel of the sub-volume of voxels only in response to the central weight of the normalized product being greater than the predetermined threshold, thereby estimating a spike suppressed scaled image data. obtaining original image data; obtaining de-noised image data, wherein the de-noised image data is the original image data after de-noising the original image data; scaling the original image data and the de-noised image data to a targeted low contrast structure preservation level, thereby obtaining scaled original image data and scaled de-noised image data; determining a noise pattern for the scaled original image data; estimating underlying local structure from the original image data based on the noise pattern; and restoring low contrast structure that is lost during the de-noising of the original image data to the de-noised image data based on the estimated underlying local structure by adding the estimated underlying local structure to the de-noise imaged data, generating low contrast structure enhanced de-noised image data; the estimating of the underlying local structure from the original image data based on the noise pattern, comprising: generating a spatial Gaussian kernel for the original image data; and for each voxel of the scaled original image data: extracting a sub-volume of voxels around the voxel; calculating a local kernel based on the values of the voxels in the sub-volume of the scaled original image data and the noise pattern for the voxel; multiplying the local kernel by the spatial Gaussian kernel; and normalizing the product, wherein the method is characterized by comparing the central weight of the normalized product with a predetermined threshold; and spike suppressing the voxel of the sub-volume of voxels only in response to the central weight of the normalized product being greater than the predetermined threshold, thereby estimating a spike suppressed scaled image data. generating a spatial Gaussian kernel for the original image data; and for each voxel of the scaled original image data: extracting a sub-volume of voxels around the voxel; calculating a local kernel based on the values of the voxels in the sub-volume of the scaled original image data and the noise pattern for the voxel; multiplying the local kernel by the spatial Gaussian kernel; and normalizing the product, wherein the method is characterized by comparing the central weight of the normalized product with a predetermined threshold; and spike suppressing the voxel of the sub-volume of voxels only in response to the central weight of the normalized product being greater than the predetermined threshold, thereby estimating a spike suppressed scaled image data. extracting a sub-volume of voxels around the voxel; calculating a local kernel based on the values of the voxels in the sub-volume of the scaled original image data and the noise pattern for the voxel; multiplying the local kernel by the spatial Gaussian kernel; and normalizing the product, wherein the method is characterized by comparing the central weight of the normalized product with a predetermined threshold; and spike suppressing the voxel of the sub-volume of voxels only in response to the central weight of the normalized product being greater than the predetermined threshold, thereby estimating a spike suppressed scaled image data.