Hi folks,
Maybe this has been covered elsewhere before, so please pardon a relative PI newbie, and let me know if there is an existing process that solves this problem...
I've struggled quite a bit with maintaining color when using the HDRMultiscaleTransform process. While it does a wonderful job of taming the luminance of high dynamic range objects, I couldn't quite get it maintain accurate color in the areas it did the most work on. You can try to boost the saturation up afterwards in the brighter areas, but this requires masking or other tricky approaches, and in any case the hues get altered.
Here is a modified workflow that maintains excellent color, with the original hue and saturation present prior to HDRMT.
The original image (an HDRComposition of 600- and 60-second exposures, photometrically calibrated, stretched, and with ExponentialTransformation):
HDRMT, default options except 8 layers:
The dynamic range is definitely under control, and there is color in the Trapezium region, but the hues are altered as can be seen by inspecting a "de-stretched" version of the original:
Trying other options gives the following...
HDRMT, 8 layers, "to lightness" selected:
"To lightness" and "preserve hue" selected:
"To lightness" and "lightness mask" selected:
As you can see, the color either gets its hue altered and/or becomes very desaturated in the bright areas.
Here is the result of following the color-corrected HDRMT workflow above:
I'm working on a script that automates this flow, but it's pretty easy to do by hand.
Again, please let me know if there is already an existing process that accomplishes this. If not, perhaps the HDRMT process could be given an additional option to do this.
Best,
Russ
Maybe this has been covered elsewhere before, so please pardon a relative PI newbie, and let me know if there is an existing process that solves this problem...
I've struggled quite a bit with maintaining color when using the HDRMultiscaleTransform process. While it does a wonderful job of taming the luminance of high dynamic range objects, I couldn't quite get it maintain accurate color in the areas it did the most work on. You can try to boost the saturation up afterwards in the brighter areas, but this requires masking or other tricky approaches, and in any case the hues get altered.
Here is a modified workflow that maintains excellent color, with the original hue and saturation present prior to HDRMT.
- Start from a nonlinear (stretched) image
- Use ChannelExtraction to extract the hue and saturation channels (HSI model, not HSV)
- Saturation is computed differently in the HSI and HSV models, and HSV will not work well for this approach
- Perform HDRMT with your favorite parameters (number of layers, iterations, etc.)
- Use ChannelExtraction again to extract the intensity channel (HSI model )
- Use ChannelCombination to recombine the new intensity with the original hue and saturation
The original image (an HDRComposition of 600- and 60-second exposures, photometrically calibrated, stretched, and with ExponentialTransformation):
HDRMT, default options except 8 layers:
The dynamic range is definitely under control, and there is color in the Trapezium region, but the hues are altered as can be seen by inspecting a "de-stretched" version of the original:
Trying other options gives the following...
HDRMT, 8 layers, "to lightness" selected:
"To lightness" and "preserve hue" selected:
"To lightness" and "lightness mask" selected:
As you can see, the color either gets its hue altered and/or becomes very desaturated in the bright areas.
Here is the result of following the color-corrected HDRMT workflow above:
I'm working on a script that automates this flow, but it's pretty easy to do by hand.
Again, please let me know if there is already an existing process that accomplishes this. If not, perhaps the HDRMT process could be given an additional option to do this.
Best,
Russ
Last edited: