def get_exceptions(self) -> List[ParseException]: filenames = get_all_filenames(self._EXCEPTIONS_FOLDER) exceptions = [] for filename in filenames: with open(filename, 'rb') as f: exceptions += pickle.load(f) return exceptions
def execute(self): print("\n/////////\n/// MainFeatureExtracter part\n/////////") folder_path = self.store.get_html_folder() all_filenames = get_all_filenames(folder_path) for filename in all_filenames: flat_list = self.extract(filename) self.store.save_to_csv(flat_list, filename) print("Filename {} converted to csv.".format(filename))
def execute(self): print("\n/////////\n/// AreaGetter part\n/////////") folder_path = context.store.get_csv_folder() all_filenames = get_all_filenames(folder_path) for filename in all_filenames: self.transform(filename) print("Filename {} was been transformed by openstreetmap.".format( filename))
def show_off(self, index_off=None): filepath = "{0}/docs/SIMPLEX_TREES/".format(utils.get_module_path()) all_off_files = utils.get_all_filenames(root_path=filepath, file_pattern=".off") if len(all_off_files) == 0: return if index_off is None or index_off < 0 or len( all_off_files) - 1 < index_off: file_name = all_off_files[-1] else: file_name = all_off_files[index_off] os.system("geomview {0}".format(all_off_files[index_off]))
def get_mask(mask_size, polygons): ''' Построение бинарной маски для спутникового снимка @param mask_size размер маски @param @polygons набор полигонов @return сгенерированная бинарнаяя маска в виде картинки ''' mask = Image.new('1', mask_size) for pol in polygons: d = ImageDraw.Draw(mask) d.polygon(pol, fill=1) return mask filenames = utils.get_all_filenames(JSON_PATH) print('Images for marking:\t{}'.format(len(filenames))) json_files = list( map(lambda s: os.path.join(JSON_PATH, s + '.json'), filenames)) # список всех json-файлов с разметкой img_files = list( map(lambda s: os.path.join(IMG_PATH, s + '.jpg'), filenames)) # список всех спутниковых снимков для разметки if os.path.exists(MASK_PATH): shutil.rmtree(MASK_PATH) print('Clean folder old masks') os.makedirs(MASK_PATH) print('Create masks:') for idx in range(len(filenames)): # генерация масок img = Image.open(img_files[idx]) polygons = get_marking_polygons(read_marking(json_files[idx]))
def execute(self): print("\n/////////\n/// Aggregator part\n/////////") folder_path = context.store.get_csv_folder() all_filenames = get_all_filenames(folder_path) self.__aggregate(all_filenames)
img_slice = img.crop((i, j, i+SAMPLE_SIDE, j+SAMPLE_SIDE)) mask_slice = mask.crop((i, j, i+SAMPLE_SIDE, j+SAMPLE_SIDE)) img_slice.save(os.path.join(IMG_SAMPLES, filenames[idx] + '_{:0>5}.jpg'.format(STAGE))) mask_slice.save(os.path.join(MASK_SAMPLES, filenames[idx] + '_{:0>5}.png'.format(STAGE))) STAGE = STAGE + 1 x_samples.append(np.asarray(img_slice)) y_samples.append(np.asarray(mask_slice)) print('{}/{} samples are sliced'.format(idx+1, len(filenames))) print('Slicing are finished!') return np.asarray(x_samples), np.asarray(y_samples)[..., np.newaxis] def save_npy_samples(x_samples, y_samples): ''' Сохранение выборок в npy-файлах @param x_samples @param y_samples ''' np.save(os.path.join(NPY_PATH, 'x_samples.npy'), x_samples) np.save(os.path.join(NPY_PATH, 'y_samples.npy'), y_samples) print('NPY-files are saved!') filenames = utils.get_all_filenames(MASK_PATH) print('Images for slicing:\t{}'.format(len(filenames))) img_files = list(map(lambda s: os.path.join(IMG_PATH, s+'.jpg'), filenames)) # список спутниковых снимков mask_files = list(map(lambda s: os.path.join(MASK_PATH, s+'.png'), filenames)) # список соответствующих бинарных масок clean_slicing_folders() x_samples, y_samples = slice_samples(img_files, mask_files) print('NPY-files are formed!') save_npy_samples(x_samples, y_samples)