def get_filtered_segmentation(dataitem, params): nuc_label_image = segmentation_from_nuclear_channel_and_markers( dataitem.fishimage, skimage.measure.label(dataitem.scaled_markers), params ) segmentation = segmentation_from_cellmask_and_label_image( dataitem.cell_mask(params), nuc_label_image ) scaled_good_mask = scale_segmentation(dataitem.good_mask, dataitem.maxproj) labelled_points = skimage.measure.label(scaled_good_mask) rprops = skimage.measure.regionprops(labelled_points) region_centroids = [r.centroid for r in rprops] icentroids = [(int(r), int(c)) for r, c in region_centroids] good_regions = [segmentation[r, c] for r, c in icentroids] filtered_segmentation = filter_segmentation_by_region_list( segmentation, good_regions ) return filtered_segmentation
def get_filtered_segmentation(dataitem, params): # nuc_label_image = segmentation_from_nuclear_channel_and_markers( # dataitem.fishimage, # skimage.measure.label(dataitem.scaled_markers), # params # ) # nuc_label_image.pretty_color_image.view(dbiImage).save("nuc_label_img.png") # dataitem.cell_mask(params).view(dbiImage).save("cell_mask.png") segmentation = segmentation_from_cellmask_and_label_image( dataitem.cell_mask(params), skimage.measure.label(dataitem.scaled_markers) # nuc_label_image ) scaled_good_mask = scale_segmentation(dataitem.good_mask, dataitem.maxproj) labelled_points = skimage.measure.label(scaled_good_mask) rprops = skimage.measure.regionprops(labelled_points) region_centroids = [r.centroid for r in rprops] icentroids = [(int(r), int(c)) for r, c in region_centroids] good_regions = [segmentation[r, c] for r, c in icentroids] filtered_segmentation = filter_segmentation_by_region_list( segmentation, good_regions ) return filtered_segmentation
def visualise_marker_positions(dataitem): r = dataitem.bad_mask g = dataitem.good_mask b = dataitem.nuc_mask import numpy as np from dtoolbioimage import scale_to_uint8 merged = np.dstack([r, g, b]) scaled = scale_to_uint8(scale_segmentation(merged, dataitem.maxproj)) maxproj_rgb = scale_to_uint8(np.dstack(3 * [dataitem.maxproj])) scaled.view(dbiImage).save("scaled.png") v = 0.5 * scaled + 0.5 * maxproj_rgb v.view(dbiImage).save("v.png") visd = np.array(vis).view(dbiImage) (0.5 * visd + 0.5 * scaled).view(dbiImage).save("svis.png")
def scaled_markers(self): scaled_markers = scale_segmentation(self.all_mask, self.maxproj) return scaled_markers
def scaled_markers(self): # print(f"Scaling to {self.maxproj.shape}") # print(f"Diag {self.deconv_stack.shape}, {self.fishimage.nuclei.shape}") scaled_markers = scale_segmentation(self.all_mask, self.maxproj) return scaled_markers