Check out the Hyperspy Workshop May 13-17, 2024 Online

Filtering Data#

If you have a low number of counts in your data, you may want to filter the data to remove noise. This can be done using the filter function which applies some function to the entire dataset and returns a filtered dataset of the same shape.

from scipy.ndimage import gaussian_filter
from dask_image.ndfilters import gaussian_filter as dask_gaussian_filter
import pyxem as pxm
import hyperspy.api as hs
import numpy as np

s = pxm.data.mgo_nanocrystals(allow_download=True)  # MgO nanocrystals dataset

s_filtered = s.filter(
    gaussian_filter, sigma=1.0, inplace=False
)  # Gaussian filter with sigma=1.0

s_filtered2 = s.filter(
    gaussian_filter, sigma=(1.0, 1.0, 0, 0), inplace=False
)  # Only filter in real space

hs.plot.plot_images(
    [s.inav[10, 10], s_filtered.inav[10, 10], s_filtered2.inav[10, 10]],
    label=["Original", "GaussFilt(all)", "GaussFilt(real space)"],
    tight_layout=True,
    vmax="99th",
)
Original, GaussFilt(all), GaussFilt(real space)
  0%|                                               | 0.00/104M [00:00<?, ?B/s]
  0%|                                       | 14.3k/104M [00:00<12:38, 137kB/s]
  0%|                                       | 47.1k/104M [00:00<07:10, 242kB/s]
  0%|                                        | 120k/104M [00:00<03:50, 452kB/s]
  0%|                                        | 252k/104M [00:00<02:13, 777kB/s]
  0%|▏                                       | 358k/104M [00:00<02:18, 753kB/s]
  0%|▏                                       | 511k/104M [00:00<01:46, 974kB/s]
  1%|▏                                      | 658k/104M [00:00<01:33, 1.11MB/s]
  1%|▎                                      | 855k/104M [00:00<01:16, 1.35MB/s]
  1%|▎                                     | 1.02M/104M [00:00<01:13, 1.41MB/s]
  1%|▍                                     | 1.16M/104M [00:01<01:13, 1.40MB/s]
  1%|▍                                     | 1.30M/104M [00:01<01:13, 1.39MB/s]
  1%|▌                                     | 1.44M/104M [00:01<01:14, 1.38MB/s]
  2%|▌                                     | 1.58M/104M [00:01<01:15, 1.36MB/s]
  2%|▋                                     | 1.72M/104M [00:01<01:38, 1.04MB/s]
  2%|▋                                      | 1.84M/104M [00:01<02:00, 849kB/s]
  2%|▋                                     | 2.03M/104M [00:01<01:34, 1.08MB/s]
  2%|▊                                     | 2.16M/104M [00:02<01:32, 1.10MB/s]
  2%|▊                                     | 2.33M/104M [00:02<01:22, 1.24MB/s]
  2%|▉                                     | 2.47M/104M [00:02<01:19, 1.29MB/s]
  3%|▉                                     | 2.64M/104M [00:02<01:14, 1.36MB/s]
  3%|█                                     | 2.78M/104M [00:02<01:14, 1.36MB/s]
  3%|█                                     | 2.92M/104M [00:02<01:14, 1.36MB/s]
  3%|█                                     | 3.06M/104M [00:02<01:14, 1.36MB/s]
  3%|█▏                                    | 3.20M/104M [00:02<01:15, 1.35MB/s]
  3%|█▏                                    | 3.34M/104M [00:02<01:15, 1.34MB/s]
  3%|█▎                                    | 3.47M/104M [00:02<01:15, 1.33MB/s]
  3%|█▎                                    | 3.61M/104M [00:03<01:16, 1.32MB/s]
  4%|█▎                                    | 3.74M/104M [00:03<01:17, 1.30MB/s]
  4%|█▍                                    | 3.87M/104M [00:03<01:18, 1.29MB/s]
  4%|█▍                                    | 4.00M/104M [00:03<01:18, 1.27MB/s]
  4%|█▌                                    | 4.13M/104M [00:03<01:19, 1.26MB/s]
  4%|█▌                                    | 4.25M/104M [00:03<01:20, 1.25MB/s]
  4%|█▌                                    | 4.38M/104M [00:03<01:20, 1.24MB/s]
  4%|█▋                                    | 4.58M/104M [00:03<01:08, 1.46MB/s]
  5%|█▋                                    | 4.73M/104M [00:03<01:09, 1.44MB/s]
  5%|█▊                                    | 4.87M/104M [00:03<01:09, 1.42MB/s]
  5%|█▊                                    | 5.02M/104M [00:04<01:10, 1.41MB/s]
  5%|█▉                                    | 5.16M/104M [00:04<01:11, 1.39MB/s]
  5%|█▉                                    | 5.30M/104M [00:04<01:12, 1.37MB/s]
  5%|█▉                                    | 5.44M/104M [00:04<01:12, 1.36MB/s]
  5%|██                                    | 5.57M/104M [00:04<01:13, 1.35MB/s]
  5%|██                                    | 5.71M/104M [00:04<01:13, 1.33MB/s]
  6%|██▏                                   | 5.84M/104M [00:04<01:36, 1.02MB/s]
  6%|██▏                                   | 5.96M/104M [00:04<01:34, 1.04MB/s]
  6%|██▏                                   | 6.10M/104M [00:05<01:26, 1.14MB/s]
  6%|██▎                                   | 6.27M/104M [00:05<01:18, 1.26MB/s]
  6%|██▎                                   | 6.40M/104M [00:05<01:17, 1.26MB/s]
  6%|██▍                                   | 6.53M/104M [00:05<01:17, 1.26MB/s]
  6%|██▍                                   | 6.66M/104M [00:05<01:17, 1.26MB/s]
  7%|██▍                                   | 6.79M/104M [00:05<01:17, 1.26MB/s]
  7%|██▌                                   | 6.92M/104M [00:05<01:18, 1.25MB/s]
  7%|██▌                                   | 7.09M/104M [00:05<01:11, 1.35MB/s]
  7%|██▋                                   | 7.23M/104M [00:05<01:10, 1.37MB/s]
  7%|██▋                                   | 7.37M/104M [00:05<01:11, 1.36MB/s]
  7%|██▋                                   | 7.51M/104M [00:06<01:11, 1.36MB/s]
  7%|██▊                                   | 7.67M/104M [00:06<01:07, 1.42MB/s]
  8%|██▉                                   | 7.90M/104M [00:06<00:58, 1.64MB/s]
  8%|██▉                                   | 8.07M/104M [00:06<00:59, 1.61MB/s]
  8%|██▉                                   | 8.23M/104M [00:06<01:00, 1.59MB/s]
  8%|███                                   | 8.39M/104M [00:06<01:18, 1.22MB/s]
  8%|███▏                                   | 8.52M/104M [00:06<01:36, 993kB/s]
  8%|███▏                                  | 8.64M/104M [00:07<01:33, 1.02MB/s]
  8%|███▏                                  | 8.75M/104M [00:07<01:31, 1.04MB/s]
  9%|███▏                                  | 8.87M/104M [00:07<01:30, 1.06MB/s]
  9%|███▎                                  | 8.98M/104M [00:07<01:29, 1.06MB/s]
  9%|███▎                                  | 9.18M/104M [00:07<01:13, 1.30MB/s]
  9%|███▍                                  | 9.31M/104M [00:07<01:13, 1.29MB/s]
  9%|███▍                                  | 9.45M/104M [00:07<01:13, 1.29MB/s]
  9%|███▍                                  | 9.58M/104M [00:07<01:13, 1.28MB/s]
  9%|███▋                                   | 9.71M/104M [00:07<01:35, 986kB/s]
  9%|███▌                                  | 9.82M/104M [00:08<01:34, 1.00MB/s]
 10%|███▌                                  | 9.93M/104M [00:08<01:32, 1.02MB/s]
 10%|███▋                                  | 10.0M/104M [00:08<01:32, 1.02MB/s]
 10%|███▋                                  | 10.2M/104M [00:08<01:21, 1.16MB/s]
 10%|███▊                                  | 10.3M/104M [00:08<01:16, 1.23MB/s]
 10%|███▊                                  | 10.5M/104M [00:08<01:16, 1.23MB/s]
 10%|███▊                                  | 10.6M/104M [00:08<01:16, 1.22MB/s]
 10%|███▉                                  | 10.8M/104M [00:08<01:04, 1.45MB/s]
 11%|███▉                                  | 11.0M/104M [00:08<01:02, 1.48MB/s]
 11%|████                                  | 11.2M/104M [00:08<00:53, 1.74MB/s]
 11%|████▏                                 | 11.4M/104M [00:09<00:54, 1.72MB/s]
 11%|████▏                                 | 11.6M/104M [00:09<00:54, 1.70MB/s]
 11%|████▎                                 | 11.7M/104M [00:09<00:55, 1.68MB/s]
 11%|████▎                                 | 11.9M/104M [00:09<01:11, 1.29MB/s]
 12%|████▍                                 | 12.0M/104M [00:09<01:10, 1.31MB/s]
 12%|████▍                                 | 12.2M/104M [00:09<01:09, 1.32MB/s]
 12%|████▌                                 | 12.4M/104M [00:09<01:04, 1.42MB/s]
 12%|████▌                                 | 12.5M/104M [00:09<01:04, 1.42MB/s]
 12%|████▌                                 | 12.6M/104M [00:10<01:04, 1.41MB/s]
 12%|████▋                                 | 12.8M/104M [00:10<01:02, 1.46MB/s]
 12%|████▋                                 | 13.0M/104M [00:10<01:03, 1.45MB/s]
 13%|████▊                                 | 13.1M/104M [00:10<01:21, 1.11MB/s]
 13%|████▊                                 | 13.2M/104M [00:10<01:20, 1.13MB/s]
 13%|████▊                                 | 13.3M/104M [00:10<01:19, 1.14MB/s]
 13%|████▉                                 | 13.5M/104M [00:10<01:18, 1.15MB/s]
 13%|████▉                                 | 13.6M/104M [00:10<01:18, 1.15MB/s]
 13%|████▉                                 | 13.7M/104M [00:10<01:18, 1.15MB/s]
 13%|█████                                 | 13.9M/104M [00:11<01:11, 1.27MB/s]
 14%|█████▏                                | 14.1M/104M [00:11<01:00, 1.50MB/s]
 14%|█████▏                                | 14.2M/104M [00:11<01:00, 1.48MB/s]
 14%|█████▏                                | 14.4M/104M [00:11<01:00, 1.47MB/s]
 14%|█████▎                                | 14.5M/104M [00:11<01:01, 1.46MB/s]
 14%|█████▎                                | 14.7M/104M [00:11<00:57, 1.56MB/s]
 14%|█████▍                                | 14.9M/104M [00:11<00:58, 1.54MB/s]
 14%|█████▍                                | 15.0M/104M [00:11<01:15, 1.18MB/s]
 15%|█████▌                                | 15.2M/104M [00:12<01:14, 1.20MB/s]
 15%|█████▌                                | 15.3M/104M [00:12<01:13, 1.21MB/s]
 15%|█████▌                                | 15.4M/104M [00:12<01:13, 1.21MB/s]
 15%|█████▋                                | 15.5M/104M [00:12<01:13, 1.21MB/s]
 15%|█████▋                                | 15.7M/104M [00:12<01:13, 1.21MB/s]
 15%|█████▊                                | 15.8M/104M [00:12<01:13, 1.21MB/s]
 15%|█████▊                                | 15.9M/104M [00:12<01:08, 1.29MB/s]
 15%|█████▊                                | 16.1M/104M [00:12<01:06, 1.32MB/s]
 16%|█████▉                                | 16.3M/104M [00:12<01:02, 1.40MB/s]
 16%|██████                                | 16.5M/104M [00:12<00:52, 1.68MB/s]
 16%|██████                                | 16.7M/104M [00:13<00:52, 1.66MB/s]
 16%|██████▏                               | 16.8M/104M [00:13<00:53, 1.63MB/s]
 16%|██████▏                               | 17.0M/104M [00:13<01:09, 1.26MB/s]
 16%|██████▏                               | 17.1M/104M [00:13<01:08, 1.27MB/s]
 17%|██████▎                               | 17.3M/104M [00:13<01:07, 1.28MB/s]
 17%|██████▎                               | 17.4M/104M [00:13<01:07, 1.29MB/s]
 17%|██████▍                               | 17.6M/104M [00:13<01:07, 1.29MB/s]
 17%|██████▍                               | 17.7M/104M [00:13<01:07, 1.29MB/s]
 17%|██████▍                               | 17.8M/104M [00:13<01:07, 1.28MB/s]
 17%|██████▌                               | 17.9M/104M [00:14<01:07, 1.28MB/s]
 17%|██████▌                               | 18.1M/104M [00:14<01:05, 1.31MB/s]
 17%|██████▋                               | 18.2M/104M [00:14<01:06, 1.30MB/s]
 18%|██████▋                               | 18.4M/104M [00:14<01:07, 1.28MB/s]
 18%|██████▋                               | 18.5M/104M [00:14<01:07, 1.27MB/s]
 18%|██████▊                               | 18.6M/104M [00:14<01:08, 1.26MB/s]
 18%|██████▊                               | 18.7M/104M [00:14<01:08, 1.24MB/s]
 18%|██████▊                               | 18.9M/104M [00:14<01:09, 1.23MB/s]
 18%|██████▉                               | 19.0M/104M [00:14<01:09, 1.22MB/s]
 18%|██████▉                               | 19.1M/104M [00:15<01:10, 1.21MB/s]
 18%|███████                               | 19.2M/104M [00:15<01:11, 1.20MB/s]
 19%|███████▏                               | 19.3M/104M [00:15<01:33, 913kB/s]
 19%|███████▎                               | 19.4M/104M [00:15<01:31, 930kB/s]
 19%|███████▎                               | 19.6M/104M [00:15<01:27, 969kB/s]
 19%|███████▏                              | 19.7M/104M [00:15<01:20, 1.05MB/s]
 19%|███████▏                              | 19.8M/104M [00:15<01:19, 1.06MB/s]
 19%|███████▎                              | 19.9M/104M [00:15<01:15, 1.12MB/s]
 19%|███████▎                              | 20.1M/104M [00:15<01:15, 1.11MB/s]
 19%|███████▎                              | 20.2M/104M [00:16<01:15, 1.11MB/s]
 19%|███████▍                              | 20.3M/104M [00:16<01:12, 1.15MB/s]
 20%|███████▍                              | 20.5M/104M [00:16<00:55, 1.51MB/s]
 20%|███████▌                              | 20.7M/104M [00:16<00:56, 1.49MB/s]
 20%|███████▌                              | 20.8M/104M [00:16<00:56, 1.48MB/s]
 20%|███████▋                              | 21.0M/104M [00:16<00:56, 1.47MB/s]
 20%|███████▋                              | 21.1M/104M [00:16<00:57, 1.45MB/s]
 20%|███████▊                              | 21.4M/104M [00:16<00:50, 1.65MB/s]
 21%|███████▊                              | 21.5M/104M [00:16<00:50, 1.63MB/s]
 21%|███████▉                              | 21.7M/104M [00:16<00:51, 1.61MB/s]
 21%|███████▉                              | 21.9M/104M [00:17<01:06, 1.23MB/s]
 21%|████████                              | 22.0M/104M [00:17<01:05, 1.25MB/s]
 21%|████████                              | 22.1M/104M [00:17<01:05, 1.26MB/s]
 21%|████████                              | 22.3M/104M [00:17<01:05, 1.26MB/s]
 21%|████████▏                             | 22.4M/104M [00:17<01:04, 1.27MB/s]
 22%|████████▏                             | 22.5M/104M [00:17<01:04, 1.27MB/s]
 22%|████████▎                             | 22.7M/104M [00:17<01:04, 1.26MB/s]
 22%|████████▎                             | 22.8M/104M [00:17<01:00, 1.36MB/s]
 22%|████████▍                             | 23.0M/104M [00:18<00:52, 1.56MB/s]
 22%|████████▍                             | 23.2M/104M [00:18<00:52, 1.54MB/s]
 22%|████████▌                             | 23.3M/104M [00:18<00:53, 1.52MB/s]
 23%|████████▌                             | 23.5M/104M [00:18<00:53, 1.52MB/s]
 23%|████████▌                             | 23.7M/104M [00:18<00:51, 1.55MB/s]
 23%|████████▋                             | 23.9M/104M [00:18<00:47, 1.70MB/s]
 23%|████████▊                             | 24.0M/104M [00:18<00:47, 1.68MB/s]
 23%|████████▊                             | 24.2M/104M [00:18<01:02, 1.28MB/s]
 23%|████████▉                             | 24.4M/104M [00:18<01:00, 1.33MB/s]
 24%|████████▉                             | 24.5M/104M [00:19<00:59, 1.34MB/s]
 24%|████████▉                             | 24.7M/104M [00:19<00:59, 1.35MB/s]
 24%|█████████                             | 24.8M/104M [00:19<00:59, 1.35MB/s]
 24%|█████████                             | 24.9M/104M [00:19<00:59, 1.34MB/s]
 24%|█████████▏                            | 25.1M/104M [00:19<01:16, 1.04MB/s]
 24%|█████████▏                            | 25.2M/104M [00:19<01:14, 1.06MB/s]
 24%|█████████▎                            | 25.4M/104M [00:19<01:00, 1.31MB/s]
 24%|█████████▎                            | 25.5M/104M [00:19<00:58, 1.34MB/s]
 25%|█████████▎                            | 25.7M/104M [00:20<00:58, 1.35MB/s]
 25%|█████████▍                            | 25.8M/104M [00:20<00:58, 1.35MB/s]
 25%|█████████▍                            | 26.0M/104M [00:20<00:58, 1.34MB/s]
 25%|█████████▌                            | 26.1M/104M [00:20<00:58, 1.33MB/s]
 25%|█████████▌                            | 26.2M/104M [00:20<00:58, 1.32MB/s]
 25%|█████████▌                            | 26.4M/104M [00:20<01:16, 1.02MB/s]
 25%|█████████▋                            | 26.5M/104M [00:20<01:08, 1.13MB/s]
 26%|█████████▋                            | 26.7M/104M [00:20<01:06, 1.16MB/s]
 26%|█████████▊                            | 26.8M/104M [00:20<01:06, 1.17MB/s]
 26%|█████████▊                            | 26.9M/104M [00:21<01:06, 1.17MB/s]
 26%|█████████▊                            | 27.0M/104M [00:21<01:06, 1.17MB/s]
 26%|█████████▉                            | 27.1M/104M [00:21<01:06, 1.17MB/s]
 26%|█████████▉                            | 27.3M/104M [00:21<01:06, 1.16MB/s]
 26%|█████████▉                            | 27.4M/104M [00:21<01:06, 1.15MB/s]
 26%|██████████                            | 27.5M/104M [00:21<01:05, 1.17MB/s]
 27%|██████████                            | 27.7M/104M [00:21<00:53, 1.43MB/s]
 27%|██████████▏                           | 27.9M/104M [00:21<00:54, 1.41MB/s]
 27%|██████████▏                           | 28.0M/104M [00:21<00:54, 1.40MB/s]
 27%|██████████▎                           | 28.2M/104M [00:21<00:51, 1.48MB/s]
 27%|██████████▎                           | 28.3M/104M [00:22<00:52, 1.46MB/s]
 27%|██████████▎                           | 28.5M/104M [00:22<00:52, 1.44MB/s]
 27%|██████████▍                           | 28.6M/104M [00:22<01:08, 1.10MB/s]
 28%|██████████▍                           | 28.7M/104M [00:22<01:07, 1.12MB/s]
 28%|██████████▌                           | 28.9M/104M [00:22<01:06, 1.13MB/s]
 28%|██████████▌                           | 29.0M/104M [00:22<01:06, 1.13MB/s]
 28%|██████████▌                           | 29.1M/104M [00:22<01:06, 1.13MB/s]
 28%|██████████▋                           | 29.2M/104M [00:22<01:06, 1.13MB/s]
 28%|██████████▋                           | 29.3M/104M [00:23<01:06, 1.12MB/s]
 28%|██████████▋                           | 29.4M/104M [00:23<01:06, 1.12MB/s]
 28%|██████████▊                           | 29.7M/104M [00:23<00:54, 1.37MB/s]
 29%|██████████▊                           | 29.8M/104M [00:23<00:51, 1.43MB/s]
 29%|██████████▉                           | 30.0M/104M [00:23<00:52, 1.42MB/s]
 29%|██████████▉                           | 30.1M/104M [00:23<01:08, 1.08MB/s]
 29%|███████████                           | 30.2M/104M [00:23<01:07, 1.10MB/s]
 29%|███████████                           | 30.4M/104M [00:23<00:56, 1.31MB/s]
 29%|███████████▏                          | 30.6M/104M [00:23<00:50, 1.46MB/s]
 30%|███████████▏                          | 30.8M/104M [00:24<00:46, 1.58MB/s]
 30%|███████████▎                          | 31.0M/104M [00:24<00:43, 1.67MB/s]
 30%|███████████▎                          | 31.2M/104M [00:24<00:44, 1.66MB/s]
 30%|███████████▍                          | 31.4M/104M [00:24<00:44, 1.65MB/s]
 30%|███████████▍                          | 31.5M/104M [00:24<00:44, 1.64MB/s]
 30%|███████████▌                          | 31.7M/104M [00:24<00:57, 1.26MB/s]
 31%|███████████▌                          | 31.8M/104M [00:24<00:56, 1.28MB/s]
 31%|███████████▋                          | 32.0M/104M [00:24<00:55, 1.30MB/s]
 31%|███████████▋                          | 32.2M/104M [00:25<00:46, 1.56MB/s]
 31%|███████████▊                          | 32.4M/104M [00:25<00:45, 1.57MB/s]
 31%|███████████▊                          | 32.5M/104M [00:25<00:45, 1.57MB/s]
 31%|███████████▉                          | 32.7M/104M [00:25<00:45, 1.56MB/s]
 31%|███████████▉                          | 32.8M/104M [00:25<00:46, 1.55MB/s]
 32%|████████████                          | 33.0M/104M [00:25<00:43, 1.62MB/s]
 32%|████████████                          | 33.2M/104M [00:25<00:44, 1.61MB/s]
 32%|████████████▏                         | 33.4M/104M [00:25<00:44, 1.59MB/s]
 32%|████████████▏                         | 33.5M/104M [00:25<00:44, 1.58MB/s]
 32%|████████████▎                         | 33.7M/104M [00:26<00:58, 1.21MB/s]
 32%|████████████▎                         | 33.9M/104M [00:26<00:50, 1.39MB/s]
 33%|████████████▍                         | 34.0M/104M [00:26<00:49, 1.41MB/s]
 33%|████████████▍                         | 34.2M/104M [00:26<00:49, 1.42MB/s]
 33%|████████████▌                         | 34.3M/104M [00:26<00:49, 1.42MB/s]
 33%|████████████▌                         | 34.5M/104M [00:26<00:49, 1.42MB/s]
 33%|████████████▌                         | 34.6M/104M [00:26<00:49, 1.41MB/s]
 33%|████████████▋                         | 34.8M/104M [00:26<01:03, 1.09MB/s]
 33%|████████████▋                         | 34.9M/104M [00:26<01:02, 1.11MB/s]
 34%|████████████▊                         | 35.0M/104M [00:27<01:01, 1.12MB/s]
 34%|████████████▊                         | 35.1M/104M [00:27<01:01, 1.13MB/s]
 34%|████████████▊                         | 35.3M/104M [00:27<01:00, 1.13MB/s]
 34%|████████████▉                         | 35.4M/104M [00:27<01:00, 1.13MB/s]
 34%|████████████▉                         | 35.5M/104M [00:27<01:00, 1.13MB/s]
 34%|████████████▉                         | 35.6M/104M [00:27<01:00, 1.13MB/s]
 34%|█████████████                         | 35.7M/104M [00:27<01:01, 1.12MB/s]
 34%|█████████████                         | 35.8M/104M [00:27<01:01, 1.11MB/s]
 34%|█████████████                         | 35.9M/104M [00:27<01:01, 1.10MB/s]
 35%|█████████████▏                        | 36.1M/104M [00:28<01:02, 1.10MB/s]
 35%|█████████████▏                        | 36.2M/104M [00:28<01:01, 1.10MB/s]
 35%|█████████████▎                        | 36.4M/104M [00:28<00:45, 1.48MB/s]
 35%|█████████████▎                        | 36.6M/104M [00:28<00:46, 1.46MB/s]
 35%|█████████████▍                        | 36.8M/104M [00:28<00:41, 1.64MB/s]
 35%|█████████████▍                        | 36.9M/104M [00:28<00:41, 1.61MB/s]
 36%|█████████████▌                        | 37.1M/104M [00:28<00:42, 1.59MB/s]
 36%|█████████████▌                        | 37.3M/104M [00:28<00:42, 1.58MB/s]
 36%|█████████████▋                        | 37.4M/104M [00:28<00:42, 1.56MB/s]
 36%|█████████████▋                        | 37.6M/104M [00:29<00:55, 1.19MB/s]
 36%|█████████████▋                        | 37.7M/104M [00:29<00:54, 1.21MB/s]
 36%|█████████████▊                        | 37.8M/104M [00:29<00:54, 1.22MB/s]
 36%|█████████████▊                        | 38.0M/104M [00:29<00:53, 1.23MB/s]
 37%|█████████████▉                        | 38.1M/104M [00:29<00:53, 1.23MB/s]
 37%|█████████████▉                        | 38.2M/104M [00:29<00:53, 1.23MB/s]
 37%|█████████████▉                        | 38.4M/104M [00:29<00:53, 1.22MB/s]
 37%|██████████████                        | 38.5M/104M [00:29<00:54, 1.21MB/s]
 37%|██████████████                        | 38.6M/104M [00:29<00:54, 1.20MB/s]
 37%|██████████████                        | 38.7M/104M [00:29<00:54, 1.20MB/s]
 37%|██████████████▏                       | 38.9M/104M [00:30<00:47, 1.37MB/s]
 37%|██████████████▏                       | 39.1M/104M [00:30<00:44, 1.47MB/s]
 38%|██████████████▎                       | 39.3M/104M [00:30<00:37, 1.74MB/s]
 38%|██████████████▍                       | 39.5M/104M [00:30<00:37, 1.71MB/s]
 38%|██████████████▍                       | 39.7M/104M [00:30<00:38, 1.69MB/s]
 38%|██████████████▌                       | 39.8M/104M [00:30<00:38, 1.67MB/s]
 38%|██████████████▌                       | 40.0M/104M [00:30<00:38, 1.66MB/s]
 39%|██████████████▋                       | 40.2M/104M [00:30<00:50, 1.27MB/s]
 39%|██████████████▋                       | 40.3M/104M [00:31<00:49, 1.29MB/s]
 39%|██████████████▋                       | 40.5M/104M [00:31<00:48, 1.31MB/s]
 39%|██████████████▊                       | 40.6M/104M [00:31<00:48, 1.31MB/s]
 39%|██████████████▊                       | 40.7M/104M [00:31<00:48, 1.31MB/s]
 39%|██████████████▉                       | 40.9M/104M [00:31<00:48, 1.31MB/s]
 39%|██████████████▉                       | 41.1M/104M [00:31<00:41, 1.51MB/s]
 40%|███████████████                       | 41.2M/104M [00:31<00:41, 1.53MB/s]
 40%|███████████████                       | 41.4M/104M [00:31<00:41, 1.51MB/s]
 40%|███████████████▏                      | 41.6M/104M [00:31<00:41, 1.50MB/s]
 40%|███████████████▏                      | 41.7M/104M [00:32<00:54, 1.15MB/s]
 40%|███████████████▏                      | 41.8M/104M [00:32<00:51, 1.21MB/s]
 40%|███████████████▎                      | 42.0M/104M [00:32<00:49, 1.26MB/s]
 40%|███████████████▎                      | 42.1M/104M [00:32<00:48, 1.27MB/s]
 41%|███████████████▍                      | 42.3M/104M [00:32<00:48, 1.27MB/s]
 41%|███████████████▍                      | 42.4M/104M [00:32<00:48, 1.27MB/s]
 41%|███████████████▍                      | 42.5M/104M [00:32<00:48, 1.27MB/s]
 41%|███████████████▌                      | 42.7M/104M [00:32<00:44, 1.38MB/s]
 41%|███████████████▌                      | 42.8M/104M [00:32<00:44, 1.37MB/s]
 41%|███████████████▋                      | 43.0M/104M [00:33<00:45, 1.36MB/s]
 41%|███████████████▋                      | 43.1M/104M [00:33<00:45, 1.35MB/s]
 41%|███████████████▊                      | 43.3M/104M [00:33<00:45, 1.33MB/s]
 42%|███████████████▊                      | 43.4M/104M [00:33<00:59, 1.02MB/s]
 42%|███████████████▊                      | 43.5M/104M [00:33<00:56, 1.08MB/s]
 42%|███████████████▉                      | 43.7M/104M [00:33<00:48, 1.25MB/s]
 42%|████████████████                      | 43.9M/104M [00:33<00:38, 1.55MB/s]
 42%|████████████████                      | 44.1M/104M [00:33<00:38, 1.56MB/s]
 42%|████████████████▏                     | 44.3M/104M [00:33<00:38, 1.56MB/s]
 43%|████████████████▏                     | 44.4M/104M [00:34<00:38, 1.55MB/s]
 43%|████████████████▏                     | 44.6M/104M [00:34<00:38, 1.54MB/s]
 43%|████████████████▎                     | 44.7M/104M [00:34<00:50, 1.19MB/s]
 43%|████████████████▎                     | 44.9M/104M [00:34<00:49, 1.21MB/s]
 43%|████████████████▊                      | 45.0M/104M [00:34<01:00, 974kB/s]
 43%|████████████████▊                      | 45.1M/104M [00:34<00:59, 997kB/s]
 43%|████████████████▍                     | 45.2M/104M [00:34<00:57, 1.02MB/s]
 43%|████████████████▌                     | 45.3M/104M [00:34<00:57, 1.03MB/s]
 44%|████████████████▌                     | 45.5M/104M [00:35<00:56, 1.03MB/s]
 44%|████████████████▌                     | 45.6M/104M [00:35<00:56, 1.03MB/s]
 44%|████████████████▋                     | 45.8M/104M [00:35<00:45, 1.28MB/s]
 44%|████████████████▋                     | 45.9M/104M [00:35<00:45, 1.28MB/s]
 44%|████████████████▊                     | 46.0M/104M [00:35<00:45, 1.27MB/s]
 44%|████████████████▊                     | 46.1M/104M [00:35<00:46, 1.26MB/s]
 44%|████████████████▊                     | 46.3M/104M [00:35<00:46, 1.25MB/s]
 44%|████████████████▉                     | 46.4M/104M [00:35<00:46, 1.24MB/s]
 45%|████████████████▉                     | 46.5M/104M [00:35<00:47, 1.23MB/s]
 45%|████████████████▉                     | 46.7M/104M [00:36<00:47, 1.22MB/s]
 45%|█████████████████                     | 46.8M/104M [00:36<00:47, 1.21MB/s]
 45%|█████████████████                     | 46.9M/104M [00:36<00:47, 1.20MB/s]
 45%|█████████████████▌                     | 47.0M/104M [00:36<01:02, 917kB/s]
 45%|█████████████████▋                     | 47.1M/104M [00:36<00:57, 999kB/s]
 45%|█████████████████▏                    | 47.3M/104M [00:36<00:53, 1.07MB/s]
 45%|█████████████████▎                    | 47.4M/104M [00:36<00:50, 1.12MB/s]
 46%|█████████████████▎                    | 47.5M/104M [00:36<00:50, 1.12MB/s]
 46%|█████████████████▎                    | 47.6M/104M [00:36<00:50, 1.12MB/s]
 46%|█████████████████▍                    | 47.8M/104M [00:37<00:50, 1.12MB/s]
 46%|█████████████████▍                    | 47.9M/104M [00:37<00:49, 1.14MB/s]
 46%|█████████████████▌                    | 48.1M/104M [00:37<00:41, 1.36MB/s]
 46%|█████████████████▌                    | 48.3M/104M [00:37<00:33, 1.66MB/s]
 46%|█████████████████▋                    | 48.5M/104M [00:37<00:34, 1.64MB/s]
 47%|█████████████████▋                    | 48.7M/104M [00:37<00:44, 1.25MB/s]
 47%|█████████████████▊                    | 48.8M/104M [00:37<00:43, 1.27MB/s]
 47%|█████████████████▊                    | 48.9M/104M [00:37<00:43, 1.29MB/s]
 47%|█████████████████▉                    | 49.1M/104M [00:37<00:42, 1.29MB/s]
 47%|█████████████████▉                    | 49.2M/104M [00:38<00:42, 1.29MB/s]
 47%|█████████████████▉                    | 49.3M/104M [00:38<00:54, 1.01MB/s]
 47%|██████████████████                    | 49.5M/104M [00:38<00:47, 1.15MB/s]
 48%|██████████████████▏                   | 49.7M/104M [00:38<00:37, 1.46MB/s]
 48%|██████████████████▏                   | 49.9M/104M [00:38<00:36, 1.47MB/s]
 48%|██████████████████▏                   | 50.1M/104M [00:38<00:46, 1.16MB/s]
 48%|██████████████████▎                   | 50.2M/104M [00:38<00:45, 1.19MB/s]
 48%|██████████████████▎                   | 50.4M/104M [00:39<00:39, 1.35MB/s]
 48%|██████████████████▍                   | 50.5M/104M [00:39<00:39, 1.36MB/s]
 49%|██████████████████▍                   | 50.7M/104M [00:39<00:39, 1.37MB/s]
 49%|██████████████████▌                   | 50.8M/104M [00:39<00:49, 1.07MB/s]
 49%|██████████████████▌                   | 50.9M/104M [00:39<00:48, 1.09MB/s]
 49%|██████████████████▌                   | 51.1M/104M [00:39<00:48, 1.11MB/s]
 49%|██████████████████▋                   | 51.2M/104M [00:39<00:43, 1.22MB/s]
 49%|██████████████████▋                   | 51.4M/104M [00:39<00:40, 1.32MB/s]
 49%|██████████████████▊                   | 51.5M/104M [00:39<00:39, 1.32MB/s]
 50%|██████████████████▊                   | 51.7M/104M [00:40<00:39, 1.32MB/s]
 50%|██████████████████▊                   | 51.8M/104M [00:40<00:39, 1.31MB/s]
 50%|██████████████████▉                   | 51.9M/104M [00:40<00:40, 1.30MB/s]
 50%|██████████████████▉                   | 52.1M/104M [00:40<00:40, 1.29MB/s]
 50%|███████████████████                   | 52.2M/104M [00:40<00:40, 1.28MB/s]
 50%|███████████████████▌                   | 52.3M/104M [00:40<00:53, 976kB/s]
 50%|███████████████████▌                   | 52.4M/104M [00:40<00:52, 992kB/s]
 50%|███████████████████▏                  | 52.6M/104M [00:40<00:40, 1.28MB/s]
 51%|███████████████████▏                  | 52.8M/104M [00:41<00:39, 1.29MB/s]
 51%|███████████████████▎                  | 52.9M/104M [00:41<00:39, 1.29MB/s]
 51%|███████████████████▎                  | 53.1M/104M [00:41<00:39, 1.29MB/s]
 51%|███████████████████▍                  | 53.2M/104M [00:41<00:50, 1.00MB/s]
 51%|███████████████████▍                  | 53.3M/104M [00:41<00:49, 1.02MB/s]
 51%|███████████████████▍                  | 53.5M/104M [00:41<00:40, 1.24MB/s]
 51%|███████████████████▌                  | 53.7M/104M [00:41<00:38, 1.33MB/s]
 52%|███████████████████▌                  | 53.8M/104M [00:41<00:35, 1.44MB/s]
 52%|███████████████████▋                  | 54.1M/104M [00:41<00:29, 1.70MB/s]
 52%|███████████████████▊                  | 54.3M/104M [00:42<00:29, 1.71MB/s]
 52%|███████████████████▊                  | 54.4M/104M [00:42<00:29, 1.70MB/s]
 52%|███████████████████▉                  | 54.6M/104M [00:42<00:29, 1.68MB/s]
 53%|███████████████████▉                  | 54.8M/104M [00:42<00:38, 1.29MB/s]
 53%|████████████████████                  | 54.9M/104M [00:42<00:37, 1.32MB/s]
 53%|████████████████████                  | 55.1M/104M [00:42<00:37, 1.33MB/s]
 53%|████████████████████                  | 55.2M/104M [00:42<00:46, 1.06MB/s]
 53%|████████████████████▏                 | 55.3M/104M [00:42<00:45, 1.08MB/s]
 53%|████████████████████▏                 | 55.5M/104M [00:43<00:39, 1.23MB/s]
 53%|████████████████████▎                 | 55.6M/104M [00:43<00:39, 1.24MB/s]
 53%|████████████████████▎                 | 55.8M/104M [00:43<00:38, 1.25MB/s]
 54%|████████████████████▍                 | 55.9M/104M [00:43<00:36, 1.33MB/s]
 54%|████████████████████▍                 | 56.1M/104M [00:43<00:33, 1.45MB/s]
 54%|████████████████████▍                 | 56.3M/104M [00:43<00:33, 1.43MB/s]
 54%|████████████████████▌                 | 56.4M/104M [00:43<00:43, 1.10MB/s]
 54%|████████████████████▌                 | 56.5M/104M [00:43<00:42, 1.13MB/s]
 54%|████████████████████▋                 | 56.7M/104M [00:44<00:41, 1.14MB/s]
 54%|████████████████████▋                 | 56.8M/104M [00:44<00:41, 1.15MB/s]
 55%|████████████████████▋                 | 56.9M/104M [00:44<00:40, 1.16MB/s]
 55%|████████████████████▊                 | 57.1M/104M [00:44<00:33, 1.41MB/s]
 55%|████████████████████▊                 | 57.3M/104M [00:44<00:33, 1.41MB/s]
 55%|████████████████████▉                 | 57.4M/104M [00:44<00:33, 1.41MB/s]
 55%|████████████████████▉                 | 57.5M/104M [00:44<00:33, 1.40MB/s]
 55%|█████████████████████                 | 57.7M/104M [00:44<00:31, 1.46MB/s]
 55%|█████████████████████                 | 57.9M/104M [00:44<00:32, 1.45MB/s]
 56%|█████████████████████▏                | 58.0M/104M [00:44<00:32, 1.44MB/s]
 56%|█████████████████████▏                | 58.1M/104M [00:45<00:32, 1.42MB/s]
 56%|█████████████████████▏                | 58.3M/104M [00:45<00:32, 1.41MB/s]
 56%|█████████████████████▎                | 58.4M/104M [00:45<00:33, 1.39MB/s]
 56%|█████████████████████▎                | 58.6M/104M [00:45<00:33, 1.38MB/s]
 56%|█████████████████████▍                | 58.7M/104M [00:45<00:33, 1.36MB/s]
 56%|█████████████████████▍                | 58.8M/104M [00:45<00:33, 1.35MB/s]
 57%|█████████████████████▍                | 59.0M/104M [00:45<00:33, 1.34MB/s]
 57%|█████████████████████▌                | 59.1M/104M [00:45<00:34, 1.33MB/s]
 57%|█████████████████████▌                | 59.3M/104M [00:45<00:34, 1.31MB/s]
 57%|█████████████████████▋                | 59.4M/104M [00:46<00:34, 1.30MB/s]
 57%|█████████████████████▋                | 59.5M/104M [00:46<00:33, 1.32MB/s]
 57%|█████████████████████▋                | 59.7M/104M [00:46<00:34, 1.31MB/s]
 57%|█████████████████████▊                | 59.8M/104M [00:46<00:34, 1.29MB/s]
 57%|█████████████████████▊                | 59.9M/104M [00:46<00:34, 1.28MB/s]
 58%|█████████████████████▉                | 60.1M/104M [00:46<00:34, 1.27MB/s]
 58%|█████████████████████▉                | 60.2M/104M [00:46<00:36, 1.22MB/s]
 58%|█████████████████████▉                | 60.3M/104M [00:46<00:36, 1.21MB/s]
 58%|██████████████████████                | 60.4M/104M [00:46<00:36, 1.20MB/s]
 58%|██████████████████████                | 60.6M/104M [00:46<00:35, 1.24MB/s]
 58%|██████████████████████                | 60.7M/104M [00:47<00:35, 1.22MB/s]
 58%|██████████████████████▏               | 60.8M/104M [00:47<00:36, 1.21MB/s]
 58%|██████████████████████▏               | 61.0M/104M [00:47<00:30, 1.41MB/s]
 59%|██████████████████████▎               | 61.1M/104M [00:47<00:31, 1.39MB/s]
 59%|██████████████████████▎               | 61.3M/104M [00:47<00:31, 1.37MB/s]
 59%|██████████████████████▍               | 61.4M/104M [00:47<00:31, 1.36MB/s]
 59%|██████████████████████▍               | 61.6M/104M [00:47<00:41, 1.04MB/s]
 59%|██████████████████████▍               | 61.7M/104M [00:47<00:40, 1.06MB/s]
 59%|██████████████████████▌               | 61.8M/104M [00:47<00:39, 1.07MB/s]
 59%|██████████████████████▌               | 61.9M/104M [00:48<00:39, 1.07MB/s]
 59%|██████████████████████▌               | 62.0M/104M [00:48<00:39, 1.08MB/s]
 60%|██████████████████████▋               | 62.1M/104M [00:48<00:37, 1.14MB/s]
 60%|██████████████████████▋               | 62.3M/104M [00:48<00:37, 1.13MB/s]
 60%|██████████████████████▋               | 62.4M/104M [00:48<00:37, 1.13MB/s]
 60%|██████████████████████▊               | 62.5M/104M [00:48<00:33, 1.25MB/s]
 60%|██████████████████████▊               | 62.7M/104M [00:48<00:32, 1.30MB/s]
 60%|██████████████████████▉               | 62.8M/104M [00:48<00:32, 1.28MB/s]
 60%|██████████████████████▉               | 62.9M/104M [00:48<00:32, 1.27MB/s]
 60%|██████████████████████▉               | 63.1M/104M [00:49<00:32, 1.26MB/s]
 61%|███████████████████████               | 63.2M/104M [00:49<00:33, 1.24MB/s]
 61%|███████████████████████               | 63.4M/104M [00:49<00:30, 1.32MB/s]
 61%|███████████████████████▏              | 63.5M/104M [00:49<00:31, 1.31MB/s]
 61%|███████████████████████▏              | 63.6M/104M [00:49<00:31, 1.30MB/s]
 61%|███████████████████████▏              | 63.8M/104M [00:49<00:28, 1.42MB/s]
 61%|███████████████████████▎              | 63.9M/104M [00:49<00:28, 1.42MB/s]
 61%|███████████████████████▎              | 64.1M/104M [00:49<00:28, 1.40MB/s]
 62%|███████████████████████▍              | 64.2M/104M [00:49<00:28, 1.39MB/s]
 62%|███████████████████████▍              | 64.4M/104M [00:49<00:29, 1.37MB/s]
 62%|███████████████████████▌              | 64.5M/104M [00:50<00:37, 1.05MB/s]
 62%|███████████████████████▌              | 64.6M/104M [00:50<00:37, 1.07MB/s]
 62%|███████████████████████▌              | 64.7M/104M [00:50<00:36, 1.08MB/s]
 62%|███████████████████████▋              | 64.8M/104M [00:50<00:36, 1.09MB/s]
 62%|███████████████████████▋              | 65.0M/104M [00:50<00:32, 1.20MB/s]
 62%|███████████████████████▋              | 65.1M/104M [00:50<00:32, 1.22MB/s]
 63%|███████████████████████▊              | 65.3M/104M [00:50<00:32, 1.21MB/s]
 63%|███████████████████████▊              | 65.4M/104M [00:50<00:31, 1.25MB/s]
 63%|███████████████████████▉              | 65.6M/104M [00:51<00:27, 1.38MB/s]
 63%|███████████████████████▉              | 65.7M/104M [00:51<00:28, 1.37MB/s]
 63%|███████████████████████▉              | 65.9M/104M [00:51<00:28, 1.35MB/s]
 63%|████████████████████████              | 66.0M/104M [00:51<00:36, 1.04MB/s]
 63%|████████████████████████              | 66.2M/104M [00:51<00:30, 1.24MB/s]
 64%|████████████████████████▏             | 66.4M/104M [00:51<00:25, 1.49MB/s]
 64%|████████████████████████▎             | 66.6M/104M [00:51<00:22, 1.64MB/s]
 64%|████████████████████████▎             | 66.8M/104M [00:51<00:21, 1.75MB/s]
 64%|████████████████████████▍             | 67.0M/104M [00:51<00:21, 1.75MB/s]
 64%|████████████████████████▍             | 67.2M/104M [00:52<00:21, 1.74MB/s]
 65%|████████████████████████▌             | 67.4M/104M [00:52<00:27, 1.35MB/s]
 65%|████████████████████████▌             | 67.5M/104M [00:52<00:26, 1.37MB/s]
 65%|████████████████████████▋             | 67.7M/104M [00:52<00:26, 1.39MB/s]
 65%|████████████████████████▋             | 67.9M/104M [00:52<00:24, 1.46MB/s]
 65%|████████████████████████▊             | 68.0M/104M [00:52<00:24, 1.46MB/s]
 65%|████████████████████████▊             | 68.2M/104M [00:52<00:24, 1.46MB/s]
 65%|████████████████████████▉             | 68.3M/104M [00:52<00:31, 1.13MB/s]
 66%|████████████████████████▉             | 68.4M/104M [00:53<00:31, 1.15MB/s]
 66%|████████████████████████▉             | 68.6M/104M [00:53<00:30, 1.16MB/s]
 66%|█████████████████████████             | 68.7M/104M [00:53<00:30, 1.17MB/s]
 66%|█████████████████████████             | 68.8M/104M [00:53<00:30, 1.17MB/s]
 66%|█████████████████████████             | 68.9M/104M [00:53<00:30, 1.17MB/s]
 66%|█████████████████████████▏            | 69.0M/104M [00:53<00:30, 1.17MB/s]
 66%|█████████████████████████▏            | 69.2M/104M [00:53<00:30, 1.16MB/s]
 66%|█████████████████████████▏            | 69.3M/104M [00:53<00:30, 1.15MB/s]
 67%|█████████████████████████▎            | 69.4M/104M [00:53<00:27, 1.26MB/s]
 67%|█████████████████████████▍            | 69.7M/104M [00:54<00:21, 1.58MB/s]
 67%|█████████████████████████▍            | 69.8M/104M [00:54<00:22, 1.56MB/s]
 67%|█████████████████████████▌            | 70.0M/104M [00:54<00:22, 1.55MB/s]
 67%|█████████████████████████▌            | 70.2M/104M [00:54<00:22, 1.54MB/s]
 67%|█████████████████████████▌            | 70.3M/104M [00:54<00:22, 1.52MB/s]
 68%|█████████████████████████▋            | 70.5M/104M [00:54<00:29, 1.16MB/s]
 68%|█████████████████████████▋            | 70.6M/104M [00:54<00:28, 1.18MB/s]
 68%|█████████████████████████▊            | 70.7M/104M [00:54<00:26, 1.26MB/s]
 68%|█████████████████████████▊            | 70.9M/104M [00:54<00:25, 1.30MB/s]
 68%|█████████████████████████▉            | 71.0M/104M [00:55<00:25, 1.30MB/s]
 68%|█████████████████████████▉            | 71.2M/104M [00:55<00:25, 1.30MB/s]
 68%|█████████████████████████▉            | 71.3M/104M [00:55<00:25, 1.29MB/s]
 68%|██████████████████████████            | 71.4M/104M [00:55<00:25, 1.29MB/s]
 69%|██████████████████████████▊            | 71.6M/104M [00:55<00:33, 992kB/s]
 69%|██████████████████████████            | 71.7M/104M [00:55<00:32, 1.01MB/s]
 69%|██████████████████████████▏           | 71.8M/104M [00:55<00:31, 1.02MB/s]
 69%|██████████████████████████▏           | 71.9M/104M [00:55<00:31, 1.03MB/s]
 69%|██████████████████████████▏           | 72.0M/104M [00:55<00:31, 1.03MB/s]
 69%|██████████████████████████▎           | 72.2M/104M [00:56<00:25, 1.25MB/s]
 69%|██████████████████████████▍           | 72.4M/104M [00:56<00:21, 1.48MB/s]
 70%|██████████████████████████▍           | 72.5M/104M [00:56<00:21, 1.47MB/s]
 70%|██████████████████████████▍           | 72.7M/104M [00:56<00:27, 1.13MB/s]
 70%|██████████████████████████▌           | 72.8M/104M [00:56<00:27, 1.15MB/s]
 70%|██████████████████████████▌           | 72.9M/104M [00:56<00:26, 1.17MB/s]
 70%|██████████████████████████▋           | 73.1M/104M [00:56<00:26, 1.17MB/s]
 70%|██████████████████████████▋           | 73.2M/104M [00:56<00:25, 1.23MB/s]
 70%|██████████████████████████▊           | 73.5M/104M [00:57<00:19, 1.55MB/s]
 71%|██████████████████████████▊           | 73.6M/104M [00:57<00:19, 1.54MB/s]
 71%|██████████████████████████▉           | 73.9M/104M [00:57<00:17, 1.75MB/s]
 71%|██████████████████████████▉           | 74.1M/104M [00:57<00:16, 1.83MB/s]
 71%|███████████████████████████           | 74.3M/104M [00:57<00:16, 1.82MB/s]
 71%|███████████████████████████           | 74.4M/104M [00:57<00:21, 1.39MB/s]
 72%|███████████████████████████▏          | 74.6M/104M [00:57<00:20, 1.42MB/s]
 72%|███████████████████████████▏          | 74.8M/104M [00:57<00:20, 1.45MB/s]
 72%|███████████████████████████▎          | 74.9M/104M [00:57<00:20, 1.46MB/s]
 72%|███████████████████████████▎          | 75.1M/104M [00:58<00:20, 1.46MB/s]
 72%|███████████████████████████▍          | 75.2M/104M [00:58<00:19, 1.46MB/s]
 72%|███████████████████████████▍          | 75.4M/104M [00:58<00:20, 1.44MB/s]
 72%|███████████████████████████▌          | 75.5M/104M [00:58<00:25, 1.11MB/s]
 73%|███████████████████████████▌          | 75.6M/104M [00:58<00:24, 1.15MB/s]
 73%|███████████████████████████▌          | 75.8M/104M [00:58<00:24, 1.16MB/s]
 73%|███████████████████████████▋          | 75.9M/104M [00:58<00:24, 1.17MB/s]
 73%|███████████████████████████▋          | 76.1M/104M [00:58<00:21, 1.32MB/s]
 73%|███████████████████████████▊          | 76.2M/104M [00:59<00:21, 1.32MB/s]
 73%|███████████████████████████▊          | 76.3M/104M [00:59<00:21, 1.31MB/s]
 73%|███████████████████████████▊          | 76.5M/104M [00:59<00:21, 1.31MB/s]
 73%|███████████████████████████▉          | 76.6M/104M [00:59<00:21, 1.30MB/s]
 74%|███████████████████████████▉          | 76.7M/104M [00:59<00:21, 1.29MB/s]
 74%|████████████████████████████          | 76.9M/104M [00:59<00:21, 1.28MB/s]
 74%|████████████████████████████          | 77.0M/104M [00:59<00:21, 1.27MB/s]
 74%|████████████████████████████          | 77.1M/104M [00:59<00:21, 1.25MB/s]
 74%|████████████████████████████▏         | 77.2M/104M [00:59<00:21, 1.24MB/s]
 74%|████████████████████████████▏         | 77.5M/104M [00:59<00:17, 1.52MB/s]
 74%|████████████████████████████▎         | 77.6M/104M [01:00<00:17, 1.50MB/s]
 75%|████████████████████████████▎         | 77.8M/104M [01:00<00:17, 1.48MB/s]
 75%|████████████████████████████▍         | 77.9M/104M [01:00<00:18, 1.46MB/s]
 75%|████████████████████████████▍         | 78.1M/104M [01:00<00:18, 1.45MB/s]
 75%|████████████████████████████▍         | 78.2M/104M [01:00<00:18, 1.43MB/s]
 75%|████████████████████████████▌         | 78.4M/104M [01:00<00:18, 1.42MB/s]
 75%|████████████████████████████▌         | 78.5M/104M [01:00<00:23, 1.08MB/s]
 75%|████████████████████████████▋         | 78.6M/104M [01:00<00:23, 1.10MB/s]
 75%|████████████████████████████▋         | 78.7M/104M [01:00<00:22, 1.11MB/s]
 76%|████████████████████████████▋         | 78.9M/104M [01:01<00:22, 1.12MB/s]
 76%|████████████████████████████▊         | 79.0M/104M [01:01<00:21, 1.16MB/s]
 76%|████████████████████████████▊         | 79.1M/104M [01:01<00:21, 1.16MB/s]
 76%|████████████████████████████▊         | 79.2M/104M [01:01<00:21, 1.16MB/s]
 76%|████████████████████████████▉         | 79.3M/104M [01:01<00:21, 1.15MB/s]
 76%|████████████████████████████▉         | 79.5M/104M [01:01<00:21, 1.14MB/s]
 77%|█████████████████████████████▏        | 80.0M/104M [01:01<00:10, 2.26MB/s]
 77%|█████████████████████████████▎        | 80.4M/104M [01:01<00:08, 2.94MB/s]
 79%|█████████████████████████████▉        | 82.0M/104M [01:01<00:03, 6.59MB/s]
 80%|██████████████████████████████▍       | 83.6M/104M [01:02<00:02, 9.33MB/s]
 82%|███████████████████████████████       | 85.3M/104M [01:02<00:01, 11.2MB/s]
 83%|███████████████████████████████▋      | 86.9M/104M [01:02<00:01, 12.7MB/s]
 85%|████████████████████████████████▎     | 88.5M/104M [01:02<00:01, 13.5MB/s]
 87%|████████████████████████████████▉     | 90.3M/104M [01:02<00:00, 14.4MB/s]
 88%|█████████████████████████████████▍    | 91.8M/104M [01:02<00:00, 14.7MB/s]
 90%|██████████████████████████████████    | 93.6M/104M [01:02<00:00, 15.3MB/s]
 91%|██████████████████████████████████▋   | 95.1M/104M [01:02<00:00, 15.2MB/s]
 93%|███████████████████████████████████▎  | 96.9M/104M [01:02<00:00, 15.7MB/s]
 94%|███████████████████████████████████▉  | 98.5M/104M [01:02<00:00, 15.5MB/s]
 96%|█████████████████████████████████████▍ | 100M/104M [01:03<00:00, 15.9MB/s]
 98%|██████████████████████████████████████ | 102M/104M [01:03<00:00, 15.5MB/s]
 99%|██████████████████████████████████████▋| 103M/104M [01:03<00:00, 15.9MB/s]
  0%|                                               | 0.00/104M [00:00<?, ?B/s]
100%|████████████████████████████████████████| 104M/104M [00:00<00:00, 367GB/s]

[<Axes: title={'center': 'Original'}, xlabel='kx axis ($A^{-1}$)', ylabel='ky axis ($A^{-1}$)'>, <Axes: title={'center': 'GaussFilt(all)'}, xlabel='kx axis ($A^{-1}$)', ylabel='ky axis ($A^{-1}$)'>, <Axes: title={'center': 'GaussFilt(real space)'}, xlabel='kx axis ($A^{-1}$)', ylabel='ky axis ($A^{-1}$)'>]
"""
The `filter` function can also be used with a custom function as long as the function
takes a numpy array as input and returns a numpy array of the same shape.
"""


def custom_filter(array):
    filtered = gaussian_filter(array, sigma=1.0)
    return filtered - np.mean(filtered)


s_filtered3 = s.filter(custom_filter, inplace=False)  # Custom filter

hs.plot.plot_images(
    [s.inav[10, 10], s_filtered3.inav[10, 10]],
    label=["Original", "GaussFilt(Custom)"],
    tight_layout=True,
    vmax="99th",
)
Original, GaussFilt(Custom)
[<Axes: title={'center': 'Original'}, xlabel='kx axis ($A^{-1}$)', ylabel='ky axis ($A^{-1}$)'>, <Axes: title={'center': 'GaussFilt(Custom)'}, xlabel='kx axis ($A^{-1}$)', ylabel='ky axis ($A^{-1}$)'>]
"""
For lazy datasets, functions which operate on dask arrays can be used. For example,
the `gaussian_filter` function from `scipy.ndimage` is replaced with the `dask_image`
version which operates on dask arrays.
"""

s = s.as_lazy()  # Convert to lazy dataset
s_filtered4 = s.filter(
    dask_gaussian_filter, sigma=1.0, inplace=False
)  # Gaussian filter with sigma=1.0

hs.plot.plot_images(
    [s_filtered.inav[10, 10], s_filtered4.inav[10, 10]],
    label=["GaussFilt", "GaussFilt(Lazy)"],
    tight_layout=True,
    vmax="99th",
)
GaussFilt, GaussFilt(Lazy)
[<Axes: title={'center': 'GaussFilt'}, xlabel='kx axis ($A^{-1}$)', ylabel='ky axis ($A^{-1}$)'>, <Axes: title={'center': 'GaussFilt(Lazy)'}, xlabel='kx axis ($A^{-1}$)', ylabel='ky axis ($A^{-1}$)'>]

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

Gallery generated by Sphinx-Gallery