Пример #1
0
    def save(self, basename):
        fullname = self._get_filename(basename)
        #need vdiff_vect here and in the labels
        ## data = column_stack([self.nvect, self.ref, self.uL, self.uR, \
        ##                      self.sensor_mat, self.error])
        col_list = [self.nvect, self.ref]
        if hasattr(self, 'vdiff_vect'):
            col_list.append(self.vdiff_vect)

        col_list.extend([self.uL, self.uR, \
                         self.sensor_mat, self.error])
        
        data = column_stack(col_list)
        data_str = data.astype('S30')
        rows, N_sense = self.sensor_mat.shape
        sen_labels = ['sensor %i' % ind for ind in range(N_sense)]
        labels = ['n','R (ref)']
        if hasattr(self, 'vdiff_vect'):
            labels.append('vdiff_vect')
            
        labels += ['uL','uR'] + sen_labels + ['error']

        str_mat = row_stack([labels, data_str])
        txt_mixin.dump_delimited(fullname, str_mat, delim=',')
        self.data_file_name = fullname
        return str_mat
Пример #2
0
    def save(self, basename):
        fullname = self._get_filename(basename)
        #need vdiff_vect here and in the labels
        ## data = column_stack([self.nvect, self.ref, self.uL, self.uR, \
        ##                      self.sensor_mat, self.error])
        col_list = [self.nvect, self.ref]
        if hasattr(self, 'vdiff_vect'):
            col_list.append(self.vdiff_vect)

        col_list.extend([self.uL, self.uR, \
                         self.sensor_mat, self.error])

        data = column_stack(col_list)
        data_str = data.astype('S30')
        rows, N_sense = self.sensor_mat.shape
        sen_labels = ['sensor %i' % ind for ind in range(N_sense)]
        labels = ['n', 'R (ref)']
        if hasattr(self, 'vdiff_vect'):
            labels.append('vdiff_vect')

        labels += ['uL', 'uR'] + sen_labels + ['error']

        str_mat = row_stack([labels, data_str])
        txt_mixin.dump_delimited(fullname, str_mat, delim=',')
        self.data_file_name = fullname
        return str_mat
Пример #3
0
 def save(self, filename, folder=''):
     outpath = os.path.join(folder,filename)
     if not os.path.exists(outpath):
         txt_mixin.dump_delimited(outpath,self.data_array,labels=self.labels)
         print('saved: %s' % outpath)
     else:
         print('already exists: %s' % outpath)
Пример #4
0
 def save(self, pathout, delim='\t'):
     """I need to add an intermediate step to quote strings for csv
     compliance, i.e. 'this is one really, really, long cell with
     commas.'"""
     ## data_out = prep_data_for_save(self.data)
     ## misc_utils.dump_matrix(pathout, data_out, self.labels, \
     ##                        fmt='%s', delim=delim)
     quoted_labels = ['"%s"' % item for item in self.labels]
     txt_mixin.dump_delimited(pathout,self.data,delim=delim, \
                              labels=quoted_labels)
Пример #5
0
 def save(self, pathout, delim='\t'):
     """I need to add an intermediate step to quote strings for csv
     compliance, i.e. 'this is one really, really, long cell with
     commas.'"""
     ## data_out = prep_data_for_save(self.data)
     ## misc_utils.dump_matrix(pathout, data_out, self.labels, \
     ##                        fmt='%s', delim=delim)
     quoted_labels = ['"%s"' % item for item in self.labels]
     txt_mixin.dump_delimited(pathout,self.data,delim=delim, \
                              labels=quoted_labels)
Пример #6
0
    def save_csv(self, delim="\t"):
        if not hasattr(self, "csv_data"):
            self.build_csv_data()

        fno, ext = os.path.splitext(self.filename)
        outname = fno + '_clean_out.csv'

        txt_mixin.dump_delimited(outname, \
                                 self.csv_data, \
                                 delim=delim)
Пример #7
0
    def save_csv(self, delim="\t"):
        if not hasattr(self, "csv_data"):
            self.build_csv_data()

        fno, ext = os.path.splitext(self.filename)
        outname = fno + '_clean_out.csv'

        txt_mixin.dump_delimited(outname, \
                                 self.csv_data, \
                                 delim=delim)
Пример #8
0
    def save_data(self, filename=None):
        if filename is None:
            filename = self.find_filename()

        if os.path.exists(filename):
            print("exists: %s" % filename)
            return
        else:
            print("saving: %s" % filename)
            
        data = np.column_stack([self.nvect, self.t, self.u, \
                                self.v, self.enc, self.accel_shifted])
        mylabels = ['n','t','u','v','enc','accel (shifted)']
        txt_mixin.dump_delimited(filename, data, labels=mylabels)
    def on_save_data(self, event):
        #need filepath dialog here
        filepath = wx_utils.my_file_dialog(parent=self, \
                                           msg="Save data as txt file", default_file="", \
                                           wildcard=txt_wildcard, \
                                           kind="save", \
                                           check_overwrite=False)
        if filepath:
            plot_list = self.plot_panel.get_plot_list()
            data_list = self.validate_plot_list_and_get_data(plot_list)
            if data_list:
                label_list = self.get_labels(plot_list)

            all_data = [self.t] + data_list
            all_labels = ['Time (sec.)'] + label_list
            c_labels = clean_labels(all_labels)
            data_mat = np.column_stack(all_data)
            # I could kind of use a way to clean the labels from latex to plain ascii
            # i.e. $\ddot{x}_{tip}$ --> accel
            txt_mixin.dump_delimited(filepath, data_mat, labels=c_labels)
Пример #10
0
def dumpcsv(outpath, csvlist, ids=False, extra_col_labels=None):
    last_names, first_names = _get_names(csvlist)
    N = len(last_names)

    vector_list = [last_names, first_names]

    labels = ["Last Name", "First Name"]
    if ids:
        banner_ids = get_banner_ids(csvlist)
        vector_list.append(banner_ids)
        labels.append("ID")

    if extra_col_labels is not None:
        labels.extend(extra_col_labels)
        Nec = len(extra_col_labels)
        for i in range(Nec):
            cur_empty = [""] * N
            vector_list.append(cur_empty)

    data = column_stack(vector_list)
    data2 = row_stack([labels, data])
    txt_mixin.dump_delimited(outpath, data2, delim=",", fmt="%s")
Пример #11
0
def dumpcsv(outpath, csvlist, ids=False, extra_col_labels=None):
    last_names, first_names = _get_names(csvlist)
    N = len(last_names)

    vector_list = [last_names, first_names]

    labels = ['Last Name', 'First Name']
    if ids:
        banner_ids = get_banner_ids(csvlist)
        vector_list.append(banner_ids)
        labels.append('ID')

    if extra_col_labels is not None:
        labels.extend(extra_col_labels)
        Nec = len(extra_col_labels)
        for i in range(Nec):
            cur_empty = [''] * N
            vector_list.append(cur_empty)

    data = column_stack(vector_list)
    data2 = row_stack([labels, data])
    txt_mixin.dump_delimited(outpath, data2, delim=',', fmt='%s')
Пример #12
0
def save_bodes_to_file(filepath, freq, bode_list, labels):
   import txt_mixin   
   data_out = bodes_to_string_matrix(freq, bode_list, labels)
   txt_mixin.dump_delimited(filepath, data_out)
    accel = dttmm_sys.sys.sensors[-1]
    encoder = dttmm_sys.sys.sensors[0]

    enc_counts = encoder.signal_vect#*JVC_model_dict['H']
    u = sim_sys.blocks[0].output

    sum1 = sim_sys.get_block('sum1')
    v = sum1.output
    
    figure(1)
    clf()
    plot(t, u)

    figure(2)
    clf()
    plot(t, enc_counts)
    plot(t, dttmm_sys.output[:,0])#*JVC_model_dict['H'])
    plot(df.t, df.theta)

    figure(3)
    clf()
    plot(t, accel.signal_vect)
    plot(t, dttmm_sys.output[:,1])    
    plot(df.t, df.a)


    data = column_stack([t, u, v, enc_counts, accel.signal_vect])
    txt_mixin.dump_delimited(filename, data, labels=['t','u','v','theta','a'])

    show()