code: def get_readout_time(self, child, duration):
          
          child.exposure.put_value(duration)
          child.acquirePeriod.put_value(duration)
          readout_time = child.acquirePeriod.value - child.exposure.value
          # It seems that the difference between acquirePeriod and exposure
          # doesn't tell the whole story, we seem to need an additional bit
          # of readout (or something) time on top
          fudge_factor = duration * 0.004 + 0.001
          return readout_time + fudge_factor
docs: Calculate the readout time of the detector from the EPICS driver:
              - Set exposure and acquire period to same value
              - Acquire period will be set to lowest acceptable value
              - Difference will be readout time (this value is affected by
                detector settings)