Skip to content

Commit

Permalink
Merge pull request #38 from trailbehind/pep8
Browse files Browse the repository at this point in the history
PEP8 fixes
  • Loading branch information
zain committed May 14, 2016
2 parents d76f84d + 329ba7c commit bd9665a
Show file tree
Hide file tree
Showing 10 changed files with 781 additions and 781 deletions.
3 changes: 3 additions & 0 deletions .flake8
@@ -0,0 +1,3 @@
[flake8]
max-line-length = 100
exclude=jupyter_notebook_config.py
98 changes: 46 additions & 52 deletions bin/create_training_data.py
Expand Up @@ -3,9 +3,10 @@
import argparse

from src.download_naips import NAIPDownloader
from src.create_training_data import (random_training_data, equalize_data, split_train_test,
from src.create_training_data import (random_training_data, equalize_data, split_train_test,
format_as_onehot_arrays, dump_data_to_disk)


def create_parser():
parser = argparse.ArgumentParser()
parser.add_argument("--tile-size",
Expand All @@ -15,43 +16,50 @@ def create_parser():
parser.add_argument("--tile-overlap",
default=1,
type=int,
help="divide the tile-size by this number for how many pixels to move over when tiling data"
"this is set to 1 by default, so tiles don't overlap"
"setting it to 2 would make tiles overlap by half, and setting it to 3 would make the tiles overlap by 2/3rds")
help="divide the tile-size by this number for how many pixels to move over "
"when tiling data. this is set to 1 by default, so tiles don't "
"overlap. setting it to 2 would make tiles overlap by half, and "
"setting it to 3 would make the tiles overlap by 2/3rds")
parser.add_argument("--pixels-to-fatten-roads",
default=3,
type=int,
help="the number of pixels to fatten a road centerline (e.g. the default 3 makes roads 7px wide)")
help="the number of pixels to fatten a road centerline (e.g. the default 3 "
"makes roads 7px wide)")
parser.add_argument("--percent-for-training-data",
default=.90,
type=float,
help="how much data to allocate for training, the remainder is left for test")
help="how much data to allocate for training. the remainder is left for "
"test")
parser.add_argument("--band-list",
default=[0, 0, 0, 1],
nargs=4,
type=int,
help="specify which bands to activate (R G B IR)"
"--bands 0 0 0 1 (which activates only the IR band)")
"--bands 0 0 0 1 (which activates only the IR band)")
parser.add_argument("--naip-path",
default=['md', '2013', '1m', 'rgbir', '38077'],
nargs=5,
type=str,
help="values to create the S3 bucket path for some NAIPs"
"--naip-path md 2013 1m rgbir 38077 (defaults to some Maryland data)")
"--naip-path md 2013 1m rgbir 38077 (defaults to some Maryland data)")
parser.add_argument("--randomize-naips",
default=False,
action='store_false',
help="turn on this option if you don't want to get NAIPs in order from the bucket path")
help="turn on this option if you don't want to get NAIPs in order from the "
"bucket path")
parser.add_argument("--number-of-naips",
default=5,
type=int,
help="set this to a value between 1 and 14 or so, 10 segfaults on a VirtualBox with 12GB, but runs on a Linux machine with 32GB")
parser.add_argument("--label-data-files",
default=['http://download.geofabrik.de/north-america/us/maryland-latest.osm.pbf',
'http://download.geofabrik.de/north-america/us/district-of-columbia-latest.osm.pbf'],
type=str,
help="PBF files to extract road/feature label info from"
)
help="set this to a value between 1 and 14 or so, 10 segfaults on a "
"VirtualBox with 12GB, but runs on a Linux machine with 32GB")
parser.add_argument(
"--label-data-files",
default=[
'http://download.geofabrik.de/north-america/us/maryland-latest.osm.pbf',
'http://download.geofabrik.de/north-america/us/district-of-columbia-latest.osm.pbf'
],
type=str,
help="PBF files to extract road/feature label info from")
parser.add_argument("--extract-type",
default='highway',
choices=['highway', 'tennis', 'footway', 'cycleway'],
Expand All @@ -66,45 +74,31 @@ def main():
parser = create_parser()
args = parser.parse_args()
NAIP_STATE, NAIP_YEAR, NAIP_RESOLUTION, NAIP_SPECTRUM, NAIP_GRID = args.naip_path
raster_data_paths = NAIPDownloader(args.number_of_naips,
args.randomize_naips,
NAIP_STATE,

raster_data_paths = NAIPDownloader(args.number_of_naips,
args.randomize_naips,
NAIP_STATE,
NAIP_YEAR,
NAIP_RESOLUTION,
NAIP_SPECTRUM,
NAIP_GRID,
).download_naips()

road_labels, naip_tiles, waymap = random_training_data(raster_data_paths,
args.extract_type,
args.band_list,
args.tile_size,
args.pixels_to_fatten_roads,
args.label_data_files,
args.tile_overlap)

equal_count_way_list, equal_count_tile_list = equalize_data(road_labels,
naip_tiles,
NAIP_RESOLUTION,
NAIP_SPECTRUM,
NAIP_GRID, ).download_naips()

road_labels, naip_tiles, waymap = random_training_data(
raster_data_paths, args.extract_type, args.band_list, args.tile_size,
args.pixels_to_fatten_roads, args.label_data_files, args.tile_overlap)

equal_count_way_list, equal_count_tile_list = equalize_data(road_labels, naip_tiles,
args.save_clippings)

test_labels, training_labels, test_images, training_images = split_train_test(equal_count_tile_list,
equal_count_way_list,
args.percent_for_training_data)

onehot_training_labels, onehot_test_labels = format_as_onehot_arrays(waymap.extracter.types,
training_labels,
test_labels)

dump_data_to_disk(raster_data_paths,
training_images,
training_labels,
test_images,
test_labels,
waymap.extracter.types,
onehot_training_labels,
onehot_test_labels)

test_labels, training_labels, test_images, training_images = split_train_test(
equal_count_tile_list, equal_count_way_list, args.percent_for_training_data)

onehot_training_labels, onehot_test_labels = format_as_onehot_arrays(
waymap.extracter.types, training_labels, test_labels)

dump_data_to_disk(raster_data_paths, training_images, training_labels, test_images, test_labels,
waymap.extracter.types, onehot_training_labels, onehot_test_labels)


if __name__ == "__main__":
main()
20 changes: 10 additions & 10 deletions bin/run_analysis.py
Expand Up @@ -6,6 +6,7 @@
from src.create_training_data import load_data_from_disk
from src.render_results import render_results_for_analysis


def create_parser():
parser = argparse.ArgumentParser()
parser.add_argument("--tile-size",
Expand Down Expand Up @@ -35,17 +36,16 @@ def create_parser():
def main():
parser = create_parser()
args = parser.parse_args()

raster_data_paths, training_images, training_labels, test_images, test_labels, label_types, onehot_training_labels, onehot_test_labels = load_data_from_disk()
predictions = analyze(onehot_training_labels, onehot_test_labels, test_labels, training_labels, test_images, training_images, label_types,
args.neural_net, args.band_list, args.tile_size, args.number_of_epochs)

raster_data_paths, training_images, training_labels, test_images, test_labels, label_types, \
onehot_training_labels, onehot_test_labels = load_data_from_disk()
predictions = analyze(onehot_training_labels, onehot_test_labels, test_labels, training_labels,
test_images, training_images, label_types, args.neural_net,
args.band_list, args.tile_size, args.number_of_epochs)
if args.render_results:
render_results_for_analysis(raster_data_paths,
training_labels,
test_labels,
predictions,
args.band_list,
args.tile_size)
render_results_for_analysis(raster_data_paths, training_labels, test_labels, predictions,
args.band_list, args.tile_size)


if __name__ == "__main__":
main()

0 comments on commit bd9665a

Please sign in to comment.