def process2D(data,xM=None,yM=None): if len(data.shape) > 2: _ ,data = reg.correct_jitter(data) alllabels = seg.watershed_segment(data,xM,yM) ROIs = find_points(alllabels) masks = np.ones((len(ROIs),data.shape[0],data.shape[1])) for i,roi in enumerate(ROIs): masks[i] = create_bitmask(roi,data) return masks,[],data
def process3D(data,xM=None,yM=None): """used to apply watershed to 3D or even 2D data""" #print 'Would you like to upsample by a factor of two? This will take longer, but might improve the result. (y/n)' #yn = raw_input('> ') allmasks,alllabels = [],[] for i in range(len(data)): #if yn == 'y': # data[i] = ndi.interpolation.zoom(data[i],2) alllabels.append(seg.watershed_segment(data[i],xM,yM)) ROIs = find_points(alllabels[i]) data = np.array(data) masks = np.ones((len(ROIs),data.shape[1],data.shape[2])) for j in range(len(ROIs)): masks[j] = create_bitmask(ROIs[j],data[i]) allmasks.append(masks) allmasks,prinROI = deleteMultiDetection(allmasks,data) return allmasks,prinROI