def select( self ): self.refs = request_old_files(default_dir=self.directory) if self.refs: self.directory = self.refs[0].dir if len(self.refs) > 4: t = ', '.join([ref.name for ref in self.refs[:3]]+\ ['...'] + [self.refs[-1].name]) else: t = ', '.join([ref.name for ref in self.refs]) self.label_frame.item.text = t self.callback()
def demodulate(raw): data = numpy.concatenate(tuple(datparsing.iter_valid_revolutions(raw))) result = numpy.zeros(len(data), dtype=demod_dtype) result['rev'] = data['rev'] for ch in datparsing.channels_labels: phase = phases.getint('DEFAULT', ch) q_commutator = square_wave(phase=phase) u_commutator = square_wave(phase=phase, U=True) result[ch+'T'] = numpy.mean(data[ch], axis=1) result[ch+'Q'] = numpy.mean(data[ch]*q_commutator, axis=1) result[ch+'U'] = numpy.mean(data[ch]*u_commutator, axis=1) return result def demodulate_dat(filename): return demodulate(datparsing.read_raw(filename)) if __name__ == '__main__': from GUI import application from GUI.FileDialogs import request_old_files import sys sys.path.append(os.path.join(os.path.dirname(__file__),'..')) from cofe_io import fits as fitsio application() refs = request_old_files() for ref in refs: fname = ref.path.replace('.dat','.fits') fitsio.write_fits(fname, {'DATA': demodulate_dat(ref.path)})