def read_pixel_register(self, pix_regs=None, dcs=range(<NUM_LIT>), overwrite_config=False):
if pix_regs is None:<EOL><INDENT>pix_regs = ["<STR_LIT>", "<STR_LIT>", "<STR_LIT>", "<STR_LIT>", "<STR_LIT>", "<STR_LIT>", "<STR_LIT>"]<EOL><DEDENT>self.register_utils.send_commands(self.register.get_commands("<STR_LIT>"))<EOL>result = []<EOL>for pix_reg in pix_regs:<EOL><INDENT>pixel_data = np.ma.masked_array(np.zeros(shape=(<NUM_LIT>, <NUM_LIT>), dtype=np.uint32), mask=True)  <EOL>for dc in dcs:<EOL><INDENT>with self.readout(fill_buffer=True, callback=None, errback=None):<EOL><INDENT>self.register_utils.send_commands(self.register.get_commands("<STR_LIT>", name=[pix_reg], dcs=[dc]))<EOL><DEDENT>data = self.read_data()<EOL>interpret_pixel_data(data, dc, pixel_data, invert=False if pix_reg == "<STR_LIT>" else True)<EOL><DEDENT>if overwrite_config:<EOL><INDENT>self.register.set_pixel_register(pix_reg, pixel_data.data)<EOL><DEDENT>result.append(pixel_data)<EOL><DEDENT>return result<EOL>
The function reads the pixel register, interprets the data and returns a masked numpy arrays with the data for the chosen pixel register.
    Pixels without any data are masked.

    Parameters
    ----------
    pix_regs : iterable, string
        List of pixel register to read (e.g. Enable, C_High, ...).
        If None all are read: "EnableDigInj", "Imon", "Enable", "C_High", "C_Low", "TDAC", "FDAC"
    dcs : iterable, int
        List of double columns to read.
    overwrite_config : bool
        The read values overwrite the config in RAM if true.

    Returns
    -------
    list of masked numpy.ndarrays