if __name__ == '__main__': ### Parse command line arguments tiff_fn, boundaries_fn, out_fn = parse_command_line_args() if not out_fn: cell_label = re.findall(r'\d+', boundaries_fn)[0] fn = 'cell%s.avi' % cell_label out_fn = os.path.join('.', fn) print 'Output movie name unspecified, movie will be saved to %s.' % out_fn ### Load data print 'Loading %s...' % tiff_fn, sys.stdout.flush() frames = tiff_to_ndarray(tiff_fn) all_boundary_pts = np.load(boundaries_fn) print 'done.' sys.stdout.flush() ### compute masks from boundaries frame_sz = frames[0].shape masks = [grid_points_in_poly(frame_sz, pts) for pts in all_boundary_pts] ### compute window size (max mask size + padding) padding = 10 bboxes = [regionprops(mask)[0].bbox for mask in masks] bbox_widths = [(bbox[2] - bbox[0]) for bbox in bboxes] bbox_heights = [(bbox[3] - bbox[1]) for bbox in bboxes] win_size = (max(bbox_widths) + 2 * padding, max(bbox_heights) + 2 * padding)
args = parser.parse_args() return args.tiff_movie, args.out, args.alpha, args.beta, args.spacing if __name__ == '__main__': ### parse command line arguments tiff_fn, np_fn, alpha, beta, spacing = parse_command_line_args() ### load raw movie frames print 'Loading %s...' % tiff_fn, sys.stdout.flush() frames = tiff_to_ndarray(tiff_fn).astype(float) print 'done.' sys.stdout.flush() ### Compute the big mask (contains all cells, same for all frames) print 'Computing global mask...', sys.stdout.flush() mask_frame = frames[0,:,:] mask = create_mask(mask_frame) print 'done.' sys.stdout.flush() ### Segment first frame via ridge detection + watershed print 'Computing initial segmentation...',
if __name__ == '__main__': ### Parse command line arguments tiff_fn, boundaries_fn, out_fn = parse_command_line_args() if not out_fn: cell_label = re.findall(r'\d+', boundaries_fn)[0] fn = 'cell%s.avi' % cell_label out_fn = os.path.join('.', fn) print 'Output movie name unspecified, movie will be saved to %s.' % out_fn ### Load data print 'Loading %s...' % tiff_fn, sys.stdout.flush() frames = tiff_to_ndarray(tiff_fn) all_boundary_pts = np.load(boundaries_fn) print 'done.' sys.stdout.flush() ### compute masks from boundaries frame_sz = frames[0].shape masks = [grid_points_in_poly(frame_sz , pts) for pts in all_boundary_pts] ### compute window size (max mask size + padding) padding = 10 bboxes = [regionprops(mask)[0].bbox for mask in masks] bbox_widths = [(bbox[2]-bbox[0]) for bbox in bboxes] bbox_heights = [(bbox[3]-bbox[1]) for bbox in bboxes]
args = parser.parse_args() return args.tiff_movie, args.out, args.alpha, args.beta, args.spacing if __name__ == '__main__': ### parse command line arguments tiff_fn, np_fn, alpha, beta, spacing = parse_command_line_args() ### load raw movie frames print('Loading %s...' % tiff_fn, end='') sys.stdout.flush() frames = tiff_to_ndarray(tiff_fn).astype(float) print('done.') sys.stdout.flush() ### Compute the big mask (contains all cells, same for all frames) print('Computing global mask...', end='') sys.stdout.flush() mask_frame = frames[0] mask = create_mask(mask_frame) print('done.') sys.stdout.flush() ### Segment first frame via ridge detection + watershed print('Computing initial segmentation...', end='')