append=True)

    return paths


if __name__ == '__main__':

    try:

        yamlfile = os.path.dirname(
            os.path.abspath(__file__)) + '/parameters.yml'

        ifp = ImageFileProcessing(yaml=yamlfile,
                                  yamlspec={
                                      'image_path': 'intermedfolder',
                                      'image_file': 'locmaxfile',
                                      'image_names': ('locmaxnames', 1, 3)
                                  },
                                  asdict=True,
                                  keys=('disttransf', 'locmax'))
        params = ifp.get_params()
        thisparams = params['paths_of_partners']
        ifp.addfromfile(params['intermedfolder'] + params['largeobjmfile'],
                        image_names=params['largeobjmnames'],
                        ids=[
                            'largeobjm', 'mergeids_small', 'mergeids_random',
                            'mergeids_all'
                        ])
        ifp.addfromfile(params['intermedfolder'] + params['largeobjfile'],
                        image_names=params['largeobjname'],
                        ids='largeobj')
Beispiel #2
0
        return d - it
    elif type == 'it/d':
        return it / d


if __name__ == "__main__":

    # sys.stdout = open('/media/julian/Daten/neuraldata/isbi_2013/mc_crop_cache/log.txt', "a")

    # Parameters
    tapering_tolerance_rel = 0.5
    tapering_tolerance_abs = 5
    # object = 191

    ifp = ImageFileProcessing(
        "/media/julian/Daten/neuraldata/isbi_2013/mc_crop_cache/",
        "multicut_segmentation.h5", asdict=True, keys=('labels',))

    # for obj in [191]:
    for obj in xrange(1, ifp.amax(ids=('labels',))['labels'] + 1):

        # sys.stdout = open('/media/julian/Daten/neuraldata/isbi_2013/mc_crop_cache/log.txt', "a")

        print '_____________________________________________________________________'
        print 'Object label: ' + str(obj)

        ifp.deepcopy_entry('labels', 'disttransf')

        if True:

            # Start with one object only
Beispiel #3
0

if __name__ == "__main__":

    folder = '/media/julian/Daten/neuraldata/cremi_2016/'
    file = 'cremi.splA.raw_neurons.crop.h5'
    names = ('neuron_ids', )
    keys = ('labels', )

    tolerance_rel = 0.5
    tolerance_abs = 5
    pixel_pitch = (1, 1, 10)

    ifp = ImageFileProcessing(folder,
                              file,
                              asdict=True,
                              image_names=names,
                              keys=keys)

    ifp.startlogger('{}tapering.log'.format(folder), type='w')

    ifp.logging("######################################################")
    ifp.logging('# Starting tapering_violation_detection with:        #')
    ifp.logging("#    tolerance_rel = {0: <31} #".format(tolerance_rel))
    ifp.logging("#    tolerance_abs = {0: <31} #".format(tolerance_abs))
    ifp.logging("#    pixel_pitch = {0: <34}#".format(pixel_pitch))
    ifp.logging("######################################################\n")

    tapering_violation_detection(ifp,
                                 tolerance_rel=tolerance_rel,
                                 tolerance_abs=tolerance_abs,
def find_large_objects():

    anisotropy = np.array([10, 1, 1])

    folder = '/media/julian/Daten/neuraldata/cremi_2016/'
    file = 'cremi.splA.raw_neurons.crop.crop_10-200-200_110-712-712.disttransf.h5'
    names = ('labels', 'disttransf')
    keys = ('labels', 'disttransf')

    ifp = ImageFileProcessing(
        folder,
        file, asdict=True,
        image_names=names,
        keys=keys)

    ifp.startlogger(filename=None, type='a')

    ifp.addtodict([], 'largeobjects')

    c = 0
    for lblo in ifp.label_bounds_iterator('labels', 'curlabel', ids='disttransf', targetids='curdisttransf',
                                          maskvalue=0, value=0):

        ifp.logging('------------\nCurrent label {} in iteration {}', lblo['label'], c)
        ifp.logging('Bounding box = {}', lblo['bounds'])

        local_maxima_found = find_local_maxima(ifp, anisotropy)

        ifp.logging('Local maxima found: {}', local_maxima_found)

        if local_maxima_found:

            ifp.get_image('largeobjects').append(lblo['label'])

            # if ifp.amax('locmax') != 0:
            #
            #     ifp.write(filename='{0}input_{1}.h5'.format(resultfolder, lblo['label']), ids=('curdisttransf', 'curlabel', 'smoothed'))
            #     ifp.write(filename='{0}paths_over_dist_{1}.h5'.format(resultfolder, lblo['label']), ids=('paths_over_dist',))
            #
            # else:
            #
            #     ifp.logging('No maxima found!')

        else:

            ifp.logging('Maxima detection not successful!')

        c += 1
        # if c == 10:
        #     break

    ifp.write(filename='largeobjects.h5', ids=('largeobjects',))

    ifp.logging('')
    ifp.stoplogger()
def remove_small_objects():

    folder = '/media/julian/Daten/neuraldata/cremi_2016/'
    file = 'cremi.splA.raw_neurons.crop.crop_10-200-200_110-712-712.disttransf.h5'
    names = ('labels',)
    keys = ('labels',)

    ifp = ImageFileProcessing(
        folder,
        file, asdict=True,
        image_names=names,
        keys=keys)

    ifp.startlogger(filename=None)

    # Find all relevant labels
    ifp.addfromfile('{}largeobjects.h5'.format(folder), image_ids=(0,))

    for lbl in ifp.label_image_iterator(
            'labels', 'largeobjects', accumulate=True, labellist=ifp.get_image('largeobjects')):
        ifp.logging('Label {} done!', lbl)

    ifp.getlabel(0, ids='largeobjects', targetids='background')

    ifp.write(filename='largeobjectimage.h5')

    ifp.logging('')
    ifp.stoplogger()
Beispiel #6
0
import random
import vigra
import numpy as np
import os
import inspect

__author__ = 'jhennies'

if __name__ == '__main__':

    yamlfile = os.path.dirname(os.path.abspath(__file__)) + '/parameters.yml'

    ifp = ImageFileProcessing(yaml=yamlfile,
                              yamlspec={
                                  'image_path': 'intermedfolder',
                                  'image_file': 'largeobjfile',
                                  'image_names': 'largeobjname'
                              },
                              asdict=True,
                              keys=('largeobj', ))
    params = ifp.get_params()
    thisparams = params['localmax_on_disttransf']
    ifp.addfromfile(params['intermedfolder'] + params['largeobjmfile'],
                    image_names=params['largeobjmnames'][0],
                    ids='largeobjm')

    ifp.startlogger(filename=ifp.get_params()['intermedfolder'] +
                    'locmax_on_disttransf.log',
                    type='a')

    # ifp.code2log(__file__)
    ifp.code2log(inspect.stack()[0][1])
from image_processing import ImageFileProcessing

ifp = ImageFileProcessing(
    image_path='/media/julian/Daten/neuraldata/cremi_2016/',
    image_file='cremi.splA.raw_neurons.crop.crop_10-200-200_110-712-712.largeobjects.h5'
)

ifp.crop((16, 320, 180), (19, 350, 220), ids='largeobjects', targetids='crop')

ifp.filter_values(14994, type='eq', setto=0, ids='crop')

ifp.get_image('largeobjects')[16:19, 320:350, 180:220] = ifp.get_image('crop')

ifp.write(filename='largeobj_test.h5', ids=('background', 'labels', 'largeobjects'))
    ifp.anytask(vigra.filters.discDilation, 2, ids='pathsim')
    ifp.logging('ifp.shape = {}', ifp.shape(ids=('pathsim', 'curlabelpair', 'curdisttransf')))
    ifp.set_data_dict({'paths_over_dist': np.array([ifp.get_image('pathsim'), ifp.get_image('curlabelpair'), ifp.get_image('curdisttransf')])}, append=True)

    return paths


if __name__ == '__main__':

    try:

        yamlfile = os.path.dirname(os.path.abspath(__file__)) + '/parameters.yml'

        ifp = ImageFileProcessing(
            yaml=yamlfile,
            yamlspec={'image_path': 'intermedfolder', 'image_file': 'locmaxfile', 'image_names': ('locmaxnames', 1, 3)},
            asdict=True,
            keys=('disttransf', 'locmax')
        )
        params = ifp.get_params()
        thisparams = params['paths_of_partners']
        ifp.addfromfile(params['intermedfolder']+params['largeobjmfile'], image_names=params['largeobjmnames'],
                        ids=['largeobjm', 'mergeids_small', 'mergeids_random', 'mergeids_all'])
        ifp.addfromfile(params['intermedfolder']+params['largeobjfile'], image_names=params['largeobjname'], ids='largeobj')

        ifp.startlogger(filename=params['intermedfolder'] + 'paths_of_partners.log', type='a')

        # ifp.code2log(__file__)
        ifp.code2log(inspect.stack()[0][1])
        ifp.logging('')

        ifp.logging('yamlfile = {}', yamlfile)
    # ifp = ImageFileProcessing.empty()


    crop = True
    anisotropy = np.array([10, 1, 1])

    folder = '/media/julian/Daten/neuraldata/cremi_2016/'
    file = 'cremi.splA.raw_neurons.crop.crop_10-200-200_110-712-712.disttransf.h5'
    names = ('labels','disttransf')
    keys = ('labels','disttransf')
    resultfolder = 'develop/160927_determine_shortest_paths/160929_pthsovrdist_pow10/'
    if True:

        ifp = ImageFileProcessing(
            folder,
            file, asdict=True,
            image_names=names,
            keys=keys)

        ifp.startlogger(filename='/media/julian/Daten/neuraldata/cremi_2016/develop/160927_determine_shortest_paths/160929_pthsovrdist_pow10/160929.log', type='a')

        # # Cropping
        # if crop:
        #     ifp.crop([10, 200, 200], [110, 712, 712])

            # ifp.write()

        # ifp.logging('ifp.get_image = {}', ifp.get_image('labels')[0, 0, 0])
        # ifp.logging('ifp.amax = {}\n', ifp.amax('labels'))

        ifp.logging('keys() = {}', ifp.get_data().keys())
    # ifp = ImageFileProcessing.empty()

    crop = True
    anisotropy = np.array([10, 1, 1])

    folder = '/media/julian/Daten/neuraldata/cremi_2016/'
    file = 'cremi.splA.raw_neurons.crop.crop_10-200-200_110-712-712.disttransf.h5'
    names = ('labels', 'disttransf')
    keys = ('labels', 'disttransf')
    resultfolder = 'develop/160927_determine_shortest_paths/160929_pthsovrdist_pow10/'
    if True:

        ifp = ImageFileProcessing(folder,
                                  file,
                                  asdict=True,
                                  image_names=names,
                                  keys=keys)

        ifp.startlogger(
            filename=
            '/media/julian/Daten/neuraldata/cremi_2016/develop/160927_determine_shortest_paths/160929_pthsovrdist_pow10/160929.log',
            type='a')

        # # Cropping
        # if crop:
        #     ifp.crop([10, 200, 200], [110, 712, 712])

        # ifp.write()

        # ifp.logging('ifp.get_image = {}', ifp.get_image('labels')[0, 0, 0])
Beispiel #11
0
    elif type == 'it/d':
        return it / d


if __name__ == "__main__":

    # sys.stdout = open('/media/julian/Daten/neuraldata/isbi_2013/mc_crop_cache/log.txt', "a")

    # Parameters
    tapering_tolerance_rel = 0.5
    tapering_tolerance_abs = 5
    # object = 191

    ifp = ImageFileProcessing(
        "/media/julian/Daten/neuraldata/isbi_2013/mc_crop_cache/",
        "multicut_segmentation.h5",
        asdict=True,
        keys=('labels', ))

    # for obj in [191]:
    for obj in xrange(1, ifp.amax(ids=('labels', ))['labels'] + 1):

        # sys.stdout = open('/media/julian/Daten/neuraldata/isbi_2013/mc_crop_cache/log.txt', "a")

        print '_____________________________________________________________________'
        print 'Object label: ' + str(obj)

        ifp.deepcopy_entry('labels', 'disttransf')

        if True:
#
#     return image

if __name__ == '__main__':

    crop = True
    anisotropy = np.array([10, 1, 1])

    folder = '/media/julian/Daten/neuraldata/cremi_2016/'
    file = 'cremi.splA.raw_neurons.crop.h5'
    names = ('neuron_ids', )
    keys = ('labels', )

    ifp = ImageFileProcessing(folder,
                              file,
                              asdict=True,
                              image_names=names,
                              keys=keys)

    ifp.startlogger(
        filename='/media/julian/Daten/neuraldata/cremi_2016/disttransf.log',
        type='a')

    ifp.logging('keys = {}', ifp.get_data().keys())

    if crop:
        ifp.crop([10, 200, 200], [110, 712, 712])

    ifp_boundary_distance_transform(ifp,
                                    'labels',
                                    'disttransf',
def remove_small_objects():

    folder = '/media/julian/Daten/neuraldata/cremi_2016/'
    file = 'cremi.splA.raw_neurons.crop.crop_10-200-200_110-712-712.disttransf.h5'
    names = ('labels', )
    keys = ('labels', )

    ifp = ImageFileProcessing(folder,
                              file,
                              asdict=True,
                              image_names=names,
                              keys=keys)

    ifp.startlogger(filename=None)

    # Find all relevant labels
    ifp.addfromfile('{}largeobjects.h5'.format(folder), image_ids=(0, ))

    for lbl in ifp.label_image_iterator(
            'labels',
            'largeobjects',
            accumulate=True,
            labellist=ifp.get_image('largeobjects')):
        ifp.logging('Label {} done!', lbl)

    ifp.getlabel(0, ids='largeobjects', targetids='background')

    ifp.write(filename='largeobjectimage.h5')

    ifp.logging('')
    ifp.stoplogger()
def find_large_objects():

    anisotropy = np.array([10, 1, 1])

    folder = '/media/julian/Daten/neuraldata/cremi_2016/'
    file = 'cremi.splA.raw_neurons.crop.crop_10-200-200_110-712-712.disttransf.h5'
    names = ('labels', 'disttransf')
    keys = ('labels', 'disttransf')

    ifp = ImageFileProcessing(folder,
                              file,
                              asdict=True,
                              image_names=names,
                              keys=keys)

    ifp.startlogger(filename=None, type='a')

    ifp.addtodict([], 'largeobjects')

    c = 0
    for lblo in ifp.label_bounds_iterator('labels',
                                          'curlabel',
                                          ids='disttransf',
                                          targetids='curdisttransf',
                                          maskvalue=0,
                                          value=0):

        ifp.logging('------------\nCurrent label {} in iteration {}',
                    lblo['label'], c)
        ifp.logging('Bounding box = {}', lblo['bounds'])

        local_maxima_found = find_local_maxima(ifp, anisotropy)

        ifp.logging('Local maxima found: {}', local_maxima_found)

        if local_maxima_found:

            ifp.get_image('largeobjects').append(lblo['label'])

            # if ifp.amax('locmax') != 0:
            #
            #     ifp.write(filename='{0}input_{1}.h5'.format(resultfolder, lblo['label']), ids=('curdisttransf', 'curlabel', 'smoothed'))
            #     ifp.write(filename='{0}paths_over_dist_{1}.h5'.format(resultfolder, lblo['label']), ids=('paths_over_dist',))
            #
            # else:
            #
            #     ifp.logging('No maxima found!')

        else:

            ifp.logging('Maxima detection not successful!')

        c += 1
        # if c == 10:
        #     break

    ifp.write(filename='largeobjects.h5', ids=('largeobjects', ))

    ifp.logging('')
    ifp.stoplogger()
#     return image


if __name__ == '__main__':

    crop = True
    anisotropy = np.array([10, 1, 1])

    folder = '/media/julian/Daten/neuraldata/cremi_2016/'
    file = 'cremi.splA.raw_neurons.crop.h5'
    names = ('neuron_ids',)
    keys = ('labels',)

    ifp = ImageFileProcessing(
        folder,
        file, asdict=True,
        image_names=names,
        keys=keys)

    ifp.startlogger(filename='/media/julian/Daten/neuraldata/cremi_2016/disttransf.log', type='a')

    ifp.logging('keys = {}', ifp.get_data().keys())

    if crop:
        ifp.crop([10, 200, 200], [110, 712, 712])

    ifp_boundary_distance_transform(ifp, 'labels', 'disttransf', pixel_pitch=anisotropy)


    ifp.logging('ifp.shape() = {}', ifp.shape())
Beispiel #16
0

if __name__ == "__main__":

    folder = '/media/julian/Daten/neuraldata/cremi_2016/'
    file = 'cremi.splA.raw_neurons.crop.h5'
    names = ('neuron_ids',)
    keys = ('labels',)

    tolerance_rel = 0.5
    tolerance_abs = 5
    pixel_pitch = (1, 1, 10)

    ifp = ImageFileProcessing(
        folder,
        file, asdict=True,
        image_names=names,
        keys=keys)

    ifp.startlogger('{}tapering.log'.format(folder), type='w')

    ifp.logging("######################################################")
    ifp.logging('# Starting tapering_violation_detection with:        #')
    ifp.logging("#    tolerance_rel = {0: <31} #".format(tolerance_rel))
    ifp.logging("#    tolerance_abs = {0: <31} #".format(tolerance_abs))
    ifp.logging("#    pixel_pitch = {0: <34}#".format(pixel_pitch))
    ifp.logging("######################################################\n")

    tapering_violation_detection(ifp,
                                 tolerance_rel=tolerance_rel,
                                 tolerance_abs=tolerance_abs,
                ifp.get_image('curdisttransf')
            ])
        },
        append=True)

    return paths


if __name__ == '__main__':

    yamlfile = os.path.dirname(os.path.abspath(__file__)) + '/parameters.yml'

    ifp = ImageFileProcessing(yaml=yamlfile,
                              yamlspec={
                                  'image_path': 'intermedfolder',
                                  'image_file': 'locmaxfile',
                                  'image_names': ('locmaxnames', 0, 2)
                              },
                              asdict=True,
                              keys=('disttransf', 'locmax'))
    params = ifp.get_params()
    thisparams = params['paths_within_labels']
    ifp.addfromfile(params['intermedfolder'] + params['largeobjfile'],
                    image_names=params['largeobjname'],
                    ids='largeobj')

    ifp.startlogger(filename=params['intermedfolder'] +
                    'paths_within_labels.log',
                    type='a')

    # ifp.code2log(__file__)
    ifp.code2log(inspect.stack()[0][1])
__author__ = 'jhennies'

if __name__ == '__main__':

    numberbysize = 10
    numberbyrandom = 5

    folder = '/media/julian/Daten/neuraldata/cremi_2016/'
    file = 'cremi.splA.raw_neurons.crop.crop_10-200-200_110-712-712.largeobjects.h5'
    names = ('largeobjects',)
    keys = ('labels',)
    targetfolder = 'cremi.splA.raw_neurons.crop.crop_10-200-200_110-712-712_merges/'

    ifp = ImageFileProcessing(
        folder,
        file, asdict=True,
        image_names=names,
        keys=keys)

    ifp.startlogger(filename=None, type='a')

    # Done: Randomly select an edge
    # Done: Find adjacent objects
    # Done: Extract both adjacent objects as an image (needed for subsequent learning)
    # TODO: Merge the objects
    # Done: Select edges by size? Small edges are more relevant for our algorithm

    # # Find all relevant labels
    # ifp.addfromfile('{}largeobjects.h5'.format(folder), image_ids=(0,))

    ifp.logging('keys = {}', ifp.get_data().keys())
import random
import vigra
import numpy as np
import os
import inspect

__author__ = 'jhennies'


if __name__ == '__main__':

    yamlfile = os.path.dirname(os.path.abspath(__file__)) + '/parameters.yml'

    ifp = ImageFileProcessing(
        yaml=yamlfile,
        yamlspec={'image_path': 'intermedfolder', 'image_file': 'largeobjfile', 'image_names': 'largeobjname'},
        asdict=True,
        keys=('largeobj',)
    )
    params = ifp.get_params()
    thisparams = params['localmax_on_disttransf']
    ifp.addfromfile(params['intermedfolder']+params['largeobjmfile'], image_names=params['largeobjmnames'][0], ids='largeobjm')

    ifp.startlogger(filename=ifp.get_params()['intermedfolder'] + 'locmax_on_disttransf.log', type='a')

    # ifp.code2log(__file__)
    ifp.code2log(inspect.stack()[0][1])
    ifp.logging('')

    ifp.logging('yamlfile = {}', yamlfile)
    ifp.logging('ifp.get_data().keys() = {}', ifp.get_data().keys())
    ifp.logging('ifp.shape() = {}', ifp.shape())
    ifp.astype(np.uint8, ('pathsim', 'curlocmax'))
    # ifp.anytask(vigra.filters.multiBinaryDilation, ('paths', 'locmax'), 3)
    ifp.swapaxes(0, 2, ids=('pathsim', 'curlocmax', 'curdisttransf'))
    ifp.anytask(vigra.filters.discDilation, 2, ids=('pathsim', 'curlocmax'))
    ifp.set_data_dict({'paths_over_dist': np.array([ifp.get_image('pathsim'), ifp.get_image('curlocmax'), ifp.get_image('curdisttransf')])}, append=True)

    return paths


if __name__ == '__main__':

    yamlfile = os.path.dirname(os.path.abspath(__file__)) + '/parameters.yml'

    ifp = ImageFileProcessing(
        yaml=yamlfile,
        yamlspec={'image_path': 'intermedfolder', 'image_file': 'locmaxfile', 'image_names': ('locmaxnames', 0, 2)},
        asdict=True,
        keys=('disttransf', 'locmax')
    )
    params = ifp.get_params()
    thisparams = params['paths_within_labels']
    ifp.addfromfile(params['intermedfolder']+params['largeobjfile'], image_names=params['largeobjname'], ids='largeobj')

    ifp.startlogger(filename=params['intermedfolder'] + 'paths_within_labels.log', type='a')

    # ifp.code2log(__file__)
    ifp.code2log(inspect.stack()[0][1])
    ifp.logging('')

    ifp.logging('yamlfile = {}', yamlfile)
    ifp.logging('ifp.get_data().keys() = {}', ifp.get_data().keys())
    ifp.logging('ifp.shape() = {}', ifp.shape())