def compute_zline_distance(repo, molecule_list, timepoints, z_line_spacing): all_median_profiles = [] for molecule in molecule_list: for timepoint in timepoints: image_set = ImageSet(repo, [f"{'mrna'}/{molecule}/{timepoint}/"]) if image_set.__sizeof__() < 5: logger.warning("Image set is small for {}", molecule) total_profile = image_set.compute_zline_distance(z_line_spacing) all_median_profiles.append(np.median(total_profile, axis=0)) return all_median_profiles
def test_compute_normalized_quadrant_densities_protein(self): image_set = ImageSet(self.repo, path_list=['protein/arhgdia/3h/']) result1 = image_set.compute_normalised_quadrant_densities(quadrants_num=8) num_images = image_set.__sizeof__() self.assertEqual(num_images, image_set.__sizeof__()) self.assertAlmostEqual(result1[result1[:, 1] == 1][:, 0].sum() / num_images, 1.098770606, places=5) # MTOC quadrant density self.assertAlmostEqual(result1[result1[:, 1] == 0][:, 0].sum() / (num_images * 7), 0.865466580, places=5) # non MTOC quadtant density result2 = image_set.compute_normalised_quadrant_densities(quadrants_num=8, stripes=3, stripes_flag=True) self.assertAlmostEqual(result2[result2[:, 1] == 1][:, 0].sum() / (3 * num_images), 0.9803183396, places=5) # MTOC quadrant density self.assertAlmostEqual(result2[result2[:, 1] == 0][:, 0].sum() / (num_images * 7 * 3), 0.6801687989, places=5) # non MTOC quadtant density result3 = image_set.compute_normalised_quadrant_densities(quadrants_num=8, peripheral_flag=True, stripes=3, stripes_flag=True) self.assertAlmostEqual(result3[result3[:, 1] == 1][:, 0].sum() / (3 * num_images), 0.126123087, places=5) # MTOC quadrant density self.assertAlmostEqual(result3[result3[:, 1] == 0][:, 0].sum() / (num_images * 7 * 3), 0.011356787, places=5) # non MTOC quadtant density
def test_compute_normalized_quadrant_densities_mrna(self): image_set = ImageSet(self.repo, path_list=['mrna/arhgdia/2h/']) result1 = image_set.compute_normalised_quadrant_densities(quadrants_num=8) num_images = image_set.__sizeof__() self.assertEqual(num_images, image_set.__sizeof__()) self.assertAlmostEqual(result1[result1[:, 1] == 1][:, 0].sum() / num_images, 1.0780173273, places=5) # MTOC quadrant density self.assertAlmostEqual(result1[result1[:, 1] == 0][:, 0].sum() / (num_images * 7), 1.1263246459, places=5) # non MTOC quadrant density result2 = image_set.compute_normalised_quadrant_densities(quadrants_num=8, stripes=3, stripes_flag=True) self.assertAlmostEqual(result2[result2[:, 1] == 1][:, 0].sum() / (3 * num_images), 1.0225376792, places=5) # MTOC quadrant density self.assertAlmostEqual(result2[result2[:, 1] == 0][:, 0].sum() / (num_images * 7 * 3), 1.08160649427, places=5) # non MTOC quadrant density result3 = image_set.compute_normalised_quadrant_densities(quadrants_num=8, peripheral_flag=True, stripes=3, stripes_flag=True) self.assertAlmostEqual(result3[result3[:, 1] == 1][:, 0].sum() / (3 * num_images), 0.79154809935, places=5) # MTOC quadrant density self.assertAlmostEqual(result3[result3[:, 1] == 0][:, 0].sum() / (num_images * 7 * 3), 0.59408432134, places=5) # non MTOC quadrant density