First of all, I am amazed how you keep responding to all the comments in the forum. If there is a PayPal link to donate to your efforts, please let me know. I'd like to invite you for a beer.
Second: I am having trouble getting user_mul multipliers to work. In the code I am using I has the following steps
libraw_data_t *alldata = libraw_init(0); alldata->params.user_mul = .... and all other parameters libraw_open_file(alldata,file); libraw_set_progress_handler(alldata,....); libraw_unpack(alldata); set_metadata_from_raw(alldata,..); libraw_get_decoder_info(alldata,...); libraw_raw2image(alldata); libraw_dcraw_process(alldata); libraw_processed_image_t *proc = libraw_dcraw_make_mem_image(alldata,&err);
and then I work with *proc. For some reason, whatever values I enter for user_mul, *proc always seems to give me the raw data.
Third: Does the algorithm use the camera matrices in its interpolation calculation? If so, can that be turned off? I tried use_camera_matrix=0, but just as user_mul, it doesn't do anything. I am processing astronomy images and there is a slight chromatic aberration to the images, causing stars to be slightly offset. Because of this, I assume, the interpolation goes nuts and yields pixels with zero values near bright sources. That's not good.