kopia lustrzana https://github.com/OpenDroneMap/ODM
commit
554e559a43
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Ładowanie…
Reference in New Issue