def generate_features_pool(self):
        """ generate train and test files for classification """

        from analysis import Analysis
        from dir_processing import DirProcessing
        from file_op import FileOp

        landmarks_urls_list, features = Analysis.get_topic_proportions_for_every_image()

        subsets_dict = self.divide_persons_into_subsets()
        
        for i in range(0, len(landmarks_urls_list)):
            landmarks_url = landmarks_urls_list[i]
            label_url = DirProcessing.get_label_url_from_landmarks_url(landmarks_url)
            loc = DirProcessing.get_location_from_sequence(landmarks_url, 3)

            if label_url and loc != "MIDDLE":
                person_id, perform_id, index_id = DirProcessing.get_id_from_label_url(label_url)
                subset_id = subsets_dict[person_id]
                feature = features[i, :]

                if loc == "START":
                    label = 0
                else:
                    label = FileOp.read_label_file(label_url)

                self.features_pool[subset_id].append(feature)
                self.labels_pool[subset_id].append(label)
                self.urls_pool[subset_id].append(landmarks_url)

        print "Features pools have been generated. "