Ok I think I found a solution by myself. I'll try to explain it here, let me know what you people think about it.
INPUT: 3 grayscale 8 bit images
OUTPUT: 1 HDR radiance map (single precision)
So, to compute the HDR image I use the Devebec algorithm
This algorithm outputs the radiance map computed from the 3 (or more) input photos. Every pixel value represent the relative illuminance (irradiance actually) of the corresponding point in the scene. I can then calculate the dynamic range simply by using the max and min pixel value from this matrix:
stops = log2(max) - log2(min);
It's not important that the irradiance values are not the absolute one, because we are computing a range:
absolute_value = scale_factor + relative_value
range = absolute_max - absolute_min = (relative_max + scale_factor) - (relative_min + scale_factor) = relative_max - relative_min
To blend the images the algorithm need to recover the camera response function. This function relate the pixel values to the relative illuminance of the scene. This means that once I have the camera response curve, and the maximum and minimum pixel value in the original image (in this case 0 and 255) I can retrieve the relative irradiance values of the original image too:
exp(g(255)-ln(dt) ) = E_max
exp(g(0)-ln(dt) ) = E_min
where
g = inverse of camera response function (calculated by the script)
dt = shutter speed used on the original image
I can then compute the actual dynamic range of the original image and compare it to the HDR image dynamic range.
Yet, seems like some images lose DR when blended together. So I'm a little confused. For example, these images once blended have narrower DR than before.