示例#1
0
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)
示例#2
0
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...")
示例#3
0
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...")
示例#4
0
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])
示例#5
0
    )
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"]]'
        )