1. A non-transitory program storage device, readable by a processor and comprising instructions stored thereon to cause one or more processors to: obtain an input image; obtain an image enhancement transfer function; apply an edge-preserving operation to the input image to generate a filtered input image; determine a second transfer function that approximates the edge-preserving operation based, at least in part, on the input image and the filtered input image; apply the image enhancement and second transfer functions to the input image to generate an intermediate image; determine a detail information image corresponding to the input image based, at least in part, on the input image and the filtered input image; and incorporate the detail information image into the intermediate image to generate an output image.