示例#1
0
    def __init__(self, fid):
        align.check(fid);
        self.version = fread(fid, 1, 'H', 'H', 1);
        #file_type = fread(fid, 5, 'c', 'c', 1);

        #self.file_type = ''.join(list(fread(fid, 5, 'c', 'c', 1)));
        self.file_type = fid.read(5);
        fid.seek(1, os.SEEK_CUR);#%alignment
        self.data_format = fread(fid, 1, 'h', 'h', 1);
        self.acq_mode = fread(fid, 1, 'H', 'H', 1);
        self.total_epochs = fread(fid, 1, 'I', 'I', 1);
        self.input_epochs = fread(fid, 1, 'I', 'I', 1);
        self.total_events = fread(fid, 1, 'I', 'I', 1);
        self.total_fixed_events = fread(fid, 1, 'I', 'I', 1);
        self.sample_period = fread(fid, 1, 'f', 'f', 1);
        #xaxis_label = fread(fid, 16, 'c', 'c', 1);
        #self.xaxis_label = ''.join(list(fread(fid, 16, 'c', 'c', 1)));
        self.xaxis_label = fid.read(16);
        self.total_processes = fread(fid, 1, 'I', 'I', 1);
        self.total_chans = fread(fid, 1, 'H', 'H', 1);
        fid.seek(2, os.SEEK_CUR);#%alignment
        self.checksum = fread(fid, 1, 'i', 'i', 1);
        self.total_ed_classes = fread(fid, 1, 'I', 'I', 1);
        self.total_associated_files = fread(fid, 1, 'H', 'H', 1);
        self.last_file_index = fread(fid, 1, 'H', 'H', 1);
        self.timestamp = fread(fid, 1, 'I', 'I', 1);
        #self.reserved = ''.join(list(fread(fid, 20, 'c', 'c', 1)));
        self.reserved = fid.read(20);
        fid.seek(4, os.SEEK_CUR);#%alignment
示例#2
0
 def __init__(self, fid, device_data):
     align.check(fid);
     device_header.write(fid, device_data.hdr);
     fwrite(fid, 1, device_data.user_space_size, 'I', 1);
     #self.reserved = ''.join(list(fread(fid, 32,  'c', 'c', 1 )));
     fid.seek(32, os.SEEK_CUR);
     fid.seek(4, os.SEEK_CUR);
示例#3
0
 def __init__(self, fid):
     align.check(fid);
     self.hdr = device_header.read(fid);
     self.impedance = fread(fid, 1, 'f', 'f', 1);
     fid.seek(4, os.SEEK_CUR);
     self.Xfm = fread(fid, 4*4, 'd', 'd', 1);
     self.reserved = ''.join(list(fread(fid, 32,  'c', 'c', 1 )));
示例#4
0
 def __init__(self, fid, header_data):
     #import array
     align.check(fid);
     fwrite(fid, 1, header_data.version, 'H', 1);
     #file_type = fread(fid, 5, 'c', 'c', 1);
     #print fid.
     fid.write(header_data.file_type)
     #fwrite(fid, 5, header_data.file_type, 'c', 1);
     fid.seek(1, os.SEEK_CUR);#%alignment
     fwrite(fid, 1, header_data.data_format, 'h', 1);
     fwrite(fid, 1, header_data.acq_mode, 'H', 1);
     fwrite(fid, 1, header_data.total_epochs, 'I', 1);
     fwrite(fid, 1, header_data.input_epochs, 'I', 1);
     fwrite(fid, 1, header_data.total_events, 'I', 1);
     fwrite(fid, 1, header_data.total_fixed_events, 'I', 1);
     fwrite(fid, 1, header_data.sample_period, 'f', 1);
     #xaxis_label = fwrite(fid, 16, 'c', 'c', 1);
     fid.write(header_data.xaxis_label);
     fwrite(fid, 1, header_data.total_processes, 'I', 1);
     fwrite(fid, 1, header_data.total_chans, 'H', 1);
     fid.seek(2, os.SEEK_CUR);#%alignment
     #fwrite(fid, 1, header_data.checksum, 'i', 1);
     fwrite(fid, 1, chksum.__init__(header_data), 'i', 1);
     fwrite(fid, 1, header_data.total_ed_classes, 'I', 1);
     fwrite(fid, 1, header_data.total_associated_files, 'H', 1);
     fwrite(fid, 1, header_data.last_file_index, 'H', 1);
     fwrite(fid, 1, header_data.timestamp, 'I', 1);
     fid.write(header_data.reserved);
     fid.seek(4, os.SEEK_CUR);#%alignment
示例#5
0
    def __init__(self, fid, channeldata):

        align.check(fid);

        #self.name = ''.join(list(fread(fid, 16, 'c', 'c', 1)));
        fid.seek(16, os.SEEK_CUR);

        fwrite(fid, 1, channeldata.chan_no, 'H', 1);
        fwrite(fid, 1, channeldata.type, 'H', 1);
        fwrite(fid, 1, channeldata.sensor_no, 'h', 1);
        fid.seek(2, os.SEEK_CUR);
        fwrite(fid, 1, channeldata.gain, 'f', 1);
        fwrite(fid, 1, channeldata.units_per_bit, 'f', 1);
        #self.yaxis_label = ''.join(list(fread(fid, 16, 'c', 'c', 1)));
        fid.seek(16, os.SEEK_CUR);
        fwrite(fid, 1, channeldata.aar_val, 'd', 1);
        fwrite(fid, 1, channeldata.checksum, 'i', 1);
        #self.reserved = ''.join(list(fread(fid, 32, 'c', 'c', 1)));
        fid.seek(32, os.SEEK_CUR);
        fid.seek( 4, os.SEEK_CUR);
        fid.seek(77, os.SEEK_CUR);

        if channeldata.type in [1,3]: device_data.writemeg(fid,channeldata.device_data); #meg/ref
        elif channeldata.type in [2]: device_data.writeeeg(fid,channeldata.device_data); #eeg
        elif channeldata.type in [4]: device_data.writeexternal(fid,channeldata.device_data); #external
        elif channeldata.type in [5]: device_data.writetrigger(fid,channeldata.device_data); #TRIGGER
        elif channeldata.type in [6]: device_data.writeutility(fid,channeldata.device_data); #utility
        elif channeldata.type in [7]: device_data.writederived(fid,channeldata.device_data); #derived
        elif channeldata.type in [8]: device_data.writeshorted(fid,channeldata.device_data); #shorted
        else: print 'device type unknown'
示例#6
0
    def __init__(self, fid):
        align.check(fid);

        #self.name = ''.join(list(fread(fid, 16, 'c', 'c', 1)));
        self.name = fid.read(16)
        self.chan_no = fread(fid, 1, 'H', 'H', 1);
        self.type = fread(fid, 1, 'H', 'H', 1);
        self.sensor_no = fread(fid, 1, 'h', 'h', 1);
        fid.seek(2, os.SEEK_CUR);
        self.gain = fread(fid, 1, 'f', 'f', 1);
        self.units_per_bit = fread(fid, 1, 'f', 'f', 1);
        #self.yaxis_label = ''.join(list(fread(fid, 16, 'c', 'c', 1)));
        self.yaxis_label = fid.read(16)
        self.aar_val = fread(fid, 1, 'd', 'd', 1);
        self.checksum = fread(fid, 1, 'i', 'i', 1);
        #self.reserved = ''.join(list(fread(fid, 32, 'c', 'c', 1)));
        self.reserved = fid.read(32)
        fid.seek( 4, os.SEEK_CUR);

        if self.type in [1,3]: self.device_data = device_data.readmeg(fid); #meg/ref
        elif self.type in [2]: self.device_data = device_data.readeeg(fid); #eeg
        elif self.type in [4]: self.device_data = device_data.readexternal(fid); #external
        elif self.type in [5]: self.device_data = device_data.readtrigger(fid); #TRIGGER
        elif self.type in [6]: self.device_data = device_data.readutility(fid); #utility
        elif self.type in [7]: self.device_data = device_data.readderived(fid); #derived
        elif self.type in [8]: self.device_data = device_data.readshorted(fid); #shorted
        else: print 'device type unknown'
示例#7
0
    def __init__(self, fid, channeldata, log=None):
        #logging.basicConfig(filename='/tmp/MSWconfigwrite.log',filemode='w',level=logging.DEBUG)

        align.check(fid);
        #logging.basicConfig(filename='/tmp/MSWconfigwrite.log',filemode='w',level=logging.DEBUG)
        #self.name = ''.join(list(fread(fid, 16, 'c', 'c', 1)));
        #fid.seek(16, os.SEEK_CUR);
        fwrite(fid, 1, array([channeldata.name]), 'c', 1); #16b
        #fwrite(fid, 1, array([channeldata.name_array]), 'c', 1); #16b
        #print channeldata.name,fid,fid.tell()
        fwrite(fid, 1, channeldata.chan_no, 'H', 1); #4b
        fwrite(fid, 1, channeldata.type, 'H', 1); #4b
        fwrite(fid, 1, channeldata.sensor_no, 'h', 1); #4b
        fid.seek(2, os.SEEK_CUR); #2b
        fwrite(fid, 1, channeldata.gain, 'f', 1); #4b
        fwrite(fid, 1, channeldata.units_per_bit, 'f', 1); #4b
        #self.yaxis_label = ''.join(list(fread(fid, 16, 'c', 'c', 1)));
        #fid.seek(16, os.SEEK_CUR);
        fwrite(fid, 1, array([channeldata.yaxis_label]), 'c', 1); #16
        fwrite(fid, 1, channeldata.aar_val, 'd', 1); #4
        fwrite(fid, 1, channeldata.checksum, 'i', 1); #4
        #self.reserved = ''.join(list(fread(fid, 32, 'c', 'c', 1)));
        #fid.seek(32, os.SEEK_CUR);
        fwrite(fid, 1, array([channeldata.reserved]), 'c', 1); #32
        fid.seek( 4, os.SEEK_CUR); #4b
        logger2.error((channeldata.name_short,str(fid.tell())))
        #fid.seek(77, os.SEEK_CUR);
        if channeldata.type in [1,3]: device_data.writemeg(fid,channeldata.device_data); #meg/ref
        elif channeldata.type in [2]: device_data.writeeeg(fid,channeldata.device_data); #eeg
        elif channeldata.type in [4]: device_data.writeexternal(fid,channeldata.device_data); #external
        elif channeldata.type in [5]: device_data.writetrigger(fid,channeldata.device_data); #TRIGGER
        elif channeldata.type in [6]: device_data.writeutility(fid,channeldata.device_data); #utility
        elif channeldata.type in [7]: device_data.writederived(fid,channeldata.device_data); #derived
        elif channeldata.type in [8]: device_data.writeshorted(fid,channeldata.device_data); #shorted
        else: print 'device type unknown'
示例#8
0
    def __init__(self, fid,log=None):
        align.check(fid);

        #logging.basicConfig(filename='/tmp/MSWconfigread.log',filemode='w',level=logging.DEBUG)
        self.name_array = array(fread(fid, 16, 'c', 'c', 1))
        self.name = ''.join(list(self.name_array));
        #print self.name,fid.tell()
        #self.name = fid.read(16)
        self.chan_no = fread(fid, 1, 'H', 'H', 1);
        self.type = fread(fid, 1, 'H', 'H', 1);
        self.sensor_no = fread(fid, 1, 'h', 'h', 1);
        fid.seek(2, os.SEEK_CUR);
        self.gain = fread(fid, 1, 'f', 'f', 1);
        self.units_per_bit = fread(fid, 1, 'f', 'f', 1);
        #self.yaxis_label = ''.join(list(fread(fid, 16, 'c', 'c', 1)));
        #self.yaxis_label = fid.read(16)
        self.yaxis_label = array(fread(fid, 16, 'c', 'c', 1))
        self.aar_val = fread(fid, 1, 'd', 'd', 1);
        self.checksum = fread(fid, 1, 'i', 'i', 1);
        #self.reserved = ''.join(list(fread(fid, 32, 'c', 'c', 1)));

        #self.reserved = fid.read(32)
        self.reserved = array(fread(fid, 32, 'c', 'c', 1))
        fid.seek( 4, os.SEEK_CUR);

        if self.type in [1,3]: self.device_data = device_data.readmeg(fid); #meg/ref
        elif self.type in [2]: self.device_data = device_data.readeeg(fid); #eeg
        elif self.type in [4]: self.device_data = device_data.readexternal(fid); #external
        elif self.type in [5]: self.device_data = device_data.readtrigger(fid); #TRIGGER
        elif self.type in [6]: self.device_data = device_data.readutility(fid); #utility
        elif self.type in [7]: self.device_data = device_data.readderived(fid); #derived
        elif self.type in [8]: self.device_data = device_data.readshorted(fid); #shorted
        else:
            print 'device type unknown',self.type,self.name
示例#9
0
    def __init__(self, fid, user_block_data):

        align.check(fid);


        fwrite(fid, 1, user_block_data.user_block_data_hdr_nbytes, 'I', 1);

        #fid.seek(1, os.SEEK_CUR);
        #print 'cksum';fid.close()
        #subprocess.Popen('cksum /opt/msw/data/spartan_data0/1337/sef+eeg/03%31%09@11:17/1/configT', shell=True)
        #return

        #fwrite(fid, 20, pyconfig.user_block_data_hdr_type, 'c', 1);

        fid.seek(20, os.SEEK_CUR);

        #fwrite(fid, 1, user_block_data.user_block_data_hdr_checksum, 'i', 1);
        fid.seek(4, os.SEEK_CUR);

        #fwrite(fid, 32, pyconfig.user_block_data_user, 'c', 1);
        fid.seek(32, os.SEEK_CUR);

        #fwrite(fid, 1, user_block_data.user_block_data_timestamp, 'I', 1);
        fid.seek(4, os.SEEK_CUR);

        #fwrite(fid, 1, user_block_data.user_block_data_user_space_size, 'I', 1);
        fid.seek(4, os.SEEK_CUR);


        #fwrite(fid, 32, pyconfig.user_block_data_reserved, 'c', 1);
        fid.seek(32, os.SEEK_CUR);

        fid.seek(4, os.SEEK_CUR);

        fid.seek(user_block_data.user_block_data_user_space_size, os.SEEK_CUR) #skip user space
示例#10
0
 def __init__(self, fid, device_data):
     align.check(fid);
     device_header.write(fid, device_data.hdr);
     fwrite(fid, 1, device_data.impedance, 'f', 1);
     fid.seek(4, os.SEEK_CUR);
     fwrite(fid, 4*4, device_data.Xfm, 'd', 1);
     #self.reserved = ''.join(list(fread(fid, 32,  'c', 'c', 1 )));
     fid.seek(32, os.SEEK_CUR);
示例#11
0
 def __init__(self, fid):
     align.check(fid);
     self.position = fread(fid, 3, 'd', 'd', 1)*1000; #convert to mm
     self.direction = fread(fid, 3, 'd', 'd', 1);
     self.radius = fread(fid, 1, 'd', 'd', 1);
     self.wire_radius = fread(fid, 1, 'd', 'd', 1);
     self.turns = fread(fid, 1, 'H', 'H', 1);
     fid.seek(2, os.SEEK_CUR);
     self.checksum = fread(fid, 1, 'i', 'i', 1);
     self.reserved = fread(fid, 32, 'c', 'c', 1);
示例#12
0
 def __init__(self, fid, loop_data):
     align.check(fid);
     fwrite(fid, 3, loop_data.position/1000, 'd', 1); #convert to meters
     fwrite(fid, 3, loop_data.direction, 'd', 1);
     fwrite(fid, 1, loop_data.radius, 'd', 1);
     fwrite(fid, 1, loop_data.wire_radius, 'd', 1);
     fwrite(fid, 1, loop_data.turns, 'H', 1);
     fid.seek(2, os.SEEK_CUR);
     fwrite(fid, 1, loop_data.checksum, 'i', 1);
     #fwrite(fid, 32, loop_data.reserved, 'c', 1);
     fid.seek(32, os.SEEK_CUR);
示例#13
0
    def __init__(self, fid):
        align.check(fid);
        self.hdr = device_header.read(fid);
        self.inductance = fread(fid, 1, 'f', 'f', 1);
        fid.seek(4, os.SEEK_CUR);
        self.Xfm = fread(fid, 4*4, 'd', 'd', 1);
        self.xform_flag = fread(fid, 1, 'H', 'H', 1);
        self.total_loops = fread(fid, 1, 'H', 'H', 1);
        self.reserved = ''.join(list(fread(fid, 32, 'c', 'c', 1)));
        fid.seek(4, os.SEEK_CUR);

        self.loop_data = [loop_data.read(fid) for i in range(0, self.total_loops[0])] #read loop data
示例#14
0
    def __init__(self, fid, event_data):
        align.check(fid);

        fid.write(event_data.name);
        fwrite(fid, 1, event_data.start_lat, 'f', 1);
        fwrite(fid, 1, event_data.end_lat, 'f', 1);
        fwrite(fid, 1, event_data.step_size, 'f', 1);
        fwrite(fid, 1, event_data.fixed_event, 'H', 1);
        fid.seek(2, os.SEEK_CUR);
        fwrite(fid, 1, event_data.checksum, 'i', 1);
        fid.write(event_data.reserved);
        fid.seek(4, os.SEEK_CUR);
示例#15
0
 def __init__(self, fid, epoch_data):
     align.check(fid);
     fwrite(fid, 1, epoch_data.pts_in_epoch, 'I', 1);
     fwrite(fid, 1, epoch_data.epoch_duration, 'f', 1);
     fwrite(fid, 1, epoch_data.expected_iti, 'f', 1);
     fwrite(fid, 1, epoch_data.actual_iti, 'f', 1);
     fwrite(fid, 1, epoch_data.total_var_events, 'I', 1);
     #print self.total_var_events
     #fwrite(fid, 1, epoch_data.checksum, 'I', 1);
     fwrite(fid, 1, chksum.__init__(epoch_data), 'i', 1);
     fwrite(fid, 1, epoch_data.epoch_timestamp, 'i', 1);
     #fwrite(fid, 28, epoch_data.reserved, 'c', 1);
     fid.write(epoch_data.reserved)
示例#16
0
 def __init__(self, fid):
     align.check(fid);
     #print 'fid position', fid.tell()
     self.pts_in_epoch = fread(fid, 1, 'I', 'I', 1);
     self.epoch_duration = fread(fid, 1, 'f', 'f', 1);
     self.expected_iti = fread(fid, 1, 'f', 'f', 1);
     self.actual_iti = fread(fid, 1, 'f', 'f', 1);
     self.total_var_events = fread(fid, 1, 'I', 'I', 1);
     #print self.total_var_events
     self.checksum = fread(fid, 1, 'i', 'i', 1);
     self.epoch_timestamp = fread(fid, 1, 'i', 'i', 1);
     #self.reserved = ''.join(list(fread(fid, 28, 'c', 'c', 1)));
     self.reserved = fid.read(28)
示例#17
0
    def __init__(self, fid, device_data):
        align.check(fid);
        device_header.write(fid, device_data.hdr);
        fwrite(fid, 1, device_data.inductance, 'f', 1);
        fid.seek(4, os.SEEK_CUR);
        fwrite(fid, 4*4, device_data.Xfm, 'd', 1);
        fwrite(fid, 1, device_data.xform_flag, 'H', 1);
        fwrite(fid, 1, device_data.total_loops, 'H', 1);
        #self.reserved = ''.join(list(fread(fid, 32, 'c', 'c', 1)));
        fid.seek(32, os.SEEK_CUR);
        fid.seek(4, os.SEEK_CUR);

        for i in range(0, device_data.total_loops[0]):
            loop_data.write(fid, device_data.loop_data[i])
示例#18
0
    def __init__(self, fid):
        align.check(fid);

        #self.name = ''.join(list(fread(fid, 16, 'c', 'c', 1)));
        self.name = fid.read(16)
        self.start_lat = fread(fid, 1, 'f', 'f', 1);
        self.end_lat = fread(fid, 1, 'f', 'f', 1);
        self.step_size = fread(fid, 1, 'f', 'f', 1);
        self.fixed_event = fread(fid, 1, 'H', 'H', 1);
        fid.seek(2, os.SEEK_CUR);
        self.checksum = fread(fid, 1, 'i', 'i', 1);
        #self.reserved = ''.join(list(fread(fid, 32, 'c', 'c', 1)));
        self.reserved = fid.read(32)
        fid.seek(4, os.SEEK_CUR);
示例#19
0
    def __init__(self, fid, proc_data):
        align.check(fid)
        fwrite(fid, 1, proc_data.nbytes, 'I', 1);
        fid.write(proc_data.type)
        fwrite(fid, 1, proc_data.checksum, 'i', 1);
        fid.write(proc_data.user)
        fwrite(fid, 1, proc_data.timestamp, 'I', 1);
        fid.write(proc_data.filename)
        fwrite(fid, 1, proc_data.total_steps, 'I', 1);
        fid.write(proc_data.reserved)
        align.check(fid)

        try:
            #print 'proc_step', proc_data.total_steps[0], fid.tell()
            self.proc_step = [proc_step.write(fid, proc_data.proc_step[j]) for j in range(0, proc_data.total_steps[0])]
        except AttributeError:
            pass #no processing step data. skip
示例#20
0
    def __init__(self, fid):
        align.check(fid)
        self.nbytes = fread(fid, 1, 'I', 'I', 1);
        self.type = fid.read(20)
        self.checksum = fread(fid, 1, 'i', 'i', 1);
        self.user = fid.read(32)
        self.timestamp = fread(fid, 1, 'I', 'I', 1);
        self.filename = fid.read(256)
        self.total_steps = fread(fid, 1, 'I', 'I', 1);
        self.reserved = fid.read(32)
        align.check(fid)

        try:
            #print 'proc_step', self.total_steps[0], fid.tell()
            self.proc_step = [proc_step.read(fid) for j in range(0, self.total_steps[0])]
        except MemoryError:
            print 'memory error at', fid.tell()
示例#21
0
    def __init__(self, fid, channel_ref_data):
        align.check(fid);

        fid.write(channel_ref_data.chan_label);
        fwrite(fid, 1, channel_ref_data.chan_no, 'H', 1);
        fwrite(fid, 1, channel_ref_data.attributes, 'H', 1);
        fwrite(fid, 1, channel_ref_data.scale, 'f', 1);
        fid.write(channel_ref_data.yaxis_label);
        fwrite(fid, 1, channel_ref_data.valid_min_max, 'H', 1);
        fid.seek(6, os.SEEK_CUR);
        fwrite(fid, 1, channel_ref_data.ymin, 'd', 1);
        fwrite(fid, 1, channel_ref_data.ymax, 'd', 1);
        fwrite(fid, 1, channel_ref_data.index, 'I', 1);
        #fwrite(fid, 1, channel_ref_data.checksum, 'i', 1);
        fwrite(fid, 1, chksum.__init__(channel_ref_data), 'i', 1);
        #%something new?
        fid.write(channel_ref_data.whatisit);
        fid.write(channel_ref_data.reserved);
示例#22
0
    def __init__(self, fid):
        align.check(fid);
        self.user_block_data_hdr_nbytes = fread(fid, 1, 'I', 'I', 1); #4 bytes
        self.user_block_data_hdr_type = ''.join(list(fread(fid, 20, 'c', 'c', 1))); #20b
        self.user_block_data_hdr_checksum = fread(fid, 1, 'i', 'i', 1);#4b
        self.user_block_data_user = fread(fid, 32, 'c', 'c', 1);#32b
        self.user_block_data_timestamp = fread(fid, 1, 'I', 'I', 1);#4b
        self.user_block_data_user_space_size = fread(fid, 1, 'I', 'I', 1);#4b
        self.user_block_data_reserved = fread(fid, 32, 'c', 'c', 1);#32
        fid.seek(4, os.SEEK_CUR);#4b

        if self.user_block_data_hdr_type == 'B_weights_used':
            st = fid.tell()

            print('WEIGHTS',(st,self.user_block_data_user_space_size))

        if self.user_block_data_hdr_type == 'b_eeg_elec_locs':
            st = fid.tell()
            coillabel1=''.join(list(fread(fid, 16, 'c', 'c', 1)));
            self.lpa = fread(fid,3,'d','d',1)
            fid.seek(16,1)
            self.rpa = fread(fid,3,'d','d',1)
            fid.seek(16,1)
            self.nas = fread(fid,3,'d','d',1)
            fid.seek(16,1)
            self.cz = fread(fid,3,'d','d',1)
            fid.seek(16,1)
            self.inion = fread(fid,3,'d','d',1)
            fid.seek(st,0)

        if self.user_block_data_hdr_type == 'B_COH_Points':
            self.coil_locations = []
            st = fid.tell()
            for i in arange(5):
                fid.seek(16,1)
                self.coil_locations.append(fread(fid,3,'d','d',1))

            self.coil_locations = vstack(self.coil_locations)
            fid.seek(st,0)

        #print self.user_block_data_hdr_type, fid.tell(), self.user_block_data_user_space_size
        fid.seek(self.user_block_data_user_space_size, os.SEEK_CUR) #skip user space
示例#23
0
    def __init__(self, fid):
        align.check(fid)
        self.nbytes_step = fread(fid, 1, 'I', 'I', 1);
        self.type = fid.read(20)
        self.checksum = fread(fid, 1, 'i', 'i', 1);
        #Process Step Struct
        T = ''.join(self.type.split('\x00'))
        if T == 'b_filt_hp' or T == 'b_filt_lp' or T == 'b_filt_notch':
            self.frequency = fread(fid, 1, 'f', 'f', 1)
            self.reserved =  fid.read(32)

        elif T == 'b_filt_b_pass' or T == 'b_filt_b_reject':
            self.high_frequency = fread(fid, 1, 'f', 'f', 1)
            self.low_frequency = fread(fid, 1, 'f', 'f', 1)
            self.reserved =  fid.read(32)
            fid.seek(4, os.SEEK_CUR) #align

        else:
            self.user_space_size = fread(fid, 1, 'I', 'I', 1);
            self.reserved = fid.read(32)
            self.user_data = fid.read(self.user_space_size)
示例#24
0
    def __init__(self, fid):
        align.check(fid);

        #self.chan_label = ''.join(list(fread(fid, 16, 'c', 'c', 1)));
        self.chan_label = fid.read(16)
        self.chan_no = fread(fid, 1, 'H', 'H', 1);
        self.attributes = fread(fid, 1, 'H', 'H', 1);
        self.scale = fread(fid, 1, 'f', 'f', 1);
        #self.yaxis_label = ''.join(list(fread(fid, 16, 'c', 'c', 1)));
        self.yaxis_label = fid.read(16)
        self.valid_min_max = fread(fid, 1, 'H', 'H', 1);
        fid.seek(6, os.SEEK_CUR);
        self.ymin = fread(fid, 1, 'd', 'd', 1);
        self.ymax = fread(fid, 1, 'd', 'd', 1);
        self.index = fread(fid, 1, 'I', 'I', 1);
        self.checksum = fread(fid, 1, 'i', 'i', 1);
        #%something new?
        #self.whatisit = ''.join(list(fread(fid, 4, 'c', 'c', 1)));
        self.whatisit = fid.read(4)
        #self.reserved = ''.join(list(fread(fid, 28, 'c', 'c', 1)));
        self.reserved = fid.read(28)
示例#25
0
    def __init__(self, fid, proc_step):
        align.check(fid)
        fwrite(fid, 1, proc_step.nbytes_step, 'I', 1);
        fid.write(proc_step.type)
        fwrite(fid, 1, chksum.__init__(proc_step), 'i', 1);

        #Process Step Struct
        T = ''.join(proc_step.type.split('\x00'))
        if T == 'b_filt_hp' or T == 'b_filt_lp' or T == 'b_filt_notch':
            fwrite(fid, 1, proc_step.frequency, 'f', 1)
            fid.write(proc_step.reserved)

        elif T == 'b_filt_b_pass' or T == 'b_filt_b_reject':
            fwrite(fid, 1, proc_step.high_frequency, 'f', 1)
            fwrite(fid, 1, proc_step.low_frequency, 'f', 1)
            fid.write(proc_step.reserved)
            fid.seek(4, os.SEEK_CUR) #align
        else:
            fwrite(fid, 1, proc_step.user_space_size, 'I', 1);
            fid.write(proc_step.reserved)
            fid.write(proc_step.user_data)
示例#26
0
 def __init__(self, fid):
     align.check(fid);
     self.hdr = device_header.read(fid);
     self.reserved = ''.join(list(fread(fid, 32, 'c', 'c', 1 )));
示例#27
0
 def __init__(self, fid):
     align.check(fid);
     self.hdr = device_header.read(fid);
     self.user_space_size = fread(fid, 1, 'I', 'I', 1);
     self.reserved = ''.join(list(fread(fid, 32,  'c', 'c', 1 )));
     fid.seek(4, os.SEEK_CUR);
示例#28
0
 def __init__(self, fid):
     align.check(fid);
示例#29
0
 def __init__(self, fid):
     align.check(fid);
     
     self.chan_label = fread(fid, 16, 'c', 'c', 1);