Code Duplication    Length = 82-82 lines in 2 locations

notebooks/sensitivity/cloudknot_docker_sensitivity_it_k3ng5_13/sensitivity_it.py 1 location

@@ 50-131 (lines=82) @@
47
    return real_decorator
48
49
50
def sensitivity_it(counter):
51
    
52
    import matplotlib as mpl
53
    mpl.use('Agg')
54
    import matplotlib.pyplot as plt
55
    import diff_classifier.aws as aws
56
    import diff_classifier.utils as ut
57
    import diff_classifier.msd as msd
58
    import diff_classifier.features as ft
59
    import diff_classifier.imagej as ij
60
    import diff_classifier.heatmaps as hm
61
62
    from scipy.spatial import Voronoi
63
    import scipy.stats as stats
64
    from shapely.geometry import Point
65
    from shapely.geometry.polygon import Polygon
66
    import matplotlib.cm as cm
67
    import os
68
    import os.path as op
69
    import numpy as np
70
    import numpy.ma as ma
71
    import pandas as pd
72
    import boto3
73
    import itertools
74
    
75
    #Sweep parameters
76
    #----------------------------------
77
    radius = [4.5, 6.0, 7.0]
78
    do_median_filtering = [True, False]
79
    quality = [1.5, 4.5, 8.5]
80
    linking_max_distance = [6.0, 10.0, 15.0]
81
    gap_closing_max_distance = [6.0, 10.0, 15.0]
82
    max_frame_gap = [1, 2, 5]
83
    track_displacement = [0.0, 10.0, 20.0]
84
85
    sweep = [radius, do_median_filtering, quality, linking_max_distance, gap_closing_max_distance, max_frame_gap,
86
             track_displacement]
87
    all_params = list(itertools.product(*sweep))
88
89
    #Variable prep
90
    #----------------------------------
91
    s3 = boto3.client('s3')
92
93
    folder = '01_18_Experiment'
94
    s_folder = '{}/sensitivity'.format(folder)
95
    local_folder = '.'
96
    prefix = "P1_S1_R_0001_2_2"
97
    name = "{}.tif".format(prefix)
98
    local_im = op.join(local_folder, name)
99
    aws.download_s3('{}/{}/{}.tif'.format(folder, prefix.split('_')[0], prefix), '{}.tif'.format(prefix))
100
101
    outputs = np.zeros((len(all_params), len(all_params[0])+2))
102
103
    #Tracking and calculations
104
    #------------------------------------
105
    params = all_params[counter]
106
    outfile = 'Traj_{}_{}.csv'.format(name.split('.')[0], counter)
107
    msd_file = 'msd_{}_{}.csv'.format(name.split('.')[0], counter)
108
    geo_file = 'geomean_{}_{}.csv'.format(name.split('.')[0], counter)
109
    geoS_file = 'geoSEM_{}_{}.csv'.format(name.split('.')[0], counter)
110
    msd_image = 'msds_{}_{}.png'.format(name.split('.')[0], counter)
111
    iter_name = "{}_{}".format(prefix, counter)
112
113
    ij.track(local_im, outfile, template=None, fiji_bin=None, radius=params[0], threshold=0., 
114
             do_median_filtering=params[1], quality=params[2], x=511, y=511, ylo=1, median_intensity=300.0, snr=0.0, 
115
             linking_max_distance=params[3], gap_closing_max_distance=params[4], max_frame_gap=params[5],
116
             track_displacement=params[6])
117
118
    traj = ut.csv_to_pd(outfile)
119
    msds = msd.all_msds2(traj, frames=651)
120
    msds.to_csv(msd_file)
121
    gmean1, gSEM1 = hm.plot_individual_msds(iter_name, alpha=0.05)
122
    np.savetxt(geo_file, gmean1, delimiter=",")
123
    np.savetxt(geoS_file, gSEM1, delimiter=",")
124
125
    aws.upload_s3(outfile, '{}/{}'.format(s_folder, outfile))
126
    aws.upload_s3(msd_file, '{}/{}'.format(s_folder, msd_file))
127
    aws.upload_s3(geo_file, '{}/{}'.format(s_folder, geo_file))
128
    aws.upload_s3(geoS_file, '{}/{}'.format(s_folder, geoS_file))
129
    aws.upload_s3(msd_image, '{}/{}'.format(s_folder, msd_image))
130
131
    print('Successful parameter calculations for {}'.format(iter_name))
132
133
134
if __name__ == "__main__":

notebooks/sensitivity/cloudknot_docker_sensitivity_it_idmys5cl/sensitivity_it.py 1 location

@@ 50-131 (lines=82) @@
47
    return real_decorator
48
49
50
def sensitivity_it(counter):
51
    
52
    import matplotlib as mpl
53
    mpl.use('Agg')
54
    import matplotlib.pyplot as plt
55
    import diff_classifier.aws as aws
56
    import diff_classifier.utils as ut
57
    import diff_classifier.msd as msd
58
    import diff_classifier.features as ft
59
    import diff_classifier.imagej as ij
60
    import diff_classifier.heatmaps as hm
61
62
    from scipy.spatial import Voronoi
63
    import scipy.stats as stats
64
    from shapely.geometry import Point
65
    from shapely.geometry.polygon import Polygon
66
    import matplotlib.cm as cm
67
    import os
68
    import os.path as op
69
    import numpy as np
70
    import numpy.ma as ma
71
    import pandas as pd
72
    import boto3
73
    import itertools
74
    
75
    #Sweep parameters
76
    #----------------------------------
77
    radius = [4.5, 6.0, 7.0]
78
    do_median_filtering = [True, False]
79
    quality = [1.5, 4.5, 8.5]
80
    linking_max_distance = [6.0, 10.0, 15.0]
81
    gap_closing_max_distance = [6.0, 10.0, 15.0]
82
    max_frame_gap = [1, 2, 5]
83
    track_displacement = [0.0, 10.0, 20.0]
84
85
    sweep = [radius, do_median_filtering, quality, linking_max_distance, gap_closing_max_distance, max_frame_gap,
86
             track_displacement]
87
    all_params = list(itertools.product(*sweep))
88
89
    #Variable prep
90
    #----------------------------------
91
    s3 = boto3.client('s3')
92
93
    folder = '01_18_Experiment'
94
    s_folder = '{}/sensitivity'.format(folder)
95
    local_folder = '.'
96
    prefix = "P1_S1_R_0001_2_2"
97
    name = "{}.tif".format(prefix)
98
    local_im = op.join(local_folder, name)
99
    aws.download_s3('{}/{}/{}.tif'.format(folder, prefix.split('_')[0], prefix), '{}.tif'.format(prefix))
100
101
    outputs = np.zeros((len(all_params), len(all_params[0])+2))
102
103
    #Tracking and calculations
104
    #------------------------------------
105
    params = all_params[counter]
106
    outfile = 'Traj_{}_{}.csv'.format(name.split('.')[0], counter)
107
    msd_file = 'msd_{}_{}.csv'.format(name.split('.')[0], counter)
108
    geo_file = 'geomean_{}_{}.csv'.format(name.split('.')[0], counter)
109
    geoS_file = 'geoSEM_{}_{}.csv'.format(name.split('.')[0], counter)
110
    msd_image = 'msds_{}_{}.png'.format(name.split('.')[0], counter)
111
    iter_name = "{}_{}".format(prefix, counter)
112
113
    ij.track(local_im, outfile, template=None, fiji_bin=None, radius=params[0], threshold=0., 
114
             do_median_filtering=params[1], quality=params[2], x=511, y=511, ylo=1, median_intensity=300.0, snr=0.0, 
115
             linking_max_distance=params[3], gap_closing_max_distance=params[4], max_frame_gap=params[5],
116
             track_displacement=params[6])
117
118
    traj = ut.csv_to_pd(outfile)
119
    msds = msd.all_msds2(traj, frames=651)
120
    msds.to_csv(msd_file)
121
    gmean1, gSEM1 = hm.plot_individual_msds(iter_name, alpha=0.05)
122
    np.savetxt(geo_file, gmean1, delimiter=",")
123
    np.savetxt(geoS_file, gSEM1, delimiter=",")
124
125
    aws.upload_s3(outfile, '{}/{}'.format(s_folder, outfile))
126
    aws.upload_s3(msd_file, '{}/{}'.format(s_folder, msd_file))
127
    aws.upload_s3(geo_file, '{}/{}'.format(s_folder, geo_file))
128
    aws.upload_s3(geoS_file, '{}/{}'.format(s_folder, geoS_file))
129
    aws.upload_s3(msd_image, '{}/{}'.format(s_folder, msd_image))
130
131
    print('Successful parameter calculations for {}'.format(iter_name))
132
133
134
if __name__ == "__main__":