コード例 #1
0
def generate_training_data_vol(jobs, case):
    print("Generating Training Data (Volume)...")
    
    images_fn, labels_fn, regint_fn = get_filenames(path, im_name, lb_name, ro_name) 
    kernels = generate_kernels()
    
    for i in range(len(images_fn)):
        if i == case:
            create_volume_info(images_fn, labels_fn, regint_fn, kernels, i, jobs)
            break
コード例 #2
0
def generate_training_data_vol(jobs, case):
    print("Generating Training Data (Volume)...")

    images_fn, labels_fn, regint_fn = get_filenames(path, im_name, lb_name,
                                                    ro_name)
    kernels = generate_kernels()

    for i in range(len(images_fn)):
        if i == case:
            create_volume_info(images_fn, labels_fn, regint_fn, kernels, i,
                               jobs)
            break
コード例 #3
0
def generate_training_data(jobs):
    print("Generating Training Data...")
    slice_infos = []
    
    images_fn, labels_fn, regint_fn = get_filenames(path, im_name, lb_name, ro_name) 
    kernels = generate_kernels()
        
    slice_infos = Parallel(n_jobs=jobs)(delayed(create_sliceinfo_w)(images_fn, 
                           labels_fn, regint_fn, kernels, i) for i in range(len(images_fn)))

    with open(pickle, 'wb') as f:
        dill.dump(slice_infos, f)
コード例 #4
0
def generate_training_data(jobs):
    print("Generating Training Data...")
    slice_infos = []
    
    images_fn, labels_fn, regint_fn = get_filenames(path, im_name, lb_name, ro_name) 
    kernels = generate_kernels()
        
    slice_infos = Parallel(n_jobs=jobs)(delayed(create_sliceinfo_w)(images_fn, 
                           labels_fn, regint_fn, kernels, i) for i in range(len(images_fn)))

    with open(pickle, 'wb') as f:
        dill.dump(slice_infos, f)
コード例 #5
0
def bigtest():
    # really long test to generate SliceInfos at all radiuses

    images_fn, labels_fn = get_filenames(path, im_name, lb_name)

    # go through all candidate psizes
    for p in psizes:
        global psize
        psize = p
        t0 = time()
        slice_infos = create_sliceinfos_w(images_fn, labels_fn)
        dt = time() - t0
        print("Finished in %.2f seconds." % dt)

        # save the slice info
        with open("slice_infos_" + str(psize) + ".pkl", 'wb') as f:
            dill.dump(slice_infos, f)
コード例 #6
0
def run():
    if generate:
        t0 = time()
        # get lists of files to process
        images_fn, labels_fn = get_filenames(path, im_name, lb_name)

        # generate sliceinfos for all those images
        if generate == 1:
            slice_infos = create_sliceinfos(images_fn, labels_fn)
        elif generate == 2:
            slice_infos = create_sliceinfos_w(images_fn, labels_fn)
            print(slice_infos[0].vals_m[:30])

        dt = time() - t0
        print("Finished in %.2f seconds." % dt)

        # save the slice info
        with open(pickle, 'wb') as f:
            dill.dump(slice_infos, f)

    else:
        with open(pickle, 'rb') as f:
            slice_infos = dill.load(f)

    total_successes = 0
    total_trials = 0

    if classify == 1:  # Go through each slice and classify PCPs
        # PCP = principal component patches

        t0 = time()

        if len(sys.argv) >= 2:
            res = Parallel(n_jobs=int(sys.argv[1]))(
                delayed(test_rf_feats)(slice_infos, i)
                for i in range(len(slice_infos)))
            for successes, trials in res:
                total_successes += successes
                total_trials += trials

        else:
            for i in range(len(slice_infos)):
                successes, trials = test_rf_feats(slice_infos, i)
                total_successes += successes
                total_trials += trials

        print("Rate: {}/{} = {:.2f}".format(
            total_successes, total_trials,
            float(total_successes) / float(total_trials) * 100))

        dt = time() - t0
        print("Took %.2f seconds." % dt)

    elif classify == 2:  # check classification of all patches for one slice
        test_rf_feats_fullspec(slice_infos, fullspec_i)
        pass

    elif classify == 3:  # fully reconstruct for one slice
        rf_reconstruct(slice_infos, fullspec_i)

    elif classify == 4:  # show the reconstruct for one slice
        with open(recons, 'rb') as f:
            recons_im = dill.load(f)

        real_lb = slice_infos[fullspec_i].slice_lb

        #        for threshval in range(0, 101):
        #            threshval = threshval / 100.0
        #            recons_th = threshold(recons_im, threshval, True)
        #            print("%.2f" % threshval, "%.2f" % compare_im(recons_th, real_lb))

        recons_th = threshold(recons_im, 0.45, True)
        compare_im(recons_th, real_lb, True)