def create_masks(bldg_footprints_shp=BUILDING_SHAPEFILE):
    '''Create masks for images in a directory given the building footprints shapefile
	Args:
		bldg_footprints_shp: building footprint shapefile
	'''
    files = files_absolute_path(INPUT_PATH)
    with fiona.open(bldg_footprints_shp, "r") as shapefile:
        geoms = [feature["geometry"] for feature in shapefile]
    for file in files:
        out_file = get_outfile(file, MASK_BASE_PATH)
        mask, mask_meta = create_one_mask(file, geoms)
        save_mask(out_file, mask, mask_meta)
Example #2
0
for file in file_list:
    with rasterio.open(file, 'r') as ds:
        image = ds.read()  # read all raster values
        image_meta = ds.meta.copy()

    H = image.shape[1]
    W = image.shape[2]
    image_meta.update({
        "driver": "GTiff",
        "height": H,
        "width": W,
        "transform": ds.transform,
        "count": 1
    })

    prediction = make_prediction_cropped(unet_model,
                                         image,
                                         initial_size=(224, 224),
                                         final_size=(224 - 20, 224 - 20),
                                         num_masks=1,
                                         num_channels=3)
    predicted_mask = pred_mask(prediction, 0.5)

    # Post-processing
    image_denoise = grow(predicted_mask, 10)
    image_grow = denoise(image_denoise, 30)

    # Save predicted mask
    out_file = get_outfile(file, OUTPUT_PREDICTED_MASK)
    save_mask(out_file, image_grow, image_meta)
Example #3
0
 def menu_save(self, info):
     file_name = get_outfile(folder_name='.bmcs', file_name='')
     file_ = save_file(file_name=file_name)
     if file_:
         pickle.dump(info.object.root, open(file_, 'wb'), 1)
Example #4
0
 def menu_open(self, info):
     file_name = get_outfile(folder_name='.bmcs', file_name='')
     file_ = open_file(file_name=file_name)
     if file_:
         info.object.root = pickle.load(open(file_, 'rb'))