Merge branch 'smerge' into 060

Former-commit-id: 2ab9579ef3
pull/1161/head
Piero Toffanin 2019-04-23 13:06:15 -04:00
commit 554e559a43
2 zmienionych plików z 58 dodań i 0 usunięć

Wyświetl plik

@ -479,6 +479,39 @@ def config():
version='OpenDroneMap {0}'.format(__version__),
help='Displays version number and exits. ')
parser.add_argument('--submodel-size',
type=int,
default=80,
help='Average number of images per submodel. When '
'splitting a large dataset into smaller '
'submodels, images are grouped into clusters. '
'This value regulates the number of images that '
'each cluster should have on average.')
parser.add_argument('--large',
help='Run large-scale split-merge process',
action='store_true',
default=False)
parser.add_argument('--submodel-overlap',
type=float,
metavar='<positive integer>',
default=150,
help='Radius of the overlap between submodels. '
'After grouping images into clusters, images '
'that are closer than this radius to a cluster '
'are added to the cluster. This is done to ensure '
'that neighboring submodels overlap.')
parser.add_argument('--run-matching',
help='Run matching for each submodel',
action='store_true')
parser.add_argument('--merge-overwrite',
action='store_true',
default=False,
help='Force overwrite of generated files')
args = parser.parse_args()
# check that the project path setting has been set properly

Wyświetl plik

@ -327,10 +327,35 @@ class ODM_Tree(object):
self.odm_orthophoto_tif_log = io.join_paths(self.odm_orthophoto, 'gdal_translate_log.txt')
self.odm_orthophoto_gdaladdo_log = io.join_paths(self.odm_orthophoto, 'gdaladdo_log.txt')
# Split-merge
self.submodels_path = io.join_paths(self.root_path, 'submodels')
self.out_tif = io.join_paths(self.root_path, "merged.tif")
self.addo_log = io.join_paths(self.root_path, "gdal_addo.log")
self.sm_progress = io.join_paths(self.root_path, "sm_progress.txt")
def path(self, *args):
return io.join_paths(self.root_path, *args)
class SplitMerge(object):
""" docstring for SplitMerge"""
def __init__(self, project_name, progress):
self.project_name = project_name
self.progress = 0
def load_progress(self, sm_file):
with open(sm_file) as f:
prog = int(f.readline())
if prog in range(0, 6):
self.update_progress(prog)
def save_progress(self, sm_file):
with open(sm_file, 'w') as f:
f.write(str(self.progress))
def update_progress(self, progress):
if progress in range(0,6):
self.progress = progress
else:
log.ODM_ERROR("Failed to save progress")
class ODM_Stage:
def __init__(self, name, args, **params):
self.name = name