def __init__(self, recorder=None, config=None, relative=""): ''' initialization ''' self.config = config ''' general settings ''' self.subdirs = self.config['used_gestures'].split(',') self.nClasses = int(self.config['used_classes']) self.samples_per_frame = int(self.config['samples_per_frame']) ''' preprocessing settings ''' self.slice_left = int(self.config['slice_left']) self.slice_right = int(self.config['slice_right']) self.wanted_frames = self.samples_per_frame - self.slice_left - self.slice_right self.framerange = int(self.config['framerange']) self.timeout = int(self.config['timeout']) self.smooth = float(self.config['smooth']) self.use_each_second = int(self.config['use_each_second']) self.threshold = float(self.config['threshold']) self.new_preprocess = self.config['new_preprocess'] in ["True", "true", "1"] ''' svm settings ''' self.kernel = self.config['kernel'] self.c = float(self.config['c']) self.gamma = float(self.config['gamma']) self.degree = int(self.config['degree']) self.coef0 = float(self.config['coef0']) ''' static settings ''' self.gestures_path = os.path.join(os.path.dirname(__file__), '..', '..', '..', 'gestures') self.path = os.path.join(os.path.dirname(__file__), 'svm_trained.pkl') self.datalist = [] self.datanum = 0 self.gesturefound = 0 self.gestureindex = 0 self.X_train, self.Y_train = None, None ''' initialization methods ''' self.classifier = self.load(self.path) # create dataloader instance self.dataloader = Dataloader(self.config) self.ref_frequency_frame = self.dataloader.load_ref_frequency_frame() self.dataloader.updatePreprocessorInstance(self.ref_frequency_frame) # create preprocessor instance self.preprocessor = Preprocessor(self.config, self.ref_frequency_frame) # create appstarter instance self.appstarter = Starter()