Launch binder

Extract histogram features

This example shows how to extract histogram features from tissue image.

Histogram features give a more detailed view than summary features (Extract summary features) by computing a histogram of each image channel and returning bin-counts for each Visium spot.

In addition to feature_name and channels we can specify the following features_kwargs:

  • bins - number of bins of the histogram, default is 10.

  • v_range - range on which values are binned, default is the whole image range.

import scanpy as sc
import squidpy as sq

Lets load the fluorescence Visium dataset and calculate bin-counts (3 bins) of channels 0 and 1.

# get spatial dataset including high-resolution tissue image
img = sq.datasets.visium_fluo_image_crop()
adata = sq.datasets.visium_fluo_adata_crop()

# calculate histogram features and save in key "histogram_features"
sq.im.calculate_image_features(
    adata,
    img,
    features="histogram",
    features_kwargs={"histogram": {"bins": 3, "channels": [0, 1]}},
    key_added="histogram_features",
)

Out:

  0%|          | 0/704 [00:00<?, ?/s]
  0%|          | 1/704 [00:00<02:17,  5.12/s]
  0%|          | 2/704 [00:00<01:49,  6.41/s]
  0%|          | 3/704 [00:00<01:40,  6.98/s]
  1%|          | 4/704 [00:00<01:35,  7.32/s]
  1%|          | 5/704 [00:00<01:33,  7.49/s]
  1%|          | 6/704 [00:00<01:31,  7.60/s]
  1%|          | 7/704 [00:00<01:30,  7.67/s]
  1%|1         | 8/704 [00:01<01:29,  7.78/s]
  1%|1         | 9/704 [00:01<01:29,  7.74/s]
  1%|1         | 10/704 [00:01<01:29,  7.79/s]
  2%|1         | 11/704 [00:01<01:28,  7.82/s]
  2%|1         | 12/704 [00:01<01:27,  7.91/s]
  2%|1         | 13/704 [00:01<01:27,  7.86/s]
  2%|1         | 14/704 [00:01<01:27,  7.85/s]
  2%|2         | 15/704 [00:01<01:27,  7.87/s]
  2%|2         | 16/704 [00:02<01:27,  7.86/s]
  2%|2         | 17/704 [00:02<01:26,  7.92/s]
  3%|2         | 18/704 [00:02<01:27,  7.84/s]
  3%|2         | 19/704 [00:02<01:26,  7.89/s]
  3%|2         | 20/704 [00:02<01:27,  7.83/s]
  3%|2         | 21/704 [00:02<01:26,  7.85/s]
  3%|3         | 22/704 [00:02<01:26,  7.92/s]
  3%|3         | 23/704 [00:02<01:26,  7.85/s]
  3%|3         | 24/704 [00:03<01:26,  7.88/s]
  4%|3         | 25/704 [00:03<01:26,  7.88/s]
  4%|3         | 26/704 [00:03<01:26,  7.87/s]
  4%|3         | 27/704 [00:03<01:26,  7.86/s]
  4%|3         | 28/704 [00:03<01:26,  7.86/s]
  4%|4         | 29/704 [00:03<01:25,  7.92/s]
  4%|4         | 30/704 [00:03<01:25,  7.84/s]
  4%|4         | 31/704 [00:04<01:25,  7.84/s]
  5%|4         | 32/704 [00:04<01:25,  7.85/s]
  5%|4         | 33/704 [00:04<01:25,  7.86/s]
  5%|4         | 34/704 [00:04<01:24,  7.89/s]
  5%|4         | 35/704 [00:04<01:25,  7.86/s]
  5%|5         | 36/704 [00:04<01:24,  7.86/s]
  5%|5         | 37/704 [00:04<01:24,  7.87/s]
  5%|5         | 38/704 [00:04<01:23,  7.95/s]
  6%|5         | 39/704 [00:05<01:24,  7.87/s]
  6%|5         | 40/704 [00:05<01:23,  7.93/s]
  6%|5         | 41/704 [00:05<01:24,  7.84/s]
  6%|5         | 42/704 [00:05<01:23,  7.91/s]
  6%|6         | 43/704 [00:05<01:23,  7.88/s]
  6%|6         | 44/704 [00:05<01:24,  7.81/s]
  6%|6         | 45/704 [00:05<01:24,  7.83/s]
  7%|6         | 46/704 [00:05<01:23,  7.84/s]
  7%|6         | 47/704 [00:06<01:23,  7.89/s]
  7%|6         | 48/704 [00:06<01:23,  7.90/s]
  7%|6         | 49/704 [00:06<01:23,  7.83/s]
  7%|7         | 50/704 [00:06<01:23,  7.83/s]
  7%|7         | 51/704 [00:06<01:22,  7.90/s]
  7%|7         | 52/704 [00:06<01:23,  7.83/s]
  8%|7         | 53/704 [00:06<01:23,  7.84/s]
  8%|7         | 54/704 [00:06<01:22,  7.85/s]
  8%|7         | 55/704 [00:07<01:22,  7.85/s]
  8%|7         | 56/704 [00:07<01:22,  7.90/s]
  8%|8         | 57/704 [00:07<01:22,  7.87/s]
  8%|8         | 58/704 [00:07<01:21,  7.89/s]
  8%|8         | 59/704 [00:07<01:21,  7.93/s]
  9%|8         | 60/704 [00:07<01:21,  7.87/s]
  9%|8         | 61/704 [00:07<01:21,  7.91/s]
  9%|8         | 62/704 [00:07<01:21,  7.86/s]
  9%|8         | 63/704 [00:08<01:21,  7.87/s]
  9%|9         | 64/704 [00:08<01:21,  7.87/s]
  9%|9         | 65/704 [00:08<01:20,  7.94/s]
  9%|9         | 66/704 [00:08<01:21,  7.87/s]
 10%|9         | 67/704 [00:08<01:20,  7.87/s]
 10%|9         | 68/704 [00:08<01:20,  7.87/s]
 10%|9         | 69/704 [00:08<01:20,  7.90/s]
 10%|9         | 70/704 [00:08<01:20,  7.92/s]
 10%|#         | 71/704 [00:09<01:20,  7.88/s]
 10%|#         | 72/704 [00:09<01:20,  7.87/s]
 10%|#         | 73/704 [00:09<01:20,  7.89/s]
 11%|#         | 74/704 [00:09<01:19,  7.89/s]
 11%|#         | 75/704 [00:09<01:19,  7.92/s]
 11%|#         | 76/704 [00:09<01:19,  7.87/s]
 11%|#         | 77/704 [00:09<01:18,  7.94/s]
 11%|#1        | 78/704 [00:09<01:19,  7.86/s]
 11%|#1        | 79/704 [00:10<01:18,  7.93/s]
 11%|#1        | 80/704 [00:10<01:19,  7.89/s]
 12%|#1        | 81/704 [00:10<01:19,  7.88/s]
 12%|#1        | 82/704 [00:10<01:18,  7.92/s]
 12%|#1        | 83/704 [00:10<01:18,  7.87/s]
 12%|#1        | 84/704 [00:10<01:18,  7.86/s]
 12%|#2        | 85/704 [00:10<01:18,  7.86/s]
 12%|#2        | 86/704 [00:10<01:18,  7.85/s]
 12%|#2        | 87/704 [00:11<01:17,  7.92/s]
 12%|#2        | 88/704 [00:11<01:18,  7.87/s]
 13%|#2        | 89/704 [00:11<01:18,  7.88/s]
 13%|#2        | 90/704 [00:11<01:19,  7.74/s]
 13%|#2        | 91/704 [00:11<01:19,  7.75/s]
 13%|#3        | 92/704 [00:11<01:19,  7.73/s]
 13%|#3        | 93/704 [00:11<01:18,  7.78/s]
 13%|#3        | 94/704 [00:12<01:18,  7.82/s]
 13%|#3        | 95/704 [00:12<01:17,  7.84/s]
 14%|#3        | 96/704 [00:12<01:16,  7.93/s]
 14%|#3        | 97/704 [00:12<01:17,  7.87/s]
 14%|#3        | 98/704 [00:12<01:16,  7.88/s]
 14%|#4        | 99/704 [00:12<01:16,  7.89/s]
 14%|#4        | 100/704 [00:12<01:16,  7.88/s]
 14%|#4        | 101/704 [00:12<01:16,  7.89/s]
 14%|#4        | 102/704 [00:13<01:16,  7.86/s]
 15%|#4        | 103/704 [00:13<01:16,  7.86/s]
 15%|#4        | 104/704 [00:13<01:16,  7.85/s]
 15%|#4        | 105/704 [00:13<01:15,  7.93/s]
 15%|#5        | 106/704 [00:13<01:15,  7.87/s]
 15%|#5        | 107/704 [00:13<01:15,  7.89/s]
 15%|#5        | 108/704 [00:13<01:15,  7.90/s]
 15%|#5        | 109/704 [00:13<01:15,  7.88/s]
 16%|#5        | 110/704 [00:14<01:14,  7.92/s]
 16%|#5        | 111/704 [00:14<01:15,  7.84/s]
 16%|#5        | 112/704 [00:14<01:15,  7.85/s]
 16%|#6        | 113/704 [00:14<01:15,  7.85/s]
 16%|#6        | 114/704 [00:14<01:15,  7.86/s]
 16%|#6        | 115/704 [00:14<01:14,  7.88/s]
 16%|#6        | 116/704 [00:14<01:14,  7.86/s]
 17%|#6        | 117/704 [00:14<01:14,  7.85/s]
 17%|#6        | 118/704 [00:15<01:14,  7.85/s]
 17%|#6        | 119/704 [00:15<01:14,  7.87/s]
 17%|#7        | 120/704 [00:15<01:14,  7.86/s]
 17%|#7        | 121/704 [00:15<01:13,  7.92/s]
 17%|#7        | 122/704 [00:15<01:14,  7.82/s]
 17%|#7        | 123/704 [00:15<01:14,  7.83/s]
 18%|#7        | 124/704 [00:15<01:13,  7.84/s]
 18%|#7        | 125/704 [00:15<01:13,  7.85/s]
 18%|#7        | 126/704 [00:16<01:13,  7.85/s]
 18%|#8        | 127/704 [00:16<01:12,  7.91/s]
 18%|#8        | 128/704 [00:16<01:13,  7.83/s]
 18%|#8        | 129/704 [00:16<01:13,  7.85/s]
 18%|#8        | 130/704 [00:16<01:12,  7.87/s]
 19%|#8        | 131/704 [00:16<01:12,  7.85/s]
 19%|#8        | 132/704 [00:16<01:12,  7.85/s]
 19%|#8        | 133/704 [00:16<01:12,  7.85/s]
 19%|#9        | 134/704 [00:17<01:12,  7.84/s]
 19%|#9        | 135/704 [00:17<01:12,  7.83/s]
 19%|#9        | 136/704 [00:17<01:12,  7.84/s]
 19%|#9        | 137/704 [00:17<01:11,  7.91/s]
 20%|#9        | 138/704 [00:17<01:11,  7.86/s]
 20%|#9        | 139/704 [00:17<01:11,  7.86/s]
 20%|#9        | 140/704 [00:17<01:11,  7.85/s]
 20%|##        | 141/704 [00:17<01:11,  7.85/s]
 20%|##        | 142/704 [00:18<01:11,  7.86/s]
 20%|##        | 143/704 [00:18<01:11,  7.87/s]
 20%|##        | 144/704 [00:18<01:11,  7.87/s]
 21%|##        | 145/704 [00:18<01:10,  7.89/s]
 21%|##        | 146/704 [00:18<01:10,  7.86/s]
 21%|##        | 147/704 [00:18<01:10,  7.88/s]
 21%|##1       | 148/704 [00:18<01:10,  7.87/s]
 21%|##1       | 149/704 [00:19<01:10,  7.88/s]
 21%|##1       | 150/704 [00:19<01:10,  7.89/s]
 21%|##1       | 151/704 [00:19<01:09,  7.93/s]
 22%|##1       | 152/704 [00:19<01:10,  7.87/s]
 22%|##1       | 153/704 [00:19<01:09,  7.92/s]
 22%|##1       | 154/704 [00:19<01:09,  7.90/s]
 22%|##2       | 155/704 [00:19<01:09,  7.84/s]
 22%|##2       | 156/704 [00:19<01:09,  7.87/s]
 22%|##2       | 157/704 [00:20<01:08,  7.94/s]
 22%|##2       | 158/704 [00:20<01:09,  7.87/s]
 23%|##2       | 159/704 [00:20<01:09,  7.86/s]
 23%|##2       | 160/704 [00:20<01:09,  7.87/s]
 23%|##2       | 161/704 [00:20<01:08,  7.92/s]
 23%|##3       | 162/704 [00:20<01:09,  7.84/s]
 23%|##3       | 163/704 [00:20<01:08,  7.85/s]
 23%|##3       | 164/704 [00:20<01:08,  7.90/s]
 23%|##3       | 165/704 [00:21<01:08,  7.83/s]
 24%|##3       | 166/704 [00:21<01:08,  7.83/s]
 24%|##3       | 167/704 [00:21<01:08,  7.84/s]
 24%|##3       | 168/704 [00:21<01:07,  7.90/s]
 24%|##4       | 169/704 [00:21<01:08,  7.84/s]
 24%|##4       | 170/704 [00:21<01:07,  7.87/s]
 24%|##4       | 171/704 [00:21<01:07,  7.91/s]
 24%|##4       | 172/704 [00:21<01:07,  7.84/s]
 25%|##4       | 173/704 [00:22<01:07,  7.84/s]
 25%|##4       | 174/704 [00:22<01:07,  7.85/s]
 25%|##4       | 175/704 [00:22<01:07,  7.86/s]
 25%|##5       | 176/704 [00:22<01:07,  7.84/s]
 25%|##5       | 177/704 [00:22<01:07,  7.85/s]
 25%|##5       | 178/704 [00:22<01:06,  7.93/s]
 25%|##5       | 179/704 [00:22<01:06,  7.93/s]
 26%|##5       | 180/704 [00:22<01:06,  7.86/s]
 26%|##5       | 181/704 [00:23<01:06,  7.88/s]
 26%|##5       | 182/704 [00:23<01:06,  7.89/s]
 26%|##5       | 183/704 [00:23<01:05,  7.90/s]
 26%|##6       | 184/704 [00:23<01:05,  7.90/s]
 26%|##6       | 185/704 [00:23<01:05,  7.88/s]
 26%|##6       | 186/704 [00:23<01:05,  7.93/s]
 27%|##6       | 187/704 [00:23<01:05,  7.85/s]
 27%|##6       | 188/704 [00:23<01:05,  7.86/s]
 27%|##6       | 189/704 [00:24<01:05,  7.86/s]
 27%|##6       | 190/704 [00:24<01:05,  7.87/s]
 27%|##7       | 191/704 [00:24<01:05,  7.87/s]
 27%|##7       | 192/704 [00:24<01:05,  7.86/s]
 27%|##7       | 193/704 [00:24<01:04,  7.94/s]
 28%|##7       | 194/704 [00:24<01:04,  7.91/s]
 28%|##7       | 195/704 [00:24<01:04,  7.83/s]
 28%|##7       | 196/704 [00:24<01:04,  7.89/s]
 28%|##7       | 197/704 [00:25<01:04,  7.84/s]
 28%|##8       | 198/704 [00:25<01:04,  7.87/s]
 28%|##8       | 199/704 [00:25<01:04,  7.85/s]
 28%|##8       | 200/704 [00:25<01:04,  7.84/s]
 29%|##8       | 201/704 [00:25<01:04,  7.85/s]
 29%|##8       | 202/704 [00:25<01:03,  7.86/s]
 29%|##8       | 203/704 [00:25<01:03,  7.87/s]
 29%|##8       | 204/704 [00:25<01:03,  7.88/s]
 29%|##9       | 205/704 [00:26<01:03,  7.89/s]
 29%|##9       | 206/704 [00:26<01:03,  7.90/s]
 29%|##9       | 207/704 [00:26<01:02,  7.92/s]
 30%|##9       | 208/704 [00:26<01:02,  7.94/s]
 30%|##9       | 209/704 [00:26<01:03,  7.85/s]
 30%|##9       | 210/704 [00:26<01:02,  7.87/s]
 30%|##9       | 211/704 [00:26<01:02,  7.92/s]
 30%|###       | 212/704 [00:27<01:02,  7.82/s]
 30%|###       | 213/704 [00:27<01:02,  7.84/s]
 30%|###       | 214/704 [00:27<01:02,  7.85/s]
 31%|###       | 215/704 [00:27<01:02,  7.84/s]
 31%|###       | 216/704 [00:27<01:02,  7.86/s]
 31%|###       | 217/704 [00:27<01:01,  7.92/s]
 31%|###       | 218/704 [00:27<01:01,  7.85/s]
 31%|###1      | 219/704 [00:27<01:01,  7.88/s]
 31%|###1      | 220/704 [00:28<01:01,  7.89/s]
 31%|###1      | 221/704 [00:28<01:01,  7.89/s]
 32%|###1      | 222/704 [00:28<01:01,  7.90/s]
 32%|###1      | 223/704 [00:28<01:00,  7.97/s]
 32%|###1      | 224/704 [00:28<01:00,  7.89/s]
 32%|###1      | 225/704 [00:28<01:00,  7.86/s]
 32%|###2      | 226/704 [00:28<01:00,  7.87/s]
 32%|###2      | 227/704 [00:28<01:00,  7.92/s]
 32%|###2      | 228/704 [00:29<01:00,  7.84/s]
 33%|###2      | 229/704 [00:29<01:00,  7.84/s]
 33%|###2      | 230/704 [00:29<01:00,  7.84/s]
 33%|###2      | 231/704 [00:29<00:59,  7.91/s]
 33%|###2      | 232/704 [00:29<01:00,  7.83/s]
 33%|###3      | 233/704 [00:29<01:00,  7.84/s]
 33%|###3      | 234/704 [00:29<00:59,  7.86/s]
 33%|###3      | 235/704 [00:29<00:59,  7.94/s]
 34%|###3      | 236/704 [00:30<00:59,  7.87/s]
 34%|###3      | 237/704 [00:30<00:59,  7.88/s]
 34%|###3      | 238/704 [00:30<00:58,  7.90/s]
 34%|###3      | 239/704 [00:30<00:59,  7.87/s]
 34%|###4      | 240/704 [00:30<00:58,  7.87/s]
 34%|###4      | 241/704 [00:30<00:58,  7.87/s]
 34%|###4      | 242/704 [00:30<00:58,  7.87/s]
 35%|###4      | 243/704 [00:30<00:58,  7.89/s]
 35%|###4      | 244/704 [00:31<00:57,  7.94/s]
 35%|###4      | 245/704 [00:31<00:58,  7.88/s]
 35%|###4      | 246/704 [00:31<00:58,  7.86/s]
 35%|###5      | 247/704 [00:31<00:57,  7.88/s]
 35%|###5      | 248/704 [00:31<00:57,  7.87/s]
 35%|###5      | 249/704 [00:31<00:57,  7.92/s]
 36%|###5      | 250/704 [00:31<00:57,  7.83/s]
 36%|###5      | 251/704 [00:31<00:57,  7.86/s]
 36%|###5      | 252/704 [00:32<00:57,  7.88/s]
 36%|###5      | 253/704 [00:32<00:57,  7.89/s]
 36%|###6      | 254/704 [00:32<00:56,  7.90/s]
 36%|###6      | 255/704 [00:32<00:56,  7.89/s]
 36%|###6      | 256/704 [00:32<00:56,  7.88/s]
 37%|###6      | 257/704 [00:32<00:56,  7.94/s]
 37%|###6      | 258/704 [00:32<00:56,  7.87/s]
 37%|###6      | 259/704 [00:32<00:56,  7.89/s]
 37%|###6      | 260/704 [00:33<00:56,  7.90/s]
 37%|###7      | 261/704 [00:33<00:56,  7.88/s]
 37%|###7      | 262/704 [00:33<00:56,  7.89/s]
 37%|###7      | 263/704 [00:33<00:55,  7.89/s]
 38%|###7      | 264/704 [00:33<00:55,  7.95/s]
 38%|###7      | 265/704 [00:33<00:55,  7.86/s]
 38%|###7      | 266/704 [00:33<00:55,  7.87/s]
 38%|###7      | 267/704 [00:33<00:55,  7.88/s]
 38%|###8      | 268/704 [00:34<00:54,  7.95/s]
 38%|###8      | 269/704 [00:34<00:55,  7.91/s]
 38%|###8      | 270/704 [00:34<00:55,  7.82/s]
 38%|###8      | 271/704 [00:34<00:55,  7.84/s]
 39%|###8      | 272/704 [00:34<00:55,  7.84/s]
 39%|###8      | 273/704 [00:34<00:54,  7.85/s]
 39%|###8      | 274/704 [00:34<00:54,  7.85/s]
 39%|###9      | 275/704 [00:35<00:54,  7.87/s]
 39%|###9      | 276/704 [00:35<00:54,  7.86/s]
 39%|###9      | 277/704 [00:35<00:54,  7.86/s]
 39%|###9      | 278/704 [00:35<00:54,  7.86/s]
 40%|###9      | 279/704 [00:35<00:53,  7.93/s]
 40%|###9      | 280/704 [00:35<00:53,  7.86/s]
 40%|###9      | 281/704 [00:35<00:53,  7.87/s]
 40%|####      | 282/704 [00:35<00:53,  7.89/s]
 40%|####      | 283/704 [00:36<00:53,  7.87/s]
 40%|####      | 284/704 [00:36<00:53,  7.88/s]
 40%|####      | 285/704 [00:36<00:53,  7.86/s]
 41%|####      | 286/704 [00:36<00:53,  7.88/s]
 41%|####      | 287/704 [00:36<00:52,  7.89/s]
 41%|####      | 288/704 [00:36<00:52,  7.96/s]
 41%|####1     | 289/704 [00:36<00:52,  7.85/s]
 41%|####1     | 290/704 [00:36<00:52,  7.88/s]
 41%|####1     | 291/704 [00:37<00:52,  7.87/s]
 41%|####1     | 292/704 [00:37<00:52,  7.86/s]
 42%|####1     | 293/704 [00:37<00:52,  7.88/s]
 42%|####1     | 294/704 [00:37<00:51,  7.89/s]
 42%|####1     | 295/704 [00:37<00:51,  7.91/s]
 42%|####2     | 296/704 [00:37<00:51,  7.88/s]
 42%|####2     | 297/704 [00:37<00:51,  7.88/s]
 42%|####2     | 298/704 [00:37<00:51,  7.96/s]
 42%|####2     | 299/704 [00:38<00:51,  7.88/s]
 43%|####2     | 300/704 [00:38<00:51,  7.89/s]
 43%|####2     | 301/704 [00:38<00:50,  7.91/s]
 43%|####2     | 302/704 [00:38<00:50,  7.89/s]
 43%|####3     | 303/704 [00:38<00:50,  7.87/s]
 43%|####3     | 304/704 [00:38<00:50,  7.86/s]
 43%|####3     | 305/704 [00:38<00:50,  7.86/s]
 43%|####3     | 306/704 [00:38<00:50,  7.87/s]
 44%|####3     | 307/704 [00:39<00:50,  7.87/s]
 44%|####3     | 308/704 [00:39<00:50,  7.87/s]
 44%|####3     | 309/704 [00:39<00:50,  7.86/s]
 44%|####4     | 310/704 [00:39<00:50,  7.87/s]
 44%|####4     | 311/704 [00:39<00:49,  7.89/s]
 44%|####4     | 312/704 [00:39<00:49,  7.88/s]
 44%|####4     | 313/704 [00:39<00:49,  7.88/s]
 45%|####4     | 314/704 [00:39<00:49,  7.95/s]
 45%|####4     | 315/704 [00:40<00:49,  7.88/s]
 45%|####4     | 316/704 [00:40<00:49,  7.89/s]
 45%|####5     | 317/704 [00:40<00:48,  7.96/s]
 45%|####5     | 318/704 [00:40<00:48,  7.89/s]
 45%|####5     | 319/704 [00:40<00:48,  7.90/s]
 45%|####5     | 320/704 [00:40<00:48,  7.92/s]
 46%|####5     | 321/704 [00:40<00:48,  7.92/s]
 46%|####5     | 322/704 [00:40<00:47,  7.97/s]
 46%|####5     | 323/704 [00:41<00:48,  7.90/s]
 46%|####6     | 324/704 [00:41<00:48,  7.91/s]
 46%|####6     | 325/704 [00:41<00:47,  7.91/s]
 46%|####6     | 326/704 [00:41<00:47,  7.92/s]
 46%|####6     | 327/704 [00:41<00:47,  7.88/s]
 47%|####6     | 328/704 [00:41<00:47,  7.91/s]
 47%|####6     | 329/704 [00:41<00:47,  7.89/s]
 47%|####6     | 330/704 [00:41<00:47,  7.90/s]
 47%|####7     | 331/704 [00:42<00:46,  7.95/s]
 47%|####7     | 332/704 [00:42<00:47,  7.86/s]
 47%|####7     | 333/704 [00:42<00:46,  7.92/s]
 47%|####7     | 334/704 [00:42<00:47,  7.86/s]
 48%|####7     | 335/704 [00:42<00:46,  7.93/s]
 48%|####7     | 336/704 [00:42<00:46,  7.85/s]
 48%|####7     | 337/704 [00:42<00:46,  7.87/s]
 48%|####8     | 338/704 [00:42<00:46,  7.87/s]
 48%|####8     | 339/704 [00:43<00:46,  7.92/s]
 48%|####8     | 340/704 [00:43<00:46,  7.84/s]
 48%|####8     | 341/704 [00:43<00:45,  7.90/s]
 49%|####8     | 342/704 [00:43<00:46,  7.82/s]
 49%|####8     | 343/704 [00:43<00:46,  7.84/s]
 49%|####8     | 344/704 [00:43<00:45,  7.84/s]
 49%|####9     | 345/704 [00:43<00:45,  7.91/s]
 49%|####9     | 346/704 [00:44<00:45,  7.84/s]
 49%|####9     | 347/704 [00:44<00:45,  7.86/s]
 49%|####9     | 348/704 [00:44<00:45,  7.90/s]
 50%|####9     | 349/704 [00:44<00:44,  7.91/s]
 50%|####9     | 350/704 [00:44<00:45,  7.83/s]
 50%|####9     | 351/704 [00:44<00:44,  7.85/s]
 50%|#####     | 352/704 [00:44<00:44,  7.90/s]
 50%|#####     | 353/704 [00:44<00:44,  7.84/s]
 50%|#####     | 354/704 [00:45<00:44,  7.85/s]
 50%|#####     | 355/704 [00:45<00:44,  7.90/s]
 51%|#####     | 356/704 [00:45<00:44,  7.83/s]
 51%|#####     | 357/704 [00:45<00:44,  7.83/s]
 51%|#####     | 358/704 [00:45<00:44,  7.84/s]
 51%|#####     | 359/704 [00:45<00:43,  7.86/s]
 51%|#####1    | 360/704 [00:45<00:43,  7.88/s]
 51%|#####1    | 361/704 [00:45<00:43,  7.93/s]
 51%|#####1    | 362/704 [00:46<00:43,  7.90/s]
 52%|#####1    | 363/704 [00:46<00:43,  7.82/s]
 52%|#####1    | 364/704 [00:46<00:43,  7.82/s]
 52%|#####1    | 365/704 [00:46<00:43,  7.83/s]
 52%|#####1    | 366/704 [00:46<00:43,  7.84/s]
 52%|#####2    | 367/704 [00:46<00:42,  7.85/s]
 52%|#####2    | 368/704 [00:46<00:42,  7.85/s]
 52%|#####2    | 369/704 [00:46<00:42,  7.91/s]
 53%|#####2    | 370/704 [00:47<00:42,  7.85/s]
 53%|#####2    | 371/704 [00:47<00:42,  7.87/s]
 53%|#####2    | 372/704 [00:47<00:42,  7.88/s]
 53%|#####2    | 373/704 [00:47<00:41,  7.88/s]
 53%|#####3    | 374/704 [00:47<00:41,  7.92/s]
 53%|#####3    | 375/704 [00:47<00:41,  7.86/s]
 53%|#####3    | 376/704 [00:47<00:41,  7.86/s]
 54%|#####3    | 377/704 [00:47<00:41,  7.87/s]
 54%|#####3    | 378/704 [00:48<00:41,  7.91/s]
 54%|#####3    | 379/704 [00:48<00:41,  7.86/s]
 54%|#####3    | 380/704 [00:48<00:41,  7.87/s]
 54%|#####4    | 381/704 [00:48<00:40,  7.89/s]
 54%|#####4    | 382/704 [00:48<00:40,  7.90/s]
 54%|#####4    | 383/704 [00:48<00:40,  7.97/s]
 55%|#####4    | 384/704 [00:48<00:40,  7.89/s]
 55%|#####4    | 385/704 [00:48<00:40,  7.91/s]
 55%|#####4    | 386/704 [00:49<00:39,  7.98/s]
 55%|#####4    | 387/704 [00:49<00:39,  7.93/s]
 55%|#####5    | 388/704 [00:49<00:40,  7.85/s]
 55%|#####5    | 389/704 [00:49<00:39,  7.91/s]
 55%|#####5    | 390/704 [00:49<00:40,  7.83/s]
 56%|#####5    | 391/704 [00:49<00:39,  7.84/s]
 56%|#####5    | 392/704 [00:49<00:39,  7.92/s]
 56%|#####5    | 393/704 [00:49<00:39,  7.86/s]
 56%|#####5    | 394/704 [00:50<00:39,  7.94/s]
 56%|#####6    | 395/704 [00:50<00:38,  7.94/s]
 56%|#####6    | 396/704 [00:50<00:39,  7.87/s]
 56%|#####6    | 397/704 [00:50<00:38,  7.92/s]
 57%|#####6    | 398/704 [00:50<00:38,  7.86/s]
 57%|#####6    | 399/704 [00:50<00:38,  7.86/s]
 57%|#####6    | 400/704 [00:50<00:38,  7.91/s]
 57%|#####6    | 401/704 [00:50<00:38,  7.84/s]
 57%|#####7    | 402/704 [00:51<00:38,  7.92/s]
 57%|#####7    | 403/704 [00:51<00:38,  7.85/s]
 57%|#####7    | 404/704 [00:51<00:38,  7.85/s]
 58%|#####7    | 405/704 [00:51<00:37,  7.87/s]
 58%|#####7    | 406/704 [00:51<00:37,  7.88/s]
 58%|#####7    | 407/704 [00:51<00:37,  7.92/s]
 58%|#####7    | 408/704 [00:51<00:37,  7.85/s]
 58%|#####8    | 409/704 [00:52<00:37,  7.92/s]
 58%|#####8    | 410/704 [00:52<00:37,  7.84/s]
 58%|#####8    | 411/704 [00:52<00:37,  7.90/s]
 59%|#####8    | 412/704 [00:52<00:37,  7.83/s]
 59%|#####8    | 413/704 [00:52<00:37,  7.85/s]
 59%|#####8    | 414/704 [00:52<00:36,  7.88/s]
 59%|#####8    | 415/704 [00:52<00:36,  7.89/s]
 59%|#####9    | 416/704 [00:52<00:36,  7.90/s]
 59%|#####9    | 417/704 [00:53<00:36,  7.89/s]
 59%|#####9    | 418/704 [00:53<00:36,  7.89/s]
 60%|#####9    | 419/704 [00:53<00:35,  7.92/s]
 60%|#####9    | 420/704 [00:53<00:36,  7.87/s]
 60%|#####9    | 421/704 [00:53<00:35,  7.87/s]
 60%|#####9    | 422/704 [00:53<00:35,  7.93/s]
 60%|######    | 423/704 [00:53<00:35,  7.93/s]
 60%|######    | 424/704 [00:53<00:35,  7.87/s]
 60%|######    | 425/704 [00:54<00:35,  7.89/s]
 61%|######    | 426/704 [00:54<00:35,  7.92/s]
 61%|######    | 427/704 [00:54<00:35,  7.87/s]
 61%|######    | 428/704 [00:54<00:35,  7.86/s]
 61%|######    | 429/704 [00:54<00:34,  7.92/s]
 61%|######1   | 430/704 [00:54<00:34,  7.84/s]
 61%|######1   | 431/704 [00:54<00:34,  7.90/s]
 61%|######1   | 432/704 [00:54<00:34,  7.87/s]
 62%|######1   | 433/704 [00:55<00:34,  7.84/s]
 62%|######1   | 434/704 [00:55<00:34,  7.84/s]
 62%|######1   | 435/704 [00:55<00:34,  7.86/s]
 62%|######1   | 436/704 [00:55<00:34,  7.87/s]
 62%|######2   | 437/704 [00:55<00:33,  7.89/s]
 62%|######2   | 438/704 [00:55<00:33,  7.87/s]
 62%|######2   | 439/704 [00:55<00:33,  7.87/s]
 62%|######2   | 440/704 [00:55<00:33,  7.93/s]
 63%|######2   | 441/704 [00:56<00:33,  7.86/s]
 63%|######2   | 442/704 [00:56<00:33,  7.92/s]
 63%|######2   | 443/704 [00:56<00:33,  7.85/s]
 63%|######3   | 444/704 [00:56<00:33,  7.86/s]
 63%|######3   | 445/704 [00:56<00:32,  7.89/s]
 63%|######3   | 446/704 [00:56<00:32,  7.85/s]
 63%|######3   | 447/704 [00:56<00:32,  7.87/s]
 64%|######3   | 448/704 [00:56<00:32,  7.86/s]
 64%|######3   | 449/704 [00:57<00:32,  7.88/s]
 64%|######3   | 450/704 [00:57<00:32,  7.89/s]
 64%|######4   | 451/704 [00:57<00:32,  7.90/s]
 64%|######4   | 452/704 [00:57<00:31,  7.90/s]
 64%|######4   | 453/704 [00:57<00:31,  7.97/s]
 64%|######4   | 454/704 [00:57<00:31,  7.88/s]
 65%|######4   | 455/704 [00:57<00:31,  7.95/s]
 65%|######4   | 456/704 [00:57<00:31,  7.88/s]
 65%|######4   | 457/704 [00:58<00:31,  7.90/s]
 65%|######5   | 458/704 [00:58<00:31,  7.91/s]
 65%|######5   | 459/704 [00:58<00:31,  7.88/s]
 65%|######5   | 460/704 [00:58<00:31,  7.84/s]
 65%|######5   | 461/704 [00:58<00:30,  7.90/s]
 66%|######5   | 462/704 [00:58<00:30,  7.91/s]
 66%|######5   | 463/704 [00:58<00:30,  7.85/s]
 66%|######5   | 464/704 [00:58<00:30,  7.87/s]
 66%|######6   | 465/704 [00:59<00:30,  7.91/s]
 66%|######6   | 466/704 [00:59<00:30,  7.84/s]
 66%|######6   | 467/704 [00:59<00:30,  7.84/s]
 66%|######6   | 468/704 [00:59<00:30,  7.85/s]
 67%|######6   | 469/704 [00:59<00:29,  7.85/s]
 67%|######6   | 470/704 [00:59<00:29,  7.88/s]
 67%|######6   | 471/704 [00:59<00:29,  7.92/s]
 67%|######7   | 472/704 [00:59<00:29,  7.84/s]
 67%|######7   | 473/704 [01:00<00:29,  7.85/s]
 67%|######7   | 474/704 [01:00<00:29,  7.85/s]
 67%|######7   | 475/704 [01:00<00:29,  7.86/s]
 68%|######7   | 476/704 [01:00<00:29,  7.85/s]
 68%|######7   | 477/704 [01:00<00:28,  7.87/s]
 68%|######7   | 478/704 [01:00<00:28,  7.86/s]
 68%|######8   | 479/704 [01:00<00:28,  7.87/s]
 68%|######8   | 480/704 [01:01<00:28,  7.88/s]
 68%|######8   | 481/704 [01:01<00:28,  7.92/s]
 68%|######8   | 482/704 [01:01<00:28,  7.87/s]
 69%|######8   | 483/704 [01:01<00:28,  7.88/s]
 69%|######8   | 484/704 [01:01<00:27,  7.95/s]
 69%|######8   | 485/704 [01:01<00:27,  7.87/s]
 69%|######9   | 486/704 [01:01<00:27,  7.86/s]
 69%|######9   | 487/704 [01:01<00:27,  7.92/s]
 69%|######9   | 488/704 [01:02<00:27,  7.90/s]
 69%|######9   | 489/704 [01:02<00:27,  7.85/s]
 70%|######9   | 490/704 [01:02<00:27,  7.87/s]
 70%|######9   | 491/704 [01:02<00:27,  7.89/s]
 70%|######9   | 492/704 [01:02<00:26,  7.90/s]
 70%|#######   | 493/704 [01:02<00:26,  7.97/s]
 70%|#######   | 494/704 [01:02<00:26,  7.90/s]
 70%|#######   | 495/704 [01:02<00:26,  7.86/s]
 70%|#######   | 496/704 [01:03<00:26,  7.88/s]
 71%|#######   | 497/704 [01:03<00:26,  7.89/s]
 71%|#######   | 498/704 [01:03<00:25,  7.95/s]
 71%|#######   | 499/704 [01:03<00:25,  7.92/s]
 71%|#######1  | 500/704 [01:03<00:25,  7.85/s]
 71%|#######1  | 501/704 [01:03<00:25,  7.86/s]
 71%|#######1  | 502/704 [01:03<00:25,  7.86/s]
 71%|#######1  | 503/704 [01:03<00:25,  7.88/s]
 72%|#######1  | 504/704 [01:04<00:25,  7.86/s]
 72%|#######1  | 505/704 [01:04<00:25,  7.93/s]
 72%|#######1  | 506/704 [01:04<00:25,  7.88/s]
 72%|#######2  | 507/704 [01:04<00:24,  7.89/s]
 72%|#######2  | 508/704 [01:04<00:24,  7.89/s]
 72%|#######2  | 509/704 [01:04<00:24,  7.90/s]
 72%|#######2  | 510/704 [01:04<00:24,  7.93/s]
 73%|#######2  | 511/704 [01:04<00:24,  7.93/s]
 73%|#######2  | 512/704 [01:05<00:24,  7.84/s]
 73%|#######2  | 513/704 [01:05<00:24,  7.90/s]
 73%|#######3  | 514/704 [01:05<00:24,  7.89/s]
 73%|#######3  | 515/704 [01:05<00:24,  7.83/s]
 73%|#######3  | 516/704 [01:05<00:24,  7.83/s]
 73%|#######3  | 517/704 [01:05<00:23,  7.89/s]
 74%|#######3  | 518/704 [01:05<00:23,  7.82/s]
 74%|#######3  | 519/704 [01:05<00:23,  7.84/s]
 74%|#######3  | 520/704 [01:06<00:23,  7.91/s]
 74%|#######4  | 521/704 [01:06<00:23,  7.84/s]
 74%|#######4  | 522/704 [01:06<00:23,  7.85/s]
 74%|#######4  | 523/704 [01:06<00:22,  7.88/s]
 74%|#######4  | 524/704 [01:06<00:22,  7.85/s]
 75%|#######4  | 525/704 [01:06<00:22,  7.92/s]
 75%|#######4  | 526/704 [01:06<00:22,  7.87/s]
 75%|#######4  | 527/704 [01:06<00:22,  7.95/s]
 75%|#######5  | 528/704 [01:07<00:22,  7.88/s]
 75%|#######5  | 529/704 [01:07<00:22,  7.90/s]
 75%|#######5  | 530/704 [01:07<00:22,  7.91/s]
 75%|#######5  | 531/704 [01:07<00:21,  7.89/s]
 76%|#######5  | 532/704 [01:07<00:21,  7.88/s]
 76%|#######5  | 533/704 [01:07<00:21,  7.87/s]
 76%|#######5  | 534/704 [01:07<00:21,  7.88/s]
 76%|#######5  | 535/704 [01:07<00:21,  7.89/s]
 76%|#######6  | 536/704 [01:08<00:21,  7.92/s]
 76%|#######6  | 537/704 [01:08<00:21,  7.83/s]
 76%|#######6  | 538/704 [01:08<00:21,  7.86/s]
 77%|#######6  | 539/704 [01:08<00:20,  7.90/s]
 77%|#######6  | 540/704 [01:08<00:20,  7.83/s]
 77%|#######6  | 541/704 [01:08<00:20,  7.86/s]
 77%|#######6  | 542/704 [01:08<00:20,  7.94/s]
 77%|#######7  | 543/704 [01:09<00:20,  7.86/s]
 77%|#######7  | 544/704 [01:09<00:20,  7.88/s]
 77%|#######7  | 545/704 [01:09<00:19,  7.96/s]
 78%|#######7  | 546/704 [01:09<00:20,  7.89/s]
 78%|#######7  | 547/704 [01:09<00:19,  7.90/s]
 78%|#######7  | 548/704 [01:09<00:19,  7.91/s]
 78%|#######7  | 549/704 [01:09<00:19,  7.90/s]
 78%|#######8  | 550/704 [01:09<00:19,  7.87/s]
 78%|#######8  | 551/704 [01:10<00:19,  7.93/s]
 78%|#######8  | 552/704 [01:10<00:19,  7.85/s]
 79%|#######8  | 553/704 [01:10<00:19,  7.77/s]
 79%|#######8  | 554/704 [01:10<00:18,  7.96/s]
 79%|#######8  | 555/704 [01:10<00:18,  7.95/s]
 79%|#######8  | 556/704 [01:10<00:18,  7.87/s]
 79%|#######9  | 557/704 [01:10<00:18,  7.87/s]
 79%|#######9  | 558/704 [01:10<00:18,  7.87/s]
 79%|#######9  | 559/704 [01:11<00:18,  7.87/s]
 80%|#######9  | 560/704 [01:11<00:18,  7.94/s]
 80%|#######9  | 561/704 [01:11<00:18,  7.91/s]
 80%|#######9  | 562/704 [01:11<00:18,  7.85/s]
 80%|#######9  | 563/704 [01:11<00:18,  7.80/s]
 80%|########  | 564/704 [01:11<00:17,  7.82/s]
 80%|########  | 565/704 [01:11<00:17,  7.90/s]
 80%|########  | 566/704 [01:11<00:17,  7.83/s]
 81%|########  | 567/704 [01:12<00:17,  7.84/s]
 81%|########  | 568/704 [01:12<00:17,  7.86/s]
 81%|########  | 569/704 [01:12<00:17,  7.93/s]
 81%|########  | 570/704 [01:12<00:17,  7.85/s]
 81%|########1 | 571/704 [01:12<00:16,  7.86/s]
 81%|########1 | 572/704 [01:12<00:16,  7.88/s]
 81%|########1 | 573/704 [01:12<00:16,  7.89/s]
 82%|########1 | 574/704 [01:12<00:16,  7.87/s]
 82%|########1 | 575/704 [01:13<00:16,  7.90/s]
 82%|########1 | 576/704 [01:13<00:16,  7.88/s]
 82%|########1 | 577/704 [01:13<00:16,  7.86/s]
 82%|########2 | 578/704 [01:13<00:15,  7.92/s]
 82%|########2 | 579/704 [01:13<00:15,  7.98/s]
 82%|########2 | 580/704 [01:13<00:15,  7.89/s]
 83%|########2 | 581/704 [01:13<00:15,  7.94/s]
 83%|########2 | 582/704 [01:13<00:15,  7.87/s]
 83%|########2 | 583/704 [01:14<00:15,  7.86/s]
 83%|########2 | 584/704 [01:14<00:15,  7.86/s]
 83%|########3 | 585/704 [01:14<00:15,  7.91/s]
 83%|########3 | 586/704 [01:14<00:15,  7.83/s]
 83%|########3 | 587/704 [01:14<00:14,  7.84/s]
 84%|########3 | 588/704 [01:14<00:14,  7.87/s]
 84%|########3 | 589/704 [01:14<00:14,  7.85/s]
 84%|########3 | 590/704 [01:14<00:14,  7.90/s]
 84%|########3 | 591/704 [01:15<00:14,  7.84/s]
 84%|########4 | 592/704 [01:15<00:14,  7.89/s]
 84%|########4 | 593/704 [01:15<00:14,  7.84/s]
 84%|########4 | 594/704 [01:15<00:14,  7.83/s]
 85%|########4 | 595/704 [01:15<00:13,  7.90/s]
 85%|########4 | 596/704 [01:15<00:13,  7.90/s]
 85%|########4 | 597/704 [01:15<00:13,  7.89/s]
 85%|########4 | 598/704 [01:15<00:13,  7.82/s]
 85%|########5 | 599/704 [01:16<00:13,  7.84/s]
 85%|########5 | 600/704 [01:16<00:13,  7.86/s]
 85%|########5 | 601/704 [01:16<00:13,  7.89/s]
 86%|########5 | 602/704 [01:16<00:13,  7.85/s]
 86%|########5 | 603/704 [01:16<00:12,  7.93/s]
 86%|########5 | 604/704 [01:16<00:12,  7.84/s]
 86%|########5 | 605/704 [01:16<00:12,  7.84/s]
 86%|########6 | 606/704 [01:17<00:12,  7.91/s]
 86%|########6 | 607/704 [01:17<00:12,  7.84/s]
 86%|########6 | 608/704 [01:17<00:12,  7.85/s]
 87%|########6 | 609/704 [01:17<00:12,  7.87/s]
 87%|########6 | 610/704 [01:17<00:11,  7.92/s]
 87%|########6 | 611/704 [01:17<00:11,  7.91/s]
 87%|########6 | 612/704 [01:17<00:11,  7.90/s]
 87%|########7 | 613/704 [01:17<00:11,  7.83/s]
 87%|########7 | 614/704 [01:18<00:11,  7.89/s]
 87%|########7 | 615/704 [01:18<00:11,  7.82/s]
 88%|########7 | 616/704 [01:18<00:11,  7.83/s]
 88%|########7 | 617/704 [01:18<00:11,  7.85/s]
 88%|########7 | 618/704 [01:18<00:10,  7.90/s]
 88%|########7 | 619/704 [01:18<00:10,  7.83/s]
 88%|########8 | 620/704 [01:18<00:10,  7.91/s]
 88%|########8 | 621/704 [01:18<00:10,  7.89/s]
 88%|########8 | 622/704 [01:19<00:10,  7.90/s]
 88%|########8 | 623/704 [01:19<00:10,  7.84/s]
 89%|########8 | 624/704 [01:19<00:10,  7.87/s]
 89%|########8 | 625/704 [01:19<00:10,  7.86/s]
 89%|########8 | 626/704 [01:19<00:09,  7.88/s]
 89%|########9 | 627/704 [01:19<00:09,  7.89/s]
 89%|########9 | 628/704 [01:19<00:09,  7.91/s]
 89%|########9 | 629/704 [01:19<00:09,  7.91/s]
 89%|########9 | 630/704 [01:20<00:09,  7.95/s]
 90%|########9 | 631/704 [01:20<00:09,  7.86/s]
 90%|########9 | 632/704 [01:20<00:09,  7.86/s]
 90%|########9 | 633/704 [01:20<00:08,  7.92/s]
 90%|######### | 634/704 [01:20<00:08,  7.83/s]
 90%|######### | 635/704 [01:20<00:08,  7.84/s]
 90%|######### | 636/704 [01:20<00:08,  7.86/s]
 90%|######### | 637/704 [01:20<00:08,  7.91/s]
 91%|######### | 638/704 [01:21<00:08,  7.85/s]
 91%|######### | 639/704 [01:21<00:08,  7.85/s]
 91%|######### | 640/704 [01:21<00:08,  7.88/s]
 91%|#########1| 641/704 [01:21<00:07,  7.90/s]
 91%|#########1| 642/704 [01:21<00:07,  7.83/s]
 91%|#########1| 643/704 [01:21<00:07,  7.85/s]
 91%|#########1| 644/704 [01:21<00:07,  7.87/s]
 92%|#########1| 645/704 [01:21<00:07,  7.84/s]
 92%|#########1| 646/704 [01:22<00:07,  7.91/s]
 92%|#########1| 647/704 [01:22<00:07,  7.88/s]
 92%|#########2| 648/704 [01:22<00:07,  7.82/s]
 92%|#########2| 649/704 [01:22<00:07,  7.83/s]
 92%|#########2| 650/704 [01:22<00:06,  7.84/s]
 92%|#########2| 651/704 [01:22<00:06,  7.90/s]
 93%|#########2| 652/704 [01:22<00:06,  7.84/s]
 93%|#########2| 653/704 [01:22<00:06,  7.89/s]
 93%|#########2| 654/704 [01:23<00:06,  7.85/s]
 93%|#########3| 655/704 [01:23<00:06,  7.91/s]
 93%|#########3| 656/704 [01:23<00:06,  7.89/s]
 93%|#########3| 657/704 [01:23<00:06,  7.83/s]
 93%|#########3| 658/704 [01:23<00:05,  7.90/s]
 94%|#########3| 659/704 [01:23<00:05,  7.83/s]
 94%|#########3| 660/704 [01:23<00:05,  7.83/s]
 94%|#########3| 661/704 [01:23<00:05,  7.84/s]
 94%|#########4| 662/704 [01:24<00:05,  7.85/s]
 94%|#########4| 663/704 [01:24<00:05,  7.92/s]
 94%|#########4| 664/704 [01:24<00:05,  7.84/s]
 94%|#########4| 665/704 [01:24<00:04,  7.84/s]
 95%|#########4| 666/704 [01:24<00:04,  7.92/s]
 95%|#########4| 667/704 [01:24<00:04,  7.83/s]
 95%|#########4| 668/704 [01:24<00:04,  7.84/s]
 95%|#########5| 669/704 [01:25<00:04,  7.85/s]
 95%|#########5| 670/704 [01:25<00:04,  7.91/s]
 95%|#########5| 671/704 [01:25<00:04,  7.83/s]
 95%|#########5| 672/704 [01:25<00:04,  7.91/s]
 96%|#########5| 673/704 [01:25<00:03,  7.83/s]
 96%|#########5| 674/704 [01:25<00:03,  7.84/s]
 96%|#########5| 675/704 [01:25<00:03,  7.92/s]
 96%|#########6| 676/704 [01:25<00:03,  7.86/s]
 96%|#########6| 677/704 [01:26<00:03,  7.93/s]
 96%|#########6| 678/704 [01:26<00:03,  7.90/s]
 96%|#########6| 679/704 [01:26<00:03,  7.85/s]
 97%|#########6| 680/704 [01:26<00:03,  7.90/s]
 97%|#########6| 681/704 [01:26<00:02,  7.86/s]
 97%|#########6| 682/704 [01:26<00:02,  7.84/s]
 97%|#########7| 683/704 [01:26<00:02,  7.90/s]
 97%|#########7| 684/704 [01:26<00:02,  7.82/s]
 97%|#########7| 685/704 [01:27<00:02,  7.83/s]
 97%|#########7| 686/704 [01:27<00:02,  7.83/s]
 98%|#########7| 687/704 [01:27<00:02,  7.86/s]
 98%|#########7| 688/704 [01:27<00:02,  7.91/s]
 98%|#########7| 689/704 [01:27<00:01,  7.84/s]
 98%|#########8| 690/704 [01:27<00:01,  7.86/s]
 98%|#########8| 691/704 [01:27<00:01,  7.85/s]
 98%|#########8| 692/704 [01:27<00:01,  7.87/s]
 98%|#########8| 693/704 [01:28<00:01,  7.85/s]
 99%|#########8| 694/704 [01:28<00:01,  7.86/s]
 99%|#########8| 695/704 [01:28<00:01,  7.92/s]
 99%|#########8| 696/704 [01:28<00:01,  7.85/s]
 99%|#########9| 697/704 [01:28<00:00,  7.93/s]
 99%|#########9| 698/704 [01:28<00:00,  7.86/s]
 99%|#########9| 699/704 [01:28<00:00,  7.87/s]
 99%|#########9| 700/704 [01:28<00:00,  7.94/s]
100%|#########9| 701/704 [01:29<00:00,  7.84/s]
100%|#########9| 702/704 [01:29<00:00,  7.90/s]
100%|#########9| 703/704 [01:29<00:00,  7.85/s]
100%|##########| 704/704 [01:29<00:00,  7.93/s]
100%|##########| 704/704 [01:29<00:00,  7.87/s]

The result is stored in adata.obsm['histogram_features'].

adata.obsm["histogram_features"].head()
histogram_ch-0_bin-0 histogram_ch-0_bin-1 histogram_ch-0_bin-2 histogram_ch-1_bin-0 histogram_ch-1_bin-1 histogram_ch-1_bin-2
AAACGAGACGGTTGAT-1 28201 1649 2191 32041 0 0
AAAGGGATGTAGCAAG-1 30072 748 1221 31510 529 2
AAATGGCATGTCTTGT-1 29032 2252 757 30793 1002 246
AAATGGTCAATGTGCC-1 28672 2411 958 32041 0 0
AAATTAACGGGTAGCT-1 29996 1116 929 31367 674 0


Use squidpy.pl.extract() to plot the histogram features on the tissue image or have a look at our interactive visualisation tutorial to learn how to use our interactive napari plugin. With these features we can e.g. appreciate the detailed distribution of intensity values of channel 0 (DAPI stain) on the different bins.

sc.pl.spatial(
    sq.pl.extract(adata, "histogram_features"),
    color=[None, "histogram_ch-0_bin-0", "histogram_ch-0_bin-1", "histogram_ch-0_bin-2"],
    bw=True,
)
histogram_ch-0_bin-0, histogram_ch-0_bin-1, histogram_ch-0_bin-2

Total running time of the script: ( 1 minutes 38.960 seconds)

Estimated memory usage: 371 MB