def add_network_tasks_to_queue(chunks, tasks): """Adds network tasks to queue.""" network_tasks = [] network_client = PhotoScan.NetworkClient() network_client.connect(SERVER_IP) for task_parameters in tasks: new_network_task = PhotoScan.NetworkTask() for chunk in chunks: new_network_task.frames.append((chunk.key, 0)) new_network_task.name = task_parameters['name'] for key in task_parameters: if key != 'name': new_network_task.params[key] = task_parameters[key] network_tasks.append(new_network_task) network_save = PhotoScan.app.document.path.replace(SHARED_ROOT, '') batch_id = network_client.createBatch(network_save, network_tasks) network_client.resumeBatch(batch_id)
def runNetwork(project_path, argstring, tname='RunScript', PSscript='scripts/reef3D/PyToolbox/PSmodel.py'): '''' Run a task over the network ''' client = PhotoScan.NetworkClient() task1 = PhotoScan.NetworkTask() task1.name = tname task1.params['path'] = PSscript #path to the script to be executed task1.params[ 'args'] = argstring #string of the arguments with space as separator client.connect('agisoft-qmgr.aims.gov.au') #server ip batch_id = client.createBatch(proj_path, [task1]) client.resumeBatch(batch_id) print("Job started...")
def runNetwork(proj_path, argstring, tname='RunScript', PSscript='scripts/reef3D/PyToolbox/PSmodel.py'): '''' Run a task over the network ''' client = PhotoScan.NetworkClient() # VIDEO_FILENAME=argstring.split(" ")[2] # VIDEO_FILENAME=VIDEO_FILENAME.strip('"') # doc = PhotoScan.Document(os.path.join(proj_dir,VIDEO_FILENAME + '.psx')) # doc.open("...") task1 = PhotoScan.NetworkTask() task1.name = tname task1.params['path'] = PSscript #path to the script to be executed task1.params[ 'args'] = argstring #string of the arguments with space as separator client.connect('agisoft-qmgr.aims.gov.au') #server ip batch_id = client.createBatch(proj_path, [task1]) client.resumeBatch(batch_id) client.disconnect() print("Job started...")
import PhotoScan as ps import csv # Connect to Network Client client = ps.NetworkClient() client.connect('cisa3-sfm3.ucsd.edu') # Get information of each node nodes = client.nodeList() items = nodes.get('items') item_cnt = len(items) # Find starting and ending times for each node times = dict() for i in range(item_cnt): try: times[i] = items[i].get('time_disconnected') - items[i].get('time_connected') except(TypeError): # In the case that the node has not disconnected yet print('Node ' + str(i) + ' has not disconnected') # Export as csv with open('C:/Users/chei/Documents/mycsvfile.csv','w') as f: w = csv.writer(f) for key, value in times.items(): w.writerow([key, value])
) else: PhotoScan.app.messageBox( "Версия программы " + PH_version + "\nРабота скрипта гарантируется только на версии 1.2.5") #Начальные установки #_________Параметры Сервера Сетевого и папка для работы_____________ ServerIP = '192.168.254.72' # для версии 1.2.5 #ServerIP='192.168.254.81' #Для версии 1.3.4 RootDir = r'V:\Photoscan_Cluster' doc = PhotoScan.app.document #Текущий проект PH_program = PhotoScan.app #сама программа ProjectPath = doc.path #Полный путь до файла проекта chunk = doc.chunk #chunk = PhotoScan.app.document.chunk client = PhotoScan.NetworkClient() MessBox = PhotoScan.app.messageBox #______________________Создаем интерфейс___________________ class ExportOrthoWin(QDialog ): #новый класс как приложение с интерфейсом и кодом def __init__(self, parent): #_____________Пременные уровня класса___________ self.OUT_dir = '' #выходная дирректория self.orthoBounds = [] # ВЫХОДНАЯ ПРОЕКЦИЯ по умолчанию #out_crs='PROJCS["WGS 84 / UTM zone 37N",GEOGCS["WGS 84",DATUM["World Geodetic System 1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9102"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator",AUTHORITY["EPSG","9807"]],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",39],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","32637"]]' self.out_crs = PhotoScan.CoordinateSystem( 'PROJCS["WGS 84 / UTM zone 37N",GEOGCS["WGS 84",DATUM["World Geodetic System 1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9102"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator",AUTHORITY["EPSG","9807"]],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",39],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","32637"]]' )