#ifndef PM_READOUT_STACK_H
#define PM_READOUT_STACK_H

#include "pmHDU.h"
#include "pmFPA.h"

/// Update an output readout (for a stack) with the correct col0,row0 and the image size
bool pmReadoutUpdateSize(pmReadout *readout, ///< Readout which to update
                         int minCols, int minRows, ///< Minimum coordinates
                         int numCols, int numRows, ///< Size of images
                         bool mask      ///< Worry about the mask?
    );

/// Determine how large an output image is needed to combine the input readouts
bool pmReadoutStackValidate(int *minInputColsPtr, int *maxInputColsPtr, ///< Min and max size in x
                            int *minInputRowsPtr, int *maxInputRowsPtr, ///< Min and max size in y
                            int *numColsPtr, int *numRowsPtr, ///< Size of image
                            const psArray *inputs ///< Array of pmReadouts
    );


#endif
