As part of a photogrammetry project, I took a number of photos (in NEF RAW format) of an object using manual settings on a D800. However, I forgot to turn off auto-iso (argh!). So, all my photos have the same aperture and shutter speed, but they differ in their ISO. Is there some way I can adjust the exposure in each photo to remove the effect of the changes in ISO between photos, such that they will have the same exposures across photos as I originally intended?

I think the adjustment in EV units would go something like this: exposure_adjustment = -log2(ISO/base ISO). Any thoughts about how to carry that out? Would using ImageMagick or some other tool be appropriate?

2 Answers 2


It depends on what programming language you have access to. It's easy to read exif data with MATLAB: https://blogs.mathworks.com/steve/2011/03/08/tips-for-reading-a-camera-raw-file-into-matlab/ but it is not free.

With Python or other languages you can 1) convert the nef files to 16 bit tiff; 2) use exiftools (eg. https://smarnach.github.io/pyexiftool/) to read the shutter speed/iso. 3) load the tiff files with a for loop and save the images with Pillow.


You could use GIMP. This is an open source program written in Python, that can do pretty much anything Photoshop can.

Photoshop should also be able to do this, but it would require some advanced skills.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.