0.16.0

Adds a way to run ImageSimulator in reverse, turning simulated output back into reflectance or pixel values, along with clearer rules for interpolated Scenario inputs, a couple of hang fixes, and dependency updates for security.

Updates / New Features

  • Added a reverse pass to ImageSimulator. The new photoelectrons_to_reflectance and photoelectrons_to_pixels methods take the output of simulate_image and turn it back into reflectance or display pixels. The result accounts for the sensor’s calibration, so the same scene shot by two different sensors comes out comparable. photoelectrons_to_pixels also has a mode="minmax" option that stretches each image on its own. That is handy for eyeballing a single scene, but avoid it when you need to compare across sensors.

  • Made the interpolation rules for Scenario clearer. With interp=True, altitude and ground_range can be any value inside the MODTRAN tables, not just the exact points listed. With interp=False they still have to match an exact entry.

  • Updated dependencies to clear a few security advisories.

Fixes

  • apply_convolution no longer hangs on a flat, uniform-gray image.

  • apply_noise now raises a RuntimeError with a helpful message when the input contains NaN or Inf values, instead of hanging quietly.