Example #1
0
def oversegment(oversegmenter, lim=0, infile=None, outfile=None):
    module = importer.get_module('oversegmenters', oversegmenter)
    use_bm = hasattr(module, 'oversegment_bm')
    use_aff = hasattr(module, 'oversegment_aff')
    if use_bm and use_aff:
        raise ImportError("Bad module: '%s'" % module.__name__)

    if use_bm:
        if not infile:
            infile = config.fn_bm
        bm_3d = formats.read_bm(infile)
        if lim:
            bm_3d = bm_3d[:lim]
        labels_3d, n_labels = module.oversegment_bm(bm_3d)

    elif use_aff:
        if not infile:
            infile = config.fn_aff
        aff_3d = formats.read_aff(infile)
        if lim:
            aff_3d = aff_3d[:lim]
            # Need edges going out-of-bounds to be 0, to prevent the exploring
            # of out-of-bounds vertices
        formats.clean_aff(aff_3d)
        labels_3d, n_labels = module.oversegment_aff(aff_3d)

    else:
        raise ImportError("Bad module: '%s'" % module.__name__)

    logging.info("Found %d labels" % n_labels)

    # Write labels to disk
    if not outfile:
        outfile = io.get_filename(config.dn_data, "oversegment-%s" % oversegmenter, "tif")
    formats.save_labels(outfile, labels_3d)
Example #2
0
"""
Wrapper for formats.save_aff_tiff.
"""
from jpyutils.jlogging import logging_setup
import sys
from structs import formats

logging_setup('debug')


in_fn, out_fn = sys.argv[1:3]
if len(sys.argv) > 3:
    dim = int(sys.argv[3])
else:
    # Default to taking min of all affinities
    dim = 3

formats.save_aff_tiff(out_fn, formats.read_aff(in_fn), dim)
Example #3
0
"""
Convert edge affinities file from .aff (snemi3d) to .raw (aleks).
"""
from jpyutils.jlogging import logging_setup
import sys
from structs import formats

logging_setup('debug')


in_fn, out_fn = sys.argv[1:3]
if len(sys.argv) > 3:
    lim = int(sys.argv[3])
else:
    lim = 0


aff_3d = formats.read_aff(in_fn)
if lim:
    aff_3d = aff_3d[:lim]
aff_3d = formats.WEIGHT_DTYPE_FLOAT(aff_3d) / formats.WEIGHT_MAX_UINT
formats.save_aff(out_fn, aff_3d)