Exemplo n.º 1
0
Arquivo: browser.py Projeto: jni/cecog
def load_image_container_from_settings(settings):
    imagecontainer = ImageContainer()
    infos = imagecontainer.iter_check_plates(settings)
    scan_plates = dict((info[0], False) for info in infos)
    import_iter = imagecontainer.iter_import_from_settings(settings, scan_plates)
    for idx, info in enumerate(import_iter):
        pass

    if len(imagecontainer.plates) > 0:
        plate = imagecontainer.plates[0]
        imagecontainer.set_plate(plate)
    return imagecontainer
Exemplo n.º 2
0
def load_image_container_from_settings(settings):
    imagecontainer = ImageContainer()
    infos = imagecontainer.iter_check_plates(settings)
    scan_plates = dict((info[0], False) for info in infos)
    import_iter = imagecontainer.iter_import_from_settings(
        settings, scan_plates)
    for idx, info in enumerate(import_iter):
        pass

    if len(imagecontainer.plates) > 0:
        plate = imagecontainer.plates[0]
        imagecontainer.set_plate(plate)
    return imagecontainer
Exemplo n.º 3
0
            index -= 1
        else:
            parser.error("Only SGE supported at the moment (environment variable '%s')." % ENV_INDEX_SGE)


    # if no position list was specified via the program options get it from the settings file
    if  position_list is None:
        if settings.get(SECTION_NAME_GENERAL, 'constrain_positions'):
            position_list = settings.get(SECTION_NAME_GENERAL, 'positions') or None


    # construct a dummy string containing all plates and positions known to imagecontainer
    if position_list is None:
        positions = []
        for plate_id in imagecontainer.plates:
            imagecontainer.set_plate(plate_id)
            meta_data = imagecontainer.get_meta_data()
            positions += ['%s___%s' % (plate_id, pos) for pos in meta_data.positions]
    else:
        positions = position_list.split(',')


    if index is not None and (index < 0 or index >= len(positions)):
        parser.error("Cluster index %s does not match number of positions %d." % (index, len(positions)))

    # batch size was specified
    if batch_size is not None:
        if index is None:
            parser.error("Batch size requires a cluster index.")
        # select slice of positions according to index and batch size
        positions = positions[(index*batch_size) : ((index+1)*batch_size)]
Exemplo n.º 4
0
            index -= 1
        else:
            parser.error("Only SGE supported at the moment (environment variable '%s')." % ENV_INDEX_SGE)


    # if no position list was specified via the program options get it from the settings file
    if  position_list is None:
        if settings.get(SECTION_NAME_GENERAL, 'constrain_positions'):
            position_list = settings.get(SECTION_NAME_GENERAL, 'positions') or None


    # construct a dummy string containing all plates and positions known to imagecontainer
    if position_list is None:
        positions = []
        for plate_id in imagecontainer.plates:
            imagecontainer.set_plate(plate_id)
            meta_data = imagecontainer.get_meta_data()
            positions += ['%s___%s' % (plate_id, pos) for pos in meta_data.positions]
    else:
        positions = position_list.split(',')


    if index is not None and (index < 0 or index >= len(positions)):
        parser.error("Cluster index %s does not match number of positions %d." % (index, len(positions)))

    # batch size was specified
    if batch_size is not None:
        if index is None:
            parser.error("Batch size requires a cluster index.")
        # select slice of positions according to index and batch size
        positions = positions[(index*batch_size) : ((index+1)*batch_size)]
Exemplo n.º 5
0
    # read the settings data from file
    settings = ConfigSettings()
    settings.read(settingsfile)

    imagecontainer = ImageContainer()
    imagecontainer.import_from_settings(settings)

    if settings('General', 'constrain_positions'):
        positions = settings('General', 'positions').split(POSSEP)
        if not settings('General', 'has_multiple_plates'):
            plate = os.path.split(settings("General", "pathin"))[1]
            positions = ['%s%s%s' % (plate, PLATESEP, p) for p in positions]
    else:
        positions = list()
        for plate in imagecontainer.plates:
            imagecontainer.set_plate(plate)
            meta_data = imagecontainer.get_meta_data()
            positions += \
              ['%s%s%s' % (plate, PLATESEP, pos) for pos in meta_data.positions]

    n_positions = len(positions)

    if index is not None and (index < 0 or index >= len(positions)):
        raise RuntimeError(
            "Cluster index %s does not match number of positions %d."
            %(index, len(positions)))

    # batch size was specified
    if batch_size is not None:
        if index is None:
            raise RuntimeError("Batch size requires a cluster index.")