def parse_header(input_array):
codec = struct.unpack(mmtf.utils.constants.NUM_DICT[<NUM_LIT:4>], input_array[<NUM_LIT:0>:<NUM_LIT:4>])[<NUM_LIT:0>]<EOL>length = struct.unpack(mmtf.utils.constants.NUM_DICT[<NUM_LIT:4>], input_array[<NUM_LIT:4>:<NUM_LIT:8>])[<NUM_LIT:0>]<EOL>param = struct.unpack(mmtf.utils.constants.NUM_DICT[<NUM_LIT:4>], input_array[<NUM_LIT:8>:<NUM_LIT:12>])[<NUM_LIT:0>]<EOL>return codec,length,param,input_array[<NUM_LIT:12>:]<EOL>
Parse the header and return it along with the input array minus the header.
    :param input_array the array to parse
    :return the codec, the length of the decoded array, the parameter and the remainder
    of the array