def do_regression_predict(self, datakey, modelkey, predictname):
     try:
         prediction = self.models[modelkey].predict(self.data[datakey].df[self.model_xvars[modelkey]])
         self.data[datakey].df[predictname] = prediction
         pass
     except Exception as e:
         error_print(e)
 def del_layout(self):
     # Deleting a whole lotta lists... >_<
     try:
         del_qwidget_(self.greyed_modules[-1])
         del self.greyed_modules[-1]
         self._list.del_module()
     except:
         error_print("Cannot delete")
    def removenull(self,datakey,colname):
        try:
            print(self.data[datakey].df.shape)
            self.data[datakey] = spectral_data(self.data[datakey].df.ix[-self.data[datakey].df[colname].isnull()])
            print(self.data[datakey].df.shape)

        except Exception as e:
            error_print(e)
 def get_data(self, filename, keyname):
     try:
         print('Loading data file: ' + str(filename))
         self.data[keyname] = spectral_data(pd.read_csv(filename, header=[0, 1]))
         self.datakeys.append(keyname)
         pass
     except Exception as e:
         error_print('Problem reading data: {}'.format(e))
    def do_cv_train(self, datakey, xvars, yvars, yrange, method, params):

        try:
            cv_obj=cv.cv(params)
            self.data[datakey].df,self.cv_results=cv_obj.do_cv(self.data[datakey].df,xcols=xvars,ycol=yvars,yrange=yrange,method=method)
            self.data['CV Results']=self.cv_results

        except Exception as e:
            error_print(e)
 def do_norm(self, datakey, ranges):
     print("{}".format(ranges))
     try:
         print(self.data[datakey].df.columns.levels[0])
         self.data[datakey].norm(ranges)
         print(self.data[datakey].df.columns.levels[0])
         print("Normalization has been applied to the ranges: " + str(ranges))
     except Exception as e:
         error_print(e)
 def run(self):
     # TODO this function will take all the enumerated functions and parameters and run them
     try:
         for i in range(len(self.greyed_modules)):
             r_list = self._list.pull()
             print(r_list)
             getattr(self, r_list[2])(*r_list[3], **r_list[4])
             self.greyed_modules[0].setDisabled(True)
             del self.greyed_modules[0]
         self.taskFinished.emit()
     except Exception as e:
         error_print(e)
         self.taskFinished.emit()
    def do_regression_train(self, datakey, xvars, yvars, yrange, method, params, ransacparams, modelkey=None):
        try:
            if modelkey is None:
                modelkey = method + '-' + str(yvars) + ' (' + str(yrange[0]) + '-' + str(yrange([1]) + ') ')
            self.models[modelkey] = regression.regression([method], [yrange], [params], i=0,
                                                          ransacparams=[ransacparams])
            self.modelkeys.append(modelkey)

            x = self.data[datakey].df[xvars]
            y = self.data[datakey].df[yvars]
            x = np.array(x)
            y = np.array(y)
            ymask = np.squeeze((y > yrange[0]) & (y < yrange[1]))
            y = y[ymask]
            x = x[ymask, :]
            self.models[modelkey].fit(x, y)
            self.model_xvars[modelkey] = xvars
            self.model_yvars[modelkey] = yvars
            print('foo')
        except Exception as e:
            error_print(e)
    def do_plot(self, datakey,
                xvar, yvar,
                figfile=None, xrange=None,
                yrange=None, xtitle='Reference (wt.%)',
                ytitle='Prediction (wt.%)', title=None,
                lbl=None, one_to_one=False,
                dpi=1000, color=None,
                annot_mask=None,
                cmap=None, colortitle='', figname=None, masklabel='',
                marker='o', linestyle='None'
                ):

        try:
            x = self.data[datakey].df[xvar]
            y = self.data[datakey].df[yvar]
        except:
            x = self.data[datakey][xvar]
            y = self.data[datakey][yvar]
        try:
            loadfig = self.figs[figname]
        except:
            loadfig = None
            # outpath=self.outpath
        try:
            # Alpha is missing, fix this!
            outpath = self.outpath
            self.figs[figname] = make_plot(x, y, outpath, figfile, xrange=xrange, yrange=yrange, xtitle=xtitle,
                                             ytitle=ytitle, title=title,
                                             lbl=lbl, one_to_one=one_to_one, dpi=dpi, color=color,
                                             annot_mask=annot_mask, cmap=cmap,
                                             colortitle=colortitle, loadfig=loadfig,marker=marker,linestyle=linestyle)
        except Exception as e:
            error_print(e)
            # dealing with the a possibly missing outpath
            outpath = './'
            self.figs[figname] = make_plot(x, y, outpath, figfile, xrange=xrange, yrange=yrange, xtitle=xtitle,
                                           ytitle=ytitle, title=title,
                                           lbl=lbl, one_to_one=one_to_one, dpi=dpi, color=color,
                                           annot_mask=annot_mask, cmap=cmap,
                                           colortitle=colortitle, loadfig=loadfig,marker=marker,linestyle=linestyle)
 def do_ica_jade(self, datakey, nc, col, load_fit=None, corrcols=None):
     try:
         self.data[datakey].ica_jade(col, nc=nc, load_fit=load_fit, corrcols=corrcols)
     except Exception as e:
         error_print(e)
 def do_ica(self, datakey, nc, col, load_fit=None):
     try:
         self.data[datakey].ica(col, nc=nc, load_fit=load_fit)
     except Exception as e:
         error_print(e)
 def do_pca(self, datakey, nc, col, load_fit=None):
     print(self.data[datakey].df.columns.levels[0])
     try:
         self.data[datakey].pca(col, nc=nc, load_fit=load_fit)
     except Exception as e:
         error_print(e)
 def do_dim_red(self,datakey,method,params,method_kws={},col='wvl',load_fit=None,dim_red_key=None):
     try:
         self.dim_reds[dim_red_key]=self.data[datakey].dim_red(col, method, params, method_kws, load_fit=load_fit)
         self.dim_red_keys.append(dim_red_key)
     except Exception as e:
         error_print(e)
 def do_interp(self, datakey_to_interp, datakey_ref):
     print(self.data[datakey_ref].df.columns.levels[0])
     try:
         self.data[datakey_to_interp].interp(self.data[datakey_ref].df['wvl'].columns)
     except Exception as e:
         error_print(e)
 def do_mask(self, datakey, maskfile):
     try:
         self.data[datakey].mask(maskfile)
         print("Mask applied")
     except Exception as e:
         error_print(e)
 def set_file_outpath(self, outpath):
     try:
         self.outpath = outpath
         print("Output path folder has been set to "+outpath)
     except Exception as e:
         error_print(e)