# read .czi file path from csv reference table
ref_df = pd.read_csv(ref_csv)
czi_path = ref_df['files'].iloc[array_no]
bg_czi_path = ref_df['controls'].iloc[array_no]
print('czi path: ' + czi_path)
print('control czi path: ' + bg_czi_path)
# load .czi file into MultiFinder instance
finder = find_cells.MultiFinder(
    czi_path,
    bg_filename=bg_czi_path,
    log_path=output_dir + '/log',
    oof_svm=
    '/n/denic_lab/Users/nweir/python_packages/csth-imaging/trained_svm.pkl')
print('MultiFinder created.')
# initialize a CellSplitter from finder
splitter = segment_cells.CellSplitter(finder)
print('CellSplitter instance created.')
splitter.segment_nuclei(verbose=True)  # segment nuclei
print('Nuclei segmented.')
splitter.segment_cells(488, verbose=True)  # segment cells using the 488 wl
print('Cells segmented.')
# initialize a Foci instance from splitter
foci_obj = foci.Foci(splitter, verbose=True)
print('Foci instance created.')
foci_obj.segment(verbose=True,
                 thresholds={
                     488: (15000, 12000),
                     561: (15000, 12000)
                 })
print('Foci segmented.')
print('Measuring overlap...')
Exemplo n.º 2
0
# read .czi file path from csv reference table
ref_df = pd.read_csv(ref_csv)
czi_path = ref_df['files'].iloc[array_no]
print('czi path: ' + czi_path)
# load .czi file into MultiFinder instance
finder = find_cells.MultiFinder(czi_path)
print('MultiFinder created.')
# load bg file from multi-image .czi and add to finder
bg_tif_im = io.imread('/n/denic_lab/Lab/TH_Imaging/WIPI_empty_control.tif')
bg_tif_im = np.moveaxis(bg_tif_im, -1, 0)  # move C axis to 1st position
bg_tif_im = np.expand_dims(bg_tif_im, axis=0)
finder.bg_im = bg_tif_im
finder.bg_channels = [488, 561, 405]
print('background image added to MultiFinder.')
# initialize a CellSplitter from finder
splitter = segment_cells.CellSplitter(finder, threshold=800)
print('CellSplitter instance created.')
splitter.segment_nuclei(verbose=True)  # segment nuclei
print('Nuclei segmented.')
splitter.segment_cells(488, verbose=True)  # segment cells using the 488 wl
print('Cells segmented.')
# initialize a Foci instance from splitter
foci_obj = foci.Foci(splitter, verbose=True)
print('Foci instance created.')
foci_obj.segment(verbose=True)  # segment foci using PexSegmenter
print('Foci segmented.')
foci_obj.count_foci(verbose=True)  # count foci
print('Foci counted.')
print('n foci:')
print(foci_obj.foci_cts['488'])
print(foci_obj.foci_cts['561'])
ref_df = pd.read_csv(ref_csv)
czi_path = ref_df['files'].iloc[array_no]
bg_czi_path = ref_df['controls'].iloc[array_no]
print('czi path: ' + czi_path)
print('control czi path: ' + bg_czi_path)
# load .czi file into MultiFinder instance
finder = find_cells.MultiFinder(
    czi_path,
    bg_filename=bg_czi_path,
    log_path=output_dir + '/log',
    oof_svm=
    '/n/denic_lab/Users/nweir/python_packages/csth-imaging/trained_633_svm.pkl',
    foc_channel=633)
print('MultiFinder created.')
# initialize a CellSplitter from finder
splitter = segment_cells.CellSplitter(finder, cellfinder_mode='threshold')
print('CellSplitter instance created.')
splitter.segment_nuclei(verbose=True)  # segment nuclei
print('Nuclei segmented.')
splitter.segment_cells(488, verbose=True)  # segment cells using the 488 wl
print('Cells segmented.')
# initialize a Foci instance from splitter
foci_obj = foci.Foci(splitter, verbose=True)
print('Foci instance created.')
foci_obj.segment(verbose=True,
                 seg_channels=(488, 633),
                 thresholds={
                     488: (14000, 10000),
                     633: (5333, 4000)
                 },
                 min_cutoff={
Exemplo n.º 4
0
print(args)
ref_csv = args.ref_csv
array_no = int(args.array_no)
output_dir = args.output_dir
# read .czi file path from csv reference table
ref_df = pd.read_csv(ref_csv)
im_path = ref_df['files'].iloc[array_no]
bg_path = ref_df['controls'].iloc[array_no]
print('im path: ' + im_path)
print('control path: ' + bg_path)
# load .czi file into MultiFinder instance
finder = find_cells.MultiFinder(
    im_path, bg_filename=bg_path, log_path=output_dir + '/log', foc_channel=640)
print('MultiFinder created.')
# initialize a CellSplitter from finder
splitter = segment_cells.CellSplitter(finder, lo_p=True, threshold=300)
print('CellSplitter instance created.')
splitter.segment_nuclei(verbose=True)  # segment nuclei
print('Nuclei segmented.')
splitter.segment_cells(488, verbose=True)  # segment cells using the 488 wl
print('Cells segmented.')
# initialize a Foci instance from splitter
foci_obj = foci.Foci(splitter, verbose=True)
print('Foci instance created.')
foci_obj.segment(seg_channels=(640,), min_cutoff={640: 5}, rm_nuclear=False,
                 thresholds={640: (4000, 2000)})
print('Foci segmented.')
cell_im = foci_obj.segmented_cells[0]
all_foci_mask = foci_obj.foci[640][0] > 0
cell_golgi_vals = pd.DataFrame(index=np.unique(cell_im),
                               columns=['intensity_mean', 'volume'])