def set_chinese_sign_picture_random(self):
     picture = ChineseCharacterGenerator.random(self.app.picture_actual_size)
     while picture.isBlank():
         picture = ChineseCharacterGenerator.random(self.app.picture_actual_size)
     self.sign_picture = picture
     self.refresh_setting_to_new_picture()
        all = ChineseCharacterGenerator.all()
        for sign, pic_in_fonts in all.items():
            for pic in pic_in_fonts:
                sign_features = cls.features(pic)
                sign_features = np.array(sign_features)
                allSet["X"].append(sign_features)
                allSet["y"].append(sign)
                picNum += 1
                if picNum % 1000 == 0:
                    print "Already {} pictures".format(picNum)
        with open(cls.allSetFile, "wb") as file:
            pickle.dump(allSet, file)

    @classmethod
    def allFeatures(cls):
        with open(cls.allSetFile, "r") as file:
            allFeaturesSet = pickle.load(file)
            print "all features set loaded"
            return allFeaturesSet


if __name__ == "__main__":
    sign = ChineseCharacterGenerator.random(30)
    CellFeatureExtractor.computeFeaturesInAllSet()
    allFeatures = CellFeatureExtractor.allFeatures()
    print len(allFeatures["X"][0])
    print len(allFeatures["X"])
    print len(allFeatures["y"])