def get_data (self, datakind, integnum):
if integnum < <NUM_LIT:0> or integnum >= self.n_integrations:<EOL><INDENT>raise ValueError ('<STR_LIT>' % integnum)<EOL><DEDENT>size = self.sizeinfo.get (datakind)<EOL>if size is None:<EOL><INDENT>raise ValueError ('<STR_LIT>' % datakind)<EOL><DEDENT>dtype = _datatypes[datakind]<EOL>offset = self.headsize + integnum * self.intsize<EOL>dslice = self.mmdata[offset:offset+size]<EOL>data = np.fromstring (dslice, dtype=dtype)<EOL>if datakind == '<STR_LIT>':<EOL><INDENT>data = data.reshape ((self.n_baselines, self.n_channels, len (self.crosspols)))<EOL><DEDENT>elif datakind == '<STR_LIT>':<EOL><INDENT>data = data.reshape ((self.n_antennas, self.n_channels, <NUM_LIT:2>))<EOL><DEDENT>elif datakind == '<STR_LIT>':<EOL><INDENT>data = data.reshape ((self.n_baselines + self.n_antennas, self.n_channels,<EOL>len (self.crosspols)))<EOL><DEDENT>return data<EOL>
Given an integration number (0 <= integnum < self.n_integrations) and a
        data kind ('crossData.bin', 'autoData.bin'), memory-map the corresponding data
        and return a wrapping numpy array.