Luecke commited on
Commit
fdb6f4b
·
1 Parent(s): f4ba81a

corrected minor things such that everything works well together. Still two existing problems in output/map

Browse files
detectree2model/predictions/predict.py CHANGED
@@ -25,7 +25,7 @@ def create_tiles(input_path, tile_width, tile_height, tile_buffer):
25
  img_path = input_path
26
 
27
  current_directory = os.getcwd()
28
- tiles_directory = os.path.join(current_directory, "tiles")
29
  if not os.path.exists(tiles_directory):
30
  os.makedirs(tiles_directory)
31
 
@@ -52,7 +52,7 @@ def predict(tile_path, overlap_threshold, confidence_threshold, simplify_value,
52
 
53
  download_file(url=url, local_filename=trained_model)
54
 
55
- cfg = setup_cfg(update_model=trained_model)
56
 
57
  # hash the following line if you have gpu support
58
  cfg.MODEL.DEVICE = "cpu"
@@ -62,7 +62,7 @@ def predict(tile_path, overlap_threshold, confidence_threshold, simplify_value,
62
  crowns = stitch_crowns(tile_path + "predictions_geo/", 1)
63
  clean = clean_crowns(crowns, overlap_threshold, confidence=confidence_threshold)
64
  clean = clean.set_geometry(clean.simplify(simplify_value))
65
- clean.to_file(store_path + "detectree2_delin.geojson")
66
 
67
  def run_detectree2(tif_input_path, store_path, tile_width=20, tile_height=20, tile_buffer=20, overlap_threshold=0.35, confidence_threshold=0.2, simplify_value=0.2):
68
  tile_path = create_tiles(input_path=tif_input_path, tile_width=tile_width, tile_height=tile_height, tile_buffer=tile_buffer)
 
25
  img_path = input_path
26
 
27
  current_directory = os.getcwd()
28
+ tiles_directory = os.path.join(current_directory, "tiles/")
29
  if not os.path.exists(tiles_directory):
30
  os.makedirs(tiles_directory)
31
 
 
52
 
53
  download_file(url=url, local_filename=trained_model)
54
 
55
+ cfg = setup_cfg(update_model=trained_model, out_dir=store_path)
56
 
57
  # hash the following line if you have gpu support
58
  cfg.MODEL.DEVICE = "cpu"
 
62
  crowns = stitch_crowns(tile_path + "predictions_geo/", 1)
63
  clean = clean_crowns(crowns, overlap_threshold, confidence=confidence_threshold)
64
  clean = clean.set_geometry(clean.simplify(simplify_value))
65
+ clean.to_file(store_path + "/detectree2_delin.geojson")
66
 
67
  def run_detectree2(tif_input_path, store_path, tile_width=20, tile_height=20, tile_buffer=20, overlap_threshold=0.35, confidence_threshold=0.2, simplify_value=0.2):
68
  tile_path = create_tiles(input_path=tif_input_path, tile_width=tile_width, tile_height=tile_height, tile_buffer=tile_buffer)
main.py CHANGED
@@ -42,17 +42,19 @@ output_directory: the directory were all in-between and final files are stored
42
  generate_tree_images stores the cutout tree images in a separate folder
43
  """
44
 
45
- tif_input = "/Users/jonathanseele/ETH/Hackathons/EcoHackathon/WeCanopy/test/"
46
- tif_file_name = "TreeCrownVectorDataset_761588_9673769_20_20_32720"
47
 
48
  current_directory = os.getcwd()
 
49
  output_directory = os.path.join(current_directory, "outputs")
50
  if not os.path.exists(output_directory):
51
  os.makedirs(output_directory)
52
 
53
  run_detectree2(tif_input, store_path=output_directory)
54
 
55
- processed_output_df = postprocess(output_directory + '/detectree2_delin.geojson')
 
56
  processed_geojson = output_directory + '/processed_delin.geojson'
57
 
58
  generate_tree_images(processed_geojson, tif_input)
 
42
  generate_tree_images stores the cutout tree images in a separate folder
43
  """
44
 
45
+ tif_file_name = "TreeCrownVectorDataset_761588_9673769_20_20_32720.tif"
46
+ tif_input = "/Users/jonathanseele/ETH/Hackathons/EcoHackathon/WeCanopy/test/" + tif_file_name
47
 
48
  current_directory = os.getcwd()
49
+
50
  output_directory = os.path.join(current_directory, "outputs")
51
  if not os.path.exists(output_directory):
52
  os.makedirs(output_directory)
53
 
54
  run_detectree2(tif_input, store_path=output_directory)
55
 
56
+ processed_output_df = postprocess(output_directory + '/detectree2_delin.geojson', output_directory + '/processed_delin')
57
+
58
  processed_geojson = output_directory + '/processed_delin.geojson'
59
 
60
  generate_tree_images(processed_geojson, tif_input)
output/map.ipynb CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:56fbd10c2e7692702cf98b71215b9bf9b3baba674a4fdc6fa99c224513b7b778
3
- size 3662
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8e257f2bdd28c0df4561a4695a82fc4ee69796d358d0f0d51b3ed407ab3893aa
3
+ size 12819
polygons_processing/postpprocess_detectree2.py CHANGED
@@ -334,7 +334,7 @@ def export_df_as_geojson(df, filename="output"):
334
  def convert_id_to_string(prefix, x):
335
  return prefix + str(x)
336
 
337
- def postprocess(prediction_geojson_path):
338
  with open(prediction_geojson_path,"r",) as file:
339
  prediction_data = json.load(file)
340
 
@@ -351,6 +351,6 @@ def postprocess(prediction_geojson_path):
351
 
352
  df_res = process([df])
353
 
354
- export_df_as_geojson(df=df_res, filename="processed_delin")
355
 
356
  return df_res
 
334
  def convert_id_to_string(prefix, x):
335
  return prefix + str(x)
336
 
337
+ def postprocess(prediction_geojson_path, store_path):
338
  with open(prediction_geojson_path,"r",) as file:
339
  prediction_data = json.load(file)
340
 
 
351
 
352
  df_res = process([df])
353
 
354
+ export_df_as_geojson(df=df_res, filename=store_path)
355
 
356
  return df_res