KREMY: KentuckY Raw Error Modeler

This is a WWW form interface to what should be considered a "Beta test" version of KREMY 2021 -- an improved image enhancement algorithm using a statistical model for pixel value error. When an image is captured using an electronic sensor, statistical variations introduced by photon shot and other noise introduce errors in the raw value reported for each pixel sample. The original version of KREMY (KentuckY Raw Error Modeler, pronounced "creamy") automatically constructed a detailed model of raw pixel value error, which it then used to constrain texture synthesis to refine the raw values of pixels. This new version build a very different model for pixel error: an approximate probability density function rather than simple bounds on error. The result is that the new KREMY can be much more aggressive in its texture synthesis, thus producing much better results when given very noisy images. The result is returned as an improved raw DNG file.

This page is generated by a server; the permanent address for KREMY is:

There are 3 steps to process an image using this form:

  1. upload a raw image (only raw files can be processed),
  2. select enhancement parameters and process it, and
  3. download the enhanced DNG.
This form is generated to provide options as appropriate; scroll down to see them. For example, you can specify a previously-uploaded image by the ID number it was assigned and you can rate the enhancement quality once a DNG has been produced.

Note that this WWW form is not a file sharing site, but merely an interface for moving files through KREMY. Image ID references may become invalid at any time.

Image Upload

Raw files are not small, so it may take a while to upload your image to our server. Once you have uploaded an image, you'll be able to request download of processed versions below.

Submit a raw image file to process:

If you own rights to the above image and might be willing to allow us to use it in research publications about kremy, enter your email address here so that we can contact you prior to any such use.

Current Image ID 0

The above images are derived from the unprocessed raw file. First is a conventional thumbnail. Second is the pixel value error probability density function. The brightness of the pixel at X,Y in the square image maps the scaled probability that a value of X should ideally have been Y. This is empirically estimated from the image for each of four color channels in the CFA, but here is shown as a simple combined RGB image. A perfectly noiseless image would result in a probability density map with a thin white line from 0,0 to 255,255.

You can change to a different already uploaded image by entering the ID here:

The WWW form interface for, and image processing in, KREMY is implemented using custom C code written by Hank Dietz. In this version, KREMY is invoked within an otherwise unmodified version of DCRaw, which is used to decode uncompressed 16-bit DNG files. Those uncompressed DNG files are created from camera raw files using Adobe DNG Converter, which also is used to losslessly compress the KREMY-improved DNG. This interface will only apply KREMY to raw files that ADC can convert into uncompressed 16-bit DNGs with a basic 4-color CFA. ExifTool is used to note use of KREMY in the DNG metadata. ImageMagick is used to make JPEG preview and probability map images. The CGI interface is implemented in C using the CGIC library.

The Aggregate The only thing set in stone is our name.