Source code for adcorr.corrections.frame_average

from math import prod

from numpy import dtype, number

from ..utils.typing import Frame, FrameHeight, Frames, FrameWidth, NumFrames


[docs] def average_all_frames( frames: Frames[NumFrames, FrameWidth, FrameHeight, dtype[number]] ) -> Frame[FrameWidth, FrameHeight, dtype[number]]: """Average all frames over the leading axis. Args: frames: A stack of frames to be averaged. Returns: A frame containing the average pixel values of all frames in the stack. """ return frames.reshape( [frames.size // prod(frames.shape[-2:]), *frames.shape[-2:]] ).mean(0)