Here's what I'd do...
Convert all your images to 16-bit. Then take the factor-1 image, multiply it by 10. Then take the factor-10 mod it by 10 and add it to the scaled factor-1 image. This is assuming that your amplification power translates directly to pixel intensity.
result = factor1 * 10 + mod( factor10, 10 );
Note that scaling by a 10 will increase your maximum signal from 11 bits to about 14 bits (15 for saturated signals).
I've assumed that your factor-1 image has the best signal-to-noise ratio so you keep that, ditch the high end of the gained signal, and just add in the lower bits of it to get the extra precision. You might want to do it the other way and only keep only a few of the most significant bits from your ungained image, or you may want to take half of each or even average the overlapping segments. Start simple, and see if that's good enough before you make your life difficult.
PS: If your amplification was a power of 2, you might consider using bitshifts, bitwise & and |, instead of multiplication and modulo... But it's arguable whether, even then, you would get a performance benefit in MatLab.
0 Comments
Sign in to comment.