Note
Go to the end to download the full example code
Reconstruction of the diffusion signal with the WMTI model#
DKI can also be used to derive concrete biophysical parameters by applying microstructural models to DT and KT estimated from DKI. For instance, Fieremans et al. [Fierem2011] showed that DKI can be used to estimate the contribution of hindered and restricted diffusion for well-aligned fibers - a model that was later referred to as the white matter tract integrity WMTI technique [Fierem2013]. The two tensors of WMTI can be also interpreted as the influences of intra- and extra-cellular compartments and can be used to estimate the axonal volume fraction and diffusion extra-cellular tortuosity. According to previous studies [Fierem2012] [Fierem2013], these latter measures can be used to distinguish processes of axonal loss from processes of myelin degeneration.
In this example, we show how to process a dMRI dataset using the WMTI model.
First, we import all relevant modules:
import numpy as np
import matplotlib.pyplot as plt
import dipy.reconst.dki as dki
import dipy.reconst.dki_micro as dki_micro
from dipy.core.gradients import gradient_table
from dipy.data import get_fnames
from dipy.io.gradients import read_bvals_bvecs
from dipy.io.image import load_nifti
from dipy.segment.mask import median_otsu
from scipy.ndimage import gaussian_filter
As the standard DKI, WMTI requires multi-shell data, i.e. data acquired from more than one non-zero b-value. Here, we use a fetcher to download a multi-shell dataset which was kindly provided by Hansen and Jespersen (more details about the data are provided in their paper [Hansen2016]).
fraw, fbval, fbvec, t1_fname = get_fnames('cfin_multib')
data, affine = load_nifti(fraw)
bvals, bvecs = read_bvals_bvecs(fbval, fbvec)
gtab = gradient_table(bvals, bvecs)
For comparison, this dataset is pre-processed using the same steps used in the example for reconstructing DKI (see Reconstruction of the diffusion signal with the kurtosis tensor model).
# data masking
maskdata, mask = median_otsu(data, vol_idx=[0, 1], median_radius=4, numpass=2,
autocrop=False, dilate=1)
# Smoothing
fwhm = 1.25
gauss_std = fwhm / np.sqrt(8 * np.log(2))
data_smooth = np.zeros(data.shape)
for v in range(data.shape[-1]):
data_smooth[..., v] = gaussian_filter(data[..., v], sigma=gauss_std)
The WMTI model can be defined in DIPY by instantiating the ‘KurtosisMicrostructureModel’ object in the following way:
Before fitting this microstructural model, it is useful to indicate the regions in which this model provides meaningful information (i.e. voxels of well-aligned fibers). Following Fieremans et al. [Fieremans2011], a simple way to select this region is to generate a well-aligned fiber mask based on the values of diffusion sphericity, planarity and linearity. Here we will follow these selection criteria for a better comparison of our figures with the original article published by Fieremans et al. [Fieremans2011]. Nevertheless, it is important to note that voxels with well-aligned fibers can be selected based on other approaches such as using predefined regions of interest.
# Diffusion Tensor is computed based on the standard DKI model
dkimodel = dki.DiffusionKurtosisModel(gtab)
dkifit = dkimodel.fit(data_smooth, mask=mask)
# Initialize well aligned mask with ones
well_aligned_mask = np.ones(data.shape[:-1], dtype='bool')
# Diffusion coefficient of linearity (cl) has to be larger than 0.4, thus
# we exclude voxels with cl < 0.4.
cl = dkifit.linearity.copy()
well_aligned_mask[cl < 0.4] = False
# Diffusion coefficient of planarity (cp) has to be lower than 0.2, thus
# we exclude voxels with cp > 0.2.
cp = dkifit.planarity.copy()
well_aligned_mask[cp > 0.2] = False
# Diffusion coefficient of sphericity (cs) has to be lower than 0.35, thus
# we exclude voxels with cs > 0.35.
cs = dkifit.sphericity.copy()
well_aligned_mask[cs > 0.35] = False
# Removing nan associated with background voxels
well_aligned_mask[np.isnan(cl)] = False
well_aligned_mask[np.isnan(cp)] = False
well_aligned_mask[np.isnan(cs)] = False
0%| | 0/57580 [00:00<?, ?it/s]
0%|▏ | 63/57580 [00:00<01:31, 627.45it/s]
0%|▎ | 131/57580 [00:00<01:28, 651.44it/s]
0%|▍ | 202/57580 [00:00<01:25, 674.03it/s]
0%|▌ | 273/57580 [00:00<01:23, 683.84it/s]
1%|▊ | 346/57580 [00:00<01:21, 698.19it/s]
1%|▉ | 416/57580 [00:00<01:26, 664.23it/s]
1%|█ | 486/57580 [00:00<01:24, 674.46it/s]
1%|█▏ | 562/57580 [00:00<01:21, 698.40it/s]
1%|█▍ | 636/57580 [00:00<01:20, 710.51it/s]
1%|█▌ | 710/57580 [00:01<01:19, 716.63it/s]
1%|█▋ | 782/57580 [00:01<01:19, 710.31it/s]
1%|█▊ | 854/57580 [00:01<01:21, 695.31it/s]
2%|██ | 925/57580 [00:01<01:21, 698.75it/s]
2%|██▏ | 1002/57580 [00:01<01:18, 718.99it/s]
2%|██▎ | 1080/57580 [00:01<01:16, 736.47it/s]
2%|██▌ | 1154/57580 [00:01<01:17, 723.70it/s]
2%|██▋ | 1228/57580 [00:01<01:17, 725.77it/s]
2%|██▊ | 1305/57580 [00:01<01:16, 738.16it/s]
2%|███ | 1385/57580 [00:01<01:14, 755.86it/s]
3%|███▏ | 1463/57580 [00:02<01:13, 762.24it/s]
3%|███▎ | 1540/57580 [00:02<01:16, 734.91it/s]
3%|███▌ | 1614/57580 [00:02<01:16, 730.17it/s]
3%|███▋ | 1691/57580 [00:02<01:15, 740.85it/s]
3%|███▊ | 1773/57580 [00:02<01:13, 763.62it/s]
3%|████ | 1850/57580 [00:02<01:14, 749.30it/s]
3%|████▏ | 1926/57580 [00:02<01:14, 749.45it/s]
3%|████▎ | 2015/57580 [00:02<01:10, 787.80it/s]
4%|████▌ | 2107/57580 [00:02<01:07, 826.13it/s]
4%|████▊ | 2199/57580 [00:02<01:04, 853.28it/s]
4%|████▉ | 2285/57580 [00:03<01:08, 806.59it/s]
4%|█████▏ | 2367/57580 [00:03<01:10, 781.67it/s]
4%|█████▎ | 2446/57580 [00:03<01:12, 759.42it/s]
4%|█████▍ | 2523/57580 [00:03<01:14, 734.59it/s]
5%|█████▋ | 2603/57580 [00:03<01:13, 752.17it/s]
5%|█████▊ | 2679/57580 [00:03<01:15, 727.16it/s]
5%|█████▉ | 2754/57580 [00:03<01:14, 732.64it/s]
5%|██████▏ | 2837/57580 [00:03<01:12, 759.78it/s]
5%|██████▎ | 2918/57580 [00:03<01:10, 773.68it/s]
5%|██████▌ | 2997/57580 [00:04<01:10, 775.45it/s]
5%|██████▋ | 3075/57580 [00:04<01:13, 746.25it/s]
5%|██████▊ | 3150/57580 [00:04<01:13, 740.02it/s]
6%|███████ | 3225/57580 [00:04<01:14, 733.20it/s]
6%|███████▏ | 3300/57580 [00:04<01:13, 737.61it/s]
6%|███████▎ | 3374/57580 [00:04<01:14, 731.10it/s]
6%|███████▍ | 3452/57580 [00:04<01:12, 744.72it/s]
6%|███████▋ | 3534/57580 [00:04<01:10, 766.22it/s]
6%|███████▊ | 3617/57580 [00:04<01:08, 784.33it/s]
6%|████████ | 3699/57580 [00:04<01:07, 792.90it/s]
7%|████████▏ | 3779/57580 [00:05<01:10, 767.44it/s]
7%|████████▎ | 3856/57580 [00:05<01:11, 750.02it/s]
7%|████████▌ | 3932/57580 [00:05<01:12, 743.69it/s]
7%|████████▋ | 4007/57580 [00:05<01:12, 740.54it/s]
7%|████████▊ | 4082/57580 [00:05<01:12, 737.33it/s]
7%|█████████ | 4156/57580 [00:05<01:13, 726.77it/s]
7%|█████████▏ | 4230/57580 [00:05<01:13, 726.64it/s]
7%|█████████▎ | 4303/57580 [00:05<01:13, 724.73it/s]
8%|█████████▍ | 4376/57580 [00:05<01:13, 723.42it/s]
8%|█████████▋ | 4449/57580 [00:06<01:13, 720.10it/s]
8%|█████████▊ | 4522/57580 [00:06<01:15, 699.75it/s]
8%|█████████▉ | 4593/57580 [00:06<01:15, 697.92it/s]
8%|██████████▏ | 4665/57580 [00:06<01:15, 703.61it/s]
8%|██████████▎ | 4742/57580 [00:06<01:13, 720.40it/s]
8%|██████████▍ | 4817/57580 [00:06<01:12, 728.31it/s]
8%|██████████▌ | 4893/57580 [00:06<01:11, 736.99it/s]
9%|██████████▊ | 4974/57580 [00:06<01:09, 756.84it/s]
9%|██████████▉ | 5051/57580 [00:06<01:09, 760.07it/s]
9%|███████████▏ | 5128/57580 [00:06<01:09, 753.19it/s]
9%|███████████▎ | 5206/57580 [00:07<01:08, 760.40it/s]
9%|███████████▍ | 5283/57580 [00:07<01:10, 744.92it/s]
9%|███████████▋ | 5358/57580 [00:07<01:10, 745.69it/s]
9%|███████████▊ | 5433/57580 [00:07<01:09, 746.53it/s]
10%|███████████▉ | 5509/57580 [00:07<01:09, 749.79it/s]
10%|████████████ | 5585/57580 [00:07<01:09, 745.47it/s]
10%|████████████▎ | 5663/57580 [00:07<01:08, 755.08it/s]
10%|████████████▍ | 5743/57580 [00:07<01:07, 767.64it/s]
10%|████████████▋ | 5820/57580 [00:07<01:07, 767.78it/s]
10%|████████████▊ | 5897/57580 [00:07<01:07, 760.93it/s]
10%|████████████▉ | 5974/57580 [00:08<01:08, 756.03it/s]
11%|█████████████▏ | 6052/57580 [00:08<01:07, 760.11it/s]
11%|█████████████▎ | 6135/57580 [00:08<01:05, 779.93it/s]
11%|█████████████▍ | 6214/57580 [00:08<01:05, 779.94it/s]
11%|█████████████▋ | 6304/57580 [00:08<01:02, 815.41it/s]
11%|█████████████▊ | 6386/57580 [00:08<01:03, 806.47it/s]
11%|██████████████ | 6467/57580 [00:08<01:04, 794.93it/s]
11%|██████████████▏ | 6554/57580 [00:08<01:02, 813.87it/s]
12%|██████████████▍ | 6636/57580 [00:08<01:02, 812.45it/s]
12%|██████████████▌ | 6718/57580 [00:08<01:02, 813.87it/s]
12%|██████████████▊ | 6800/57580 [00:09<01:03, 805.47it/s]
12%|██████████████▉ | 6881/57580 [00:09<01:05, 769.37it/s]
12%|███████████████ | 6959/57580 [00:09<01:07, 744.91it/s]
12%|███████████████▎ | 7034/57580 [00:09<01:09, 728.52it/s]
12%|███████████████▍ | 7108/57580 [00:09<01:09, 728.95it/s]
12%|███████████████▌ | 7182/57580 [00:09<01:08, 731.33it/s]
13%|███████████████▊ | 7260/57580 [00:09<01:07, 745.08it/s]
13%|███████████████▉ | 7342/57580 [00:09<01:05, 766.58it/s]
13%|████████████████ | 7425/57580 [00:09<01:03, 784.67it/s]
13%|████████████████▎ | 7506/57580 [00:10<01:03, 791.46it/s]
13%|████████████████▍ | 7586/57580 [00:10<01:05, 761.44it/s]
13%|████████████████▋ | 7663/57580 [00:10<01:07, 737.15it/s]
13%|████████████████▊ | 7738/57580 [00:10<01:08, 731.94it/s]
14%|████████████████▉ | 7822/57580 [00:10<01:05, 762.16it/s]
14%|█████████████████▏ | 7902/57580 [00:10<01:04, 772.66it/s]
14%|█████████████████▎ | 7980/57580 [00:10<01:06, 743.26it/s]
14%|█████████████████▍ | 8055/57580 [00:10<01:07, 735.95it/s]
14%|█████████████████▋ | 8136/57580 [00:10<01:05, 756.79it/s]
14%|█████████████████▊ | 8212/57580 [00:10<01:06, 743.92it/s]
14%|█████████████████▉ | 8287/57580 [00:11<01:06, 736.54it/s]
15%|██████████████████▏ | 8362/57580 [00:11<01:06, 740.40it/s]
15%|██████████████████▎ | 8437/57580 [00:11<01:06, 740.30it/s]
15%|██████████████████▍ | 8515/57580 [00:11<01:05, 747.60it/s]
15%|██████████████████▋ | 8598/57580 [00:11<01:03, 771.19it/s]
15%|██████████████████▊ | 8676/57580 [00:11<01:05, 751.27it/s]
15%|██████████████████▉ | 8752/57580 [00:11<01:05, 742.58it/s]
15%|███████████████████▏ | 8827/57580 [00:11<01:05, 741.78it/s]
15%|███████████████████▎ | 8902/57580 [00:11<01:05, 743.45it/s]
16%|███████████████████▍ | 8977/57580 [00:12<01:05, 742.14it/s]
16%|███████████████████▋ | 9052/57580 [00:12<01:06, 727.43it/s]
16%|███████████████████▊ | 9127/57580 [00:12<01:06, 731.19it/s]
16%|███████████████████▉ | 9209/57580 [00:12<01:03, 756.84it/s]
16%|████████████████████▏ | 9292/57580 [00:12<01:02, 777.82it/s]
16%|████████████████████▎ | 9372/57580 [00:12<01:01, 783.67it/s]
16%|████████████████████▌ | 9451/57580 [00:12<01:03, 762.01it/s]
17%|████████████████████▋ | 9528/57580 [00:12<01:03, 757.00it/s]
17%|████████████████████▊ | 9610/57580 [00:12<01:02, 772.52it/s]
17%|█████████████████████ | 9693/57580 [00:12<01:00, 786.24it/s]
17%|█████████████████████▏ | 9772/57580 [00:13<01:02, 770.53it/s]
17%|█████████████████████▍ | 9850/57580 [00:13<01:04, 742.20it/s]
17%|█████████████████████▌ | 9925/57580 [00:13<01:04, 741.58it/s]
17%|█████████████████████▌ | 10000/57580 [00:13<01:04, 732.17it/s]
17%|█████████████████████▋ | 10074/57580 [00:13<01:05, 727.21it/s]
18%|█████████████████████▊ | 10147/57580 [00:13<01:05, 727.43it/s]
18%|██████████████████████ | 10220/57580 [00:13<01:05, 722.92it/s]
18%|██████████████████████▏ | 10294/57580 [00:13<01:05, 727.24it/s]
18%|██████████████████████▎ | 10371/57580 [00:13<01:03, 739.23it/s]
18%|██████████████████████▌ | 10450/57580 [00:13<01:02, 753.45it/s]
18%|██████████████████████▋ | 10533/57580 [00:14<01:00, 775.47it/s]
18%|██████████████████████▊ | 10611/57580 [00:14<01:01, 767.00it/s]
19%|███████████████████████ | 10688/57580 [00:14<01:03, 740.46it/s]
19%|███████████████████████▏ | 10763/57580 [00:14<01:04, 729.74it/s]
19%|███████████████████████▎ | 10837/57580 [00:14<01:03, 732.10it/s]
19%|███████████████████████▍ | 10912/57580 [00:14<01:03, 734.51it/s]
19%|███████████████████████▋ | 10987/57580 [00:14<01:03, 738.36it/s]
19%|███████████████████████▊ | 11061/57580 [00:14<01:03, 735.98it/s]
19%|███████████████████████▉ | 11135/57580 [00:14<01:04, 723.56it/s]
19%|████████████████████████▏ | 11208/57580 [00:15<01:05, 706.12it/s]
20%|████████████████████████▎ | 11279/57580 [00:15<01:06, 700.49it/s]
20%|████████████████████████▍ | 11353/57580 [00:15<01:05, 709.29it/s]
20%|████████████████████████▌ | 11427/57580 [00:15<01:04, 717.16it/s]
20%|████████████████████████▊ | 11500/57580 [00:15<01:03, 720.19it/s]
20%|████████████████████████▉ | 11573/57580 [00:15<01:04, 718.13it/s]
20%|█████████████████████████ | 11647/57580 [00:15<01:03, 723.84it/s]
20%|█████████████████████████▎ | 11730/57580 [00:15<01:00, 752.26it/s]
21%|█████████████████████████▍ | 11813/57580 [00:15<00:59, 774.54it/s]
21%|█████████████████████████▌ | 11895/57580 [00:15<00:58, 785.78it/s]
21%|█████████████████████████▊ | 11978/57580 [00:16<00:57, 795.90it/s]
21%|█████████████████████████▉ | 12058/57580 [00:16<00:57, 786.61it/s]
21%|██████████████████████████▏ | 12137/57580 [00:16<00:59, 768.54it/s]
21%|██████████████████████████▎ | 12214/57580 [00:16<00:59, 756.17it/s]
21%|██████████████████████████▍ | 12290/57580 [00:16<01:00, 744.68it/s]
21%|██████████████████████████▋ | 12365/57580 [00:16<01:01, 730.27it/s]
22%|██████████████████████████▊ | 12447/57580 [00:16<00:59, 755.58it/s]
22%|██████████████████████████▉ | 12526/57580 [00:16<00:59, 762.71it/s]
22%|███████████████████████████▏ | 12618/57580 [00:16<00:55, 808.26it/s]
22%|███████████████████████████▎ | 12709/57580 [00:16<00:53, 835.20it/s]
22%|███████████████████████████▌ | 12802/57580 [00:17<00:51, 862.61it/s]
22%|███████████████████████████▊ | 12889/57580 [00:17<00:51, 863.56it/s]
23%|███████████████████████████▉ | 12976/57580 [00:17<00:53, 839.56it/s]
23%|████████████████████████████▏ | 13061/57580 [00:17<00:54, 815.33it/s]
23%|████████████████████████████▎ | 13143/57580 [00:17<00:56, 793.28it/s]
23%|████████████████████████████▍ | 13223/57580 [00:17<00:57, 776.72it/s]
23%|████████████████████████████▋ | 13301/57580 [00:17<00:58, 755.03it/s]
23%|████████████████████████████▊ | 13381/57580 [00:17<00:57, 767.02it/s]
23%|████████████████████████████▉ | 13463/57580 [00:17<00:56, 781.49it/s]
24%|█████████████████████████████▏ | 13545/57580 [00:18<00:55, 791.78it/s]
24%|█████████████████████████████▎ | 13626/57580 [00:18<00:55, 796.46it/s]
24%|█████████████████████████████▌ | 13706/57580 [00:18<00:57, 769.29it/s]
24%|█████████████████████████████▋ | 13784/57580 [00:18<00:58, 751.50it/s]
24%|█████████████████████████████▊ | 13860/57580 [00:18<00:59, 740.44it/s]
24%|██████████████████████████████ | 13935/57580 [00:18<00:59, 733.98it/s]
24%|██████████████████████████████▏ | 14009/57580 [00:18<00:59, 730.50it/s]
24%|██████████████████████████████▎ | 14086/57580 [00:18<00:58, 741.46it/s]
25%|██████████████████████████████▍ | 14161/57580 [00:18<00:58, 741.04it/s]
25%|██████████████████████████████▋ | 14236/57580 [00:18<00:58, 738.60it/s]
25%|██████████████████████████████▊ | 14311/57580 [00:19<00:58, 740.92it/s]
25%|██████████████████████████████▉ | 14386/57580 [00:19<00:58, 733.93it/s]
25%|███████████████████████████████▏ | 14460/57580 [00:19<00:58, 732.63it/s]
25%|███████████████████████████████▎ | 14534/57580 [00:19<00:58, 734.31it/s]
25%|███████████████████████████████▍ | 14608/57580 [00:19<00:58, 728.70it/s]
25%|███████████████████████████████▌ | 14682/57580 [00:19<00:58, 731.07it/s]
26%|███████████████████████████████▊ | 14758/57580 [00:19<00:58, 736.67it/s]
26%|███████████████████████████████▉ | 14841/57580 [00:19<00:55, 763.61it/s]
26%|████████████████████████████████▏ | 14923/57580 [00:19<00:54, 779.64it/s]
26%|████████████████████████████████▎ | 15001/57580 [00:19<00:55, 771.68it/s]
26%|████████████████████████████████▍ | 15079/57580 [00:20<00:55, 764.19it/s]
26%|████████████████████████████████▋ | 15156/57580 [00:20<00:57, 744.02it/s]
26%|████████████████████████████████▊ | 15231/57580 [00:20<00:58, 723.96it/s]
27%|████████████████████████████████▉ | 15306/57580 [00:20<00:57, 730.70it/s]
27%|█████████████████████████████████▏ | 15388/57580 [00:20<00:55, 755.88it/s]
27%|█████████████████████████████████▎ | 15464/57580 [00:20<00:56, 749.78it/s]
27%|█████████████████████████████████▍ | 15544/57580 [00:20<00:55, 762.65it/s]
27%|█████████████████████████████████▋ | 15626/57580 [00:20<00:53, 778.81it/s]
27%|█████████████████████████████████▊ | 15716/57580 [00:20<00:51, 812.61it/s]
27%|██████████████████████████████████ | 15803/57580 [00:20<00:50, 829.02it/s]
28%|██████████████████████████████████▏ | 15895/57580 [00:21<00:48, 852.65it/s]
28%|██████████████████████████████████▍ | 15981/57580 [00:21<00:50, 831.50it/s]
28%|██████████████████████████████████▌ | 16065/57580 [00:21<00:51, 809.37it/s]
28%|██████████████████████████████████▊ | 16147/57580 [00:21<00:52, 782.06it/s]
28%|██████████████████████████████████▉ | 16226/57580 [00:21<00:54, 759.92it/s]
28%|███████████████████████████████████ | 16303/57580 [00:21<00:54, 760.46it/s]
28%|███████████████████████████████████▎ | 16386/57580 [00:21<00:52, 778.19it/s]
29%|███████████████████████████████████▍ | 16471/57580 [00:21<00:51, 796.02it/s]
29%|███████████████████████████████████▋ | 16554/57580 [00:21<00:50, 805.36it/s]
29%|███████████████████████████████████▊ | 16635/57580 [00:22<00:53, 764.05it/s]
29%|███████████████████████████████████▉ | 16712/57580 [00:22<00:56, 717.81it/s]
29%|████████████████████████████████████▏ | 16785/57580 [00:22<00:57, 712.61it/s]
29%|████████████████████████████████████▎ | 16863/57580 [00:22<00:55, 730.77it/s]
29%|████████████████████████████████████▍ | 16939/57580 [00:22<00:55, 736.37it/s]
30%|████████████████████████████████████▋ | 17013/57580 [00:22<00:55, 734.61it/s]
30%|████████████████████████████████████▊ | 17094/57580 [00:22<00:53, 754.78it/s]
30%|████████████████████████████████████▉ | 17173/57580 [00:22<00:52, 764.40it/s]
30%|█████████████████████████████████████▏ | 17250/57580 [00:22<00:52, 763.14it/s]
30%|█████████████████████████████████████▎ | 17327/57580 [00:22<00:52, 759.98it/s]
30%|█████████████████████████████████████▍ | 17405/57580 [00:23<00:52, 765.24it/s]
30%|█████████████████████████████████████▋ | 17482/57580 [00:23<00:53, 753.32it/s]
30%|█████████████████████████████████████▊ | 17558/57580 [00:23<00:53, 745.89it/s]
31%|█████████████████████████████████████▉ | 17634/57580 [00:23<00:53, 747.19it/s]
31%|██████████████████████████████████████▏ | 17710/57580 [00:23<00:53, 748.12it/s]
31%|██████████████████████████████████████▎ | 17785/57580 [00:23<00:53, 739.23it/s]
31%|██████████████████████████████████████▍ | 17861/57580 [00:23<00:53, 744.57it/s]
31%|██████████████████████████████████████▋ | 17936/57580 [00:23<00:53, 738.87it/s]
31%|██████████████████████████████████████▊ | 18010/57580 [00:23<00:54, 724.68it/s]
31%|██████████████████████████████████████▉ | 18083/57580 [00:24<00:55, 710.76it/s]
32%|███████████████████████████████████████ | 18156/57580 [00:24<00:55, 715.63it/s]
32%|███████████████████████████████████████▎ | 18236/57580 [00:24<00:53, 739.61it/s]
32%|███████████████████████████████████████▍ | 18317/57580 [00:24<00:51, 759.73it/s]
32%|███████████████████████████████████████▌ | 18394/57580 [00:24<00:52, 750.98it/s]
32%|███████████████████████████████████████▊ | 18470/57580 [00:24<00:52, 744.03it/s]
32%|███████████████████████████████████████▉ | 18545/57580 [00:24<00:52, 738.34it/s]
32%|████████████████████████████████████████ | 18619/57580 [00:24<00:53, 729.47it/s]
32%|████████████████████████████████████████▎ | 18700/57580 [00:24<00:51, 752.45it/s]
33%|████████████████████████████████████████▍ | 18776/57580 [00:24<00:52, 745.13it/s]
33%|████████████████████████████████████████▌ | 18851/57580 [00:25<00:52, 740.45it/s]
33%|████████████████████████████████████████▊ | 18926/57580 [00:25<00:53, 725.57it/s]
33%|████████████████████████████████████████▉ | 18999/57580 [00:25<00:53, 714.74it/s]
33%|█████████████████████████████████████████ | 19071/57580 [00:25<00:54, 705.89it/s]
33%|█████████████████████████████████████████▏ | 19142/57580 [00:25<00:54, 706.39it/s]
33%|█████████████████████████████████████████▍ | 19214/57580 [00:25<00:54, 709.62it/s]
33%|█████████████████████████████████████████▌ | 19286/57580 [00:25<00:53, 711.85it/s]
34%|█████████████████████████████████████████▋ | 19361/57580 [00:25<00:52, 722.39it/s]
34%|█████████████████████████████████████████▊ | 19439/57580 [00:25<00:51, 739.03it/s]
34%|██████████████████████████████████████████ | 19518/57580 [00:25<00:50, 751.15it/s]
34%|██████████████████████████████████████████▏ | 19594/57580 [00:26<00:50, 746.61it/s]
34%|██████████████████████████████████████████▎ | 19669/57580 [00:26<00:51, 742.48it/s]
34%|██████████████████████████████████████████▌ | 19744/57580 [00:26<00:51, 741.55it/s]
34%|██████████████████████████████████████████▋ | 19819/57580 [00:26<00:51, 739.30it/s]
35%|██████████████████████████████████████████▊ | 19901/57580 [00:26<00:49, 762.54it/s]
35%|███████████████████████████████████████████ | 19978/57580 [00:26<00:50, 746.34it/s]
35%|███████████████████████████████████████████▏ | 20053/57580 [00:26<00:50, 742.45it/s]
35%|███████████████████████████████████████████▎ | 20128/57580 [00:26<00:50, 741.60it/s]
35%|███████████████████████████████████████████▌ | 20211/57580 [00:26<00:48, 766.85it/s]
35%|███████████████████████████████████████████▋ | 20294/57580 [00:27<00:47, 784.94it/s]
35%|███████████████████████████████████████████▊ | 20373/57580 [00:27<00:47, 783.44it/s]
36%|████████████████████████████████████████████ | 20452/57580 [00:27<00:48, 766.44it/s]
36%|████████████████████████████████████████████▏ | 20529/57580 [00:27<00:49, 752.91it/s]
36%|████████████████████████████████████████████▎ | 20605/57580 [00:27<00:49, 740.24it/s]
36%|████████████████████████████████████████████▌ | 20682/57580 [00:27<00:49, 746.04it/s]
36%|████████████████████████████████████████████▋ | 20757/57580 [00:27<00:49, 744.29it/s]
36%|████████████████████████████████████████████▊ | 20835/57580 [00:27<00:48, 754.07it/s]
36%|█████████████████████████████████████████████ | 20919/57580 [00:27<00:47, 778.75it/s]
36%|█████████████████████████████████████████████▏ | 21002/57580 [00:27<00:46, 790.95it/s]
37%|█████████████████████████████████████████████▍ | 21085/57580 [00:28<00:45, 801.91it/s]
37%|█████████████████████████████████████████████▌ | 21166/57580 [00:28<00:46, 777.92it/s]
37%|█████████████████████████████████████████████▋ | 21244/57580 [00:28<00:49, 732.84it/s]
37%|█████████████████████████████████████████████▉ | 21318/57580 [00:28<00:49, 726.13it/s]
37%|██████████████████████████████████████████████ | 21391/57580 [00:28<00:50, 722.29it/s]
37%|██████████████████████████████████████████████▏ | 21464/57580 [00:28<00:50, 713.49it/s]
37%|██████████████████████████████████████████████▍ | 21540/57580 [00:28<00:49, 726.32it/s]
38%|██████████████████████████████████████████████▌ | 21615/57580 [00:28<00:49, 731.50it/s]
38%|██████████████████████████████████████████████▋ | 21689/57580 [00:28<00:49, 724.60it/s]
38%|██████████████████████████████████████████████▊ | 21763/57580 [00:28<00:49, 729.04it/s]
38%|███████████████████████████████████████████████ | 21837/57580 [00:29<00:48, 729.49it/s]
38%|███████████████████████████████████████████████▏ | 21911/57580 [00:29<00:50, 708.77it/s]
38%|███████████████████████████████████████████████▎ | 21983/57580 [00:29<00:50, 703.13it/s]
38%|███████████████████████████████████████████████▍ | 22054/57580 [00:29<00:50, 704.35it/s]
38%|███████████████████████████████████████████████▋ | 22127/57580 [00:29<00:49, 711.48it/s]
39%|███████████████████████████████████████████████▊ | 22199/57580 [00:29<00:49, 713.04it/s]
39%|███████████████████████████████████████████████▉ | 22271/57580 [00:29<00:49, 714.59it/s]
39%|████████████████████████████████████████████████ | 22346/57580 [00:29<00:48, 722.12it/s]
39%|████████████████████████████████████████████████▎ | 22419/57580 [00:29<00:49, 715.23it/s]
39%|████████████████████████████████████████████████▍ | 22491/57580 [00:30<00:49, 703.18it/s]
39%|████████████████████████████████████████████████▌ | 22565/57580 [00:30<00:49, 713.26it/s]
39%|████████████████████████████████████████████████▊ | 22640/57580 [00:30<00:48, 723.35it/s]
39%|████████████████████████████████████████████████▉ | 22714/57580 [00:30<00:48, 725.00it/s]
40%|█████████████████████████████████████████████████ | 22787/57580 [00:30<00:47, 725.78it/s]
40%|█████████████████████████████████████████████████▏ | 22863/57580 [00:30<00:47, 735.31it/s]
40%|█████████████████████████████████████████████████▍ | 22937/57580 [00:30<00:47, 729.59it/s]
40%|█████████████████████████████████████████████████▌ | 23013/57580 [00:30<00:46, 735.75it/s]
40%|█████████████████████████████████████████████████▋ | 23097/57580 [00:30<00:45, 766.09it/s]
40%|█████████████████████████████████████████████████▉ | 23174/57580 [00:30<00:45, 756.23it/s]
40%|██████████████████████████████████████████████████ | 23250/57580 [00:31<00:45, 749.93it/s]
41%|██████████████████████████████████████████████████▏ | 23326/57580 [00:31<00:45, 747.79it/s]
41%|██████████████████████████████████████████████████▍ | 23401/57580 [00:31<00:46, 734.40it/s]
41%|██████████████████████████████████████████████████▌ | 23475/57580 [00:31<00:46, 733.32it/s]
41%|██████████████████████████████████████████████████▋ | 23549/57580 [00:31<00:47, 723.86it/s]
41%|██████████████████████████████████████████████████▊ | 23622/57580 [00:31<00:47, 718.66it/s]
41%|███████████████████████████████████████████████████ | 23702/57580 [00:31<00:45, 740.69it/s]
41%|███████████████████████████████████████████████████▏ | 23784/57580 [00:31<00:44, 761.16it/s]
41%|███████████████████████████████████████████████████▍ | 23864/57580 [00:31<00:43, 772.02it/s]
42%|███████████████████████████████████████████████████▌ | 23942/57580 [00:31<00:44, 750.04it/s]
42%|███████████████████████████████████████████████████▋ | 24018/57580 [00:32<00:45, 739.36it/s]
42%|███████████████████████████████████████████████████▉ | 24093/57580 [00:32<00:45, 737.43it/s]
42%|████████████████████████████████████████████████████ | 24167/57580 [00:32<00:46, 716.45it/s]
42%|████████████████████████████████████████████████████▏ | 24239/57580 [00:32<00:46, 713.45it/s]
42%|████████████████████████████████████████████████████▎ | 24314/57580 [00:32<00:45, 723.26it/s]
42%|████████████████████████████████████████████████████▌ | 24387/57580 [00:32<00:45, 724.55it/s]
42%|████████████████████████████████████████████████████▋ | 24460/57580 [00:32<00:46, 718.03it/s]
43%|████████████████████████████████████████████████████▊ | 24532/57580 [00:32<00:46, 711.72it/s]
43%|████████████████████████████████████████████████████▉ | 24608/57580 [00:32<00:45, 722.98it/s]
43%|█████████████████████████████████████████████████████▏ | 24681/57580 [00:32<00:45, 724.44it/s]
43%|█████████████████████████████████████████████████████▎ | 24755/57580 [00:33<00:45, 728.30it/s]
43%|█████████████████████████████████████████████████████▍ | 24829/57580 [00:33<00:44, 728.83it/s]
43%|█████████████████████████████████████████████████████▋ | 24904/57580 [00:33<00:44, 733.20it/s]
43%|█████████████████████████████████████████████████████▊ | 24978/57580 [00:33<00:44, 725.72it/s]
44%|█████████████████████████████████████████████████████▉ | 25053/57580 [00:33<00:44, 732.31it/s]
44%|██████████████████████████████████████████████████████ | 25127/57580 [00:33<00:44, 728.24it/s]
44%|██████████████████████████████████████████████████████▎ | 25209/57580 [00:33<00:42, 754.97it/s]
44%|██████████████████████████████████████████████████████▍ | 25291/57580 [00:33<00:41, 773.63it/s]
44%|██████████████████████████████████████████████████████▋ | 25374/57580 [00:33<00:40, 789.61it/s]
44%|██████████████████████████████████████████████████████▊ | 25457/57580 [00:34<00:40, 801.01it/s]
44%|███████████████████████████████████████████████████████ | 25540/57580 [00:34<00:39, 806.54it/s]
44%|███████████████████████████████████████████████████████▏ | 25621/57580 [00:34<00:40, 787.85it/s]
45%|███████████████████████████████████████████████████████▎ | 25700/57580 [00:34<00:42, 758.82it/s]
45%|███████████████████████████████████████████████████████▌ | 25777/57580 [00:34<00:43, 734.39it/s]
45%|███████████████████████████████████████████████████████▋ | 25851/57580 [00:34<00:43, 733.10it/s]
45%|███████████████████████████████████████████████████████▊ | 25926/57580 [00:34<00:43, 735.14it/s]
45%|███████████████████████████████████████████████████████▉ | 26000/57580 [00:34<00:42, 734.67it/s]
45%|████████████████████████████████████████████████████████▏ | 26075/57580 [00:34<00:42, 736.42it/s]
45%|████████████████████████████████████████████████████████▎ | 26149/57580 [00:34<00:43, 719.62it/s]
46%|████████████████████████████████████████████████████████▍ | 26222/57580 [00:35<00:46, 679.60it/s]
46%|████████████████████████████████████████████████████████▌ | 26292/57580 [00:35<00:45, 684.75it/s]
46%|████████████████████████████████████████████████████████▊ | 26369/57580 [00:35<00:44, 708.51it/s]
46%|████████████████████████████████████████████████████████▉ | 26443/57580 [00:35<00:43, 716.71it/s]
46%|█████████████████████████████████████████████████████████ | 26515/57580 [00:35<00:43, 711.78it/s]
46%|█████████████████████████████████████████████████████████▎ | 26587/57580 [00:35<00:43, 709.29it/s]
46%|█████████████████████████████████████████████████████████▍ | 26669/57580 [00:35<00:41, 739.81it/s]
46%|█████████████████████████████████████████████████████████▌ | 26748/57580 [00:35<00:40, 754.38it/s]
47%|█████████████████████████████████████████████████████████▊ | 26824/57580 [00:35<00:40, 750.89it/s]
47%|█████████████████████████████████████████████████████████▉ | 26900/57580 [00:35<00:41, 746.08it/s]
47%|██████████████████████████████████████████████████████████ | 26975/57580 [00:36<00:41, 740.05it/s]
47%|██████████████████████████████████████████████████████████▎ | 27050/57580 [00:36<00:41, 735.73it/s]
47%|██████████████████████████████████████████████████████████▍ | 27124/57580 [00:36<00:41, 726.66it/s]
47%|██████████████████████████████████████████████████████████▌ | 27197/57580 [00:36<00:41, 724.71it/s]
47%|██████████████████████████████████████████████████████████▋ | 27274/57580 [00:36<00:41, 737.25it/s]
47%|██████████████████████████████████████████████████████████▉ | 27348/57580 [00:36<00:41, 728.91it/s]
48%|███████████████████████████████████████████████████████████ | 27421/57580 [00:36<00:41, 728.35it/s]
48%|███████████████████████████████████████████████████████████▏ | 27494/57580 [00:36<00:41, 728.12it/s]
48%|███████████████████████████████████████████████████████████▎ | 27567/57580 [00:36<00:41, 727.96it/s]
48%|███████████████████████████████████████████████████████████▌ | 27640/57580 [00:37<00:41, 721.33it/s]
48%|███████████████████████████████████████████████████████████▋ | 27720/57580 [00:37<00:40, 743.90it/s]
48%|███████████████████████████████████████████████████████████▊ | 27800/57580 [00:37<00:39, 757.42it/s]
48%|████████████████████████████████████████████████████████████ | 27876/57580 [00:37<00:40, 739.09it/s]
49%|████████████████████████████████████████████████████████████▏ | 27951/57580 [00:37<00:40, 730.55it/s]
49%|████████████████████████████████████████████████████████████▎ | 28025/57580 [00:37<00:40, 727.40it/s]
49%|████████████████████████████████████████████████████████████▌ | 28101/57580 [00:37<00:40, 735.14it/s]
49%|████████████████████████████████████████████████████████████▋ | 28184/57580 [00:37<00:38, 762.45it/s]
49%|████████████████████████████████████████████████████████████▊ | 28267/57580 [00:37<00:37, 781.56it/s]
49%|█████████████████████████████████████████████████████████████ | 28349/57580 [00:37<00:36, 792.07it/s]
49%|█████████████████████████████████████████████████████████████▏ | 28429/57580 [00:38<00:38, 761.65it/s]
50%|█████████████████████████████████████████████████████████████▍ | 28506/57580 [00:38<00:40, 714.57it/s]
50%|█████████████████████████████████████████████████████████████▌ | 28579/57580 [00:38<00:42, 681.69it/s]
50%|█████████████████████████████████████████████████████████████▋ | 28648/57580 [00:38<00:42, 681.34it/s]
50%|█████████████████████████████████████████████████████████████▊ | 28717/57580 [00:38<00:42, 679.28it/s]
50%|█████████████████████████████████████████████████████████████▉ | 28786/57580 [00:38<00:43, 658.83it/s]
50%|██████████████████████████████████████████████████████████████▏ | 28856/57580 [00:38<00:42, 669.71it/s]
50%|██████████████████████████████████████████████████████████████▎ | 28930/57580 [00:38<00:41, 687.94it/s]
50%|██████████████████████████████████████████████████████████████▍ | 29001/57580 [00:38<00:41, 693.82it/s]
50%|██████████████████████████████████████████████████████████████▌ | 29071/57580 [00:39<00:41, 694.82it/s]
51%|██████████████████████████████████████████████████████████████▊ | 29150/57580 [00:39<00:39, 722.17it/s]
51%|██████████████████████████████████████████████████████████████▉ | 29225/57580 [00:39<00:38, 727.66it/s]
51%|███████████████████████████████████████████████████████████████ | 29298/57580 [00:39<00:38, 727.73it/s]
51%|███████████████████████████████████████████████████████████████▎ | 29373/57580 [00:39<00:38, 733.97it/s]
51%|███████████████████████████████████████████████████████████████▍ | 29447/57580 [00:39<00:38, 730.77it/s]
51%|███████████████████████████████████████████████████████████████▌ | 29527/57580 [00:39<00:37, 748.44it/s]
51%|███████████████████████████████████████████████████████████████▊ | 29608/57580 [00:39<00:36, 766.16it/s]
52%|███████████████████████████████████████████████████████████████▉ | 29695/57580 [00:39<00:35, 796.45it/s]
52%|████████████████████████████████████████████████████████████████▏ | 29777/57580 [00:39<00:34, 802.71it/s]
52%|████████████████████████████████████████████████████████████████▎ | 29859/57580 [00:40<00:34, 807.64it/s]
52%|████████████████████████████████████████████████████████████████▍ | 29940/57580 [00:40<00:34, 795.52it/s]
52%|████████████████████████████████████████████████████████████████▋ | 30020/57580 [00:40<00:35, 786.90it/s]
52%|████████████████████████████████████████████████████████████████▊ | 30099/57580 [00:40<00:35, 782.46it/s]
52%|████████████████████████████████████████████████████████████████▉ | 30178/57580 [00:40<00:36, 757.18it/s]
53%|█████████████████████████████████████████████████████████████████▏ | 30254/57580 [00:40<00:37, 731.84it/s]
53%|█████████████████████████████████████████████████████████████████▎ | 30330/57580 [00:40<00:36, 739.73it/s]
53%|█████████████████████████████████████████████████████████████████▍ | 30412/57580 [00:40<00:35, 762.37it/s]
53%|█████████████████████████████████████████████████████████████████▋ | 30493/57580 [00:40<00:34, 775.57it/s]
53%|█████████████████████████████████████████████████████████████████▊ | 30571/57580 [00:40<00:35, 762.68it/s]
53%|██████████████████████████████████████████████████████████████████ | 30648/57580 [00:41<00:35, 748.67it/s]
53%|██████████████████████████████████████████████████████████████████▏ | 30724/57580 [00:41<00:36, 740.19it/s]
53%|██████████████████████████████████████████████████████████████████▎ | 30799/57580 [00:41<00:36, 737.94it/s]
54%|██████████████████████████████████████████████████████████████████▍ | 30873/57580 [00:41<00:36, 729.31it/s]
54%|██████████████████████████████████████████████████████████████████▋ | 30947/57580 [00:41<00:36, 729.57it/s]
54%|██████████████████████████████████████████████████████████████████▊ | 31020/57580 [00:41<00:36, 724.78it/s]
54%|██████████████████████████████████████████████████████████████████▉ | 31095/57580 [00:41<00:36, 731.37it/s]
54%|███████████████████████████████████████████████████████████████████▏ | 31173/57580 [00:41<00:35, 742.78it/s]
54%|███████████████████████████████████████████████████████████████████▎ | 31257/57580 [00:41<00:34, 769.75it/s]
54%|███████████████████████████████████████████████████████████████████▍ | 31335/57580 [00:41<00:34, 765.46it/s]
55%|███████████████████████████████████████████████████████████████████▋ | 31412/57580 [00:42<00:34, 761.61it/s]
55%|███████████████████████████████████████████████████████████████████▊ | 31489/57580 [00:42<00:34, 756.25it/s]
55%|███████████████████████████████████████████████████████████████████▉ | 31565/57580 [00:42<00:34, 745.73it/s]
55%|████████████████████████████████████████████████████████████████████▏ | 31640/57580 [00:42<00:35, 733.12it/s]
55%|████████████████████████████████████████████████████████████████████▎ | 31714/57580 [00:42<00:35, 732.48it/s]
55%|████████████████████████████████████████████████████████████████████▍ | 31790/57580 [00:42<00:34, 738.35it/s]
55%|████████████████████████████████████████████████████████████████████▋ | 31873/57580 [00:42<00:33, 762.21it/s]
55%|████████████████████████████████████████████████████████████████████▊ | 31950/57580 [00:42<00:33, 761.75it/s]
56%|████████████████████████████████████████████████████████████████████▉ | 32032/57580 [00:42<00:32, 778.16it/s]
56%|█████████████████████████████████████████████████████████████████████▏ | 32115/57580 [00:43<00:32, 792.74it/s]
56%|█████████████████████████████████████████████████████████████████████▎ | 32201/57580 [00:43<00:31, 809.57it/s]
56%|█████████████████████████████████████████████████████████████████████▌ | 32283/57580 [00:43<00:31, 811.36it/s]
56%|█████████████████████████████████████████████████████████████████████▋ | 32365/57580 [00:43<00:31, 792.89it/s]
56%|█████████████████████████████████████████████████████████████████████▊ | 32445/57580 [00:43<00:32, 764.96it/s]
56%|██████████████████████████████████████████████████████████████████████ | 32522/57580 [00:43<00:33, 754.83it/s]
57%|██████████████████████████████████████████████████████████████████████▏ | 32598/57580 [00:43<00:33, 738.21it/s]
57%|██████████████████████████████████████████████████████████████████████▎ | 32676/57580 [00:43<00:33, 749.53it/s]
57%|██████████████████████████████████████████████████████████████████████▌ | 32759/57580 [00:43<00:32, 771.97it/s]
57%|██████████████████████████████████████████████████████████████████████▋ | 32843/57580 [00:43<00:31, 789.91it/s]
57%|██████████████████████████████████████████████████████████████████████▉ | 32926/57580 [00:44<00:30, 800.88it/s]
57%|███████████████████████████████████████████████████████████████████████ | 33007/57580 [00:44<00:30, 802.87it/s]
57%|███████████████████████████████████████████████████████████████████████▎ | 33088/57580 [00:44<00:30, 792.48it/s]
58%|███████████████████████████████████████████████████████████████████████▍ | 33168/57580 [00:44<00:31, 764.58it/s]
58%|███████████████████████████████████████████████████████████████████████▌ | 33245/57580 [00:44<00:32, 755.54it/s]
58%|███████████████████████████████████████████████████████████████████████▊ | 33326/57580 [00:44<00:31, 770.58it/s]
58%|███████████████████████████████████████████████████████████████████████▉ | 33418/57580 [00:44<00:29, 813.58it/s]
58%|████████████████████████████████████████████████████████████████████████▏ | 33509/57580 [00:44<00:28, 841.32it/s]
58%|████████████████████████████████████████████████████████████████████████▎ | 33597/57580 [00:44<00:28, 849.33it/s]
58%|████████████████████████████████████████████████████████████████████████▌ | 33683/57580 [00:44<00:29, 815.46it/s]
59%|████████████████████████████████████████████████████████████████████████▋ | 33765/57580 [00:45<00:30, 788.19it/s]
59%|████████████████████████████████████████████████████████████████████████▉ | 33845/57580 [00:45<00:30, 777.49it/s]
59%|█████████████████████████████████████████████████████████████████████████ | 33924/57580 [00:45<00:31, 760.48it/s]
59%|█████████████████████████████████████████████████████████████████████████▏ | 34001/57580 [00:45<00:31, 745.57it/s]
59%|█████████████████████████████████████████████████████████████████████████▍ | 34076/57580 [00:45<00:32, 733.49it/s]
59%|█████████████████████████████████████████████████████████████████████████▌ | 34153/57580 [00:45<00:31, 742.96it/s]
59%|█████████████████████████████████████████████████████████████████████████▋ | 34236/57580 [00:45<00:30, 764.59it/s]
60%|█████████████████████████████████████████████████████████████████████████▉ | 34318/57580 [00:45<00:29, 780.14it/s]
60%|██████████████████████████████████████████████████████████████████████████ | 34397/57580 [00:45<00:30, 759.65it/s]
60%|██████████████████████████████████████████████████████████████████████████▏ | 34474/57580 [00:46<00:31, 724.21it/s]
60%|██████████████████████████████████████████████████████████████████████████▍ | 34556/57580 [00:46<00:30, 750.52it/s]
60%|██████████████████████████████████████████████████████████████████████████▌ | 34635/57580 [00:46<00:30, 760.74it/s]
60%|██████████████████████████████████████████████████████████████████████████▊ | 34712/57580 [00:46<00:31, 735.31it/s]
60%|██████████████████████████████████████████████████████████████████████████▉ | 34786/57580 [00:46<00:31, 715.47it/s]
61%|███████████████████████████████████████████████████████████████████████████ | 34858/57580 [00:46<00:31, 711.95it/s]
61%|███████████████████████████████████████████████████████████████████████████▏ | 34933/57580 [00:46<00:31, 722.15it/s]
61%|███████████████████████████████████████████████████████████████████████████▍ | 35016/57580 [00:46<00:29, 752.82it/s]
61%|███████████████████████████████████████████████████████████████████████████▌ | 35099/57580 [00:46<00:29, 771.23it/s]
61%|███████████████████████████████████████████████████████████████████████████▊ | 35182/57580 [00:46<00:28, 787.77it/s]
61%|███████████████████████████████████████████████████████████████████████████▉ | 35264/57580 [00:47<00:28, 796.67it/s]
61%|████████████████████████████████████████████████████████████████████████████ | 35346/57580 [00:47<00:27, 800.17it/s]
62%|████████████████████████████████████████████████████████████████████████████▎ | 35427/57580 [00:47<00:28, 767.96it/s]
62%|████████████████████████████████████████████████████████████████████████████▍ | 35505/57580 [00:47<00:29, 753.60it/s]
62%|████████████████████████████████████████████████████████████████████████████▌ | 35581/57580 [00:47<00:29, 739.42it/s]
62%|████████████████████████████████████████████████████████████████████████████▊ | 35656/57580 [00:47<00:29, 733.18it/s]
62%|████████████████████████████████████████████████████████████████████████████▉ | 35730/57580 [00:47<00:29, 734.36it/s]
62%|█████████████████████████████████████████████████████████████████████████████ | 35809/57580 [00:47<00:29, 749.79it/s]
62%|█████████████████████████████████████████████████████████████████████████████▎ | 35890/57580 [00:47<00:28, 764.47it/s]
62%|█████████████████████████████████████████████████████████████████████████████▍ | 35967/57580 [00:48<00:28, 747.69it/s]
63%|█████████████████████████████████████████████████████████████████████████████▌ | 36042/57580 [00:48<00:28, 745.39it/s]
63%|█████████████████████████████████████████████████████████████████████████████▊ | 36118/57580 [00:48<00:28, 746.75it/s]
63%|█████████████████████████████████████████████████████████████████████████████▉ | 36193/57580 [00:48<00:29, 725.21it/s]
63%|██████████████████████████████████████████████████████████████████████████████ | 36266/57580 [00:48<00:29, 724.84it/s]
63%|██████████████████████████████████████████████████████████████████████████████▎ | 36339/57580 [00:48<00:29, 719.28it/s]
63%|██████████████████████████████████████████████████████████████████████████████▍ | 36411/57580 [00:48<00:29, 714.55it/s]
63%|██████████████████████████████████████████████████████████████████████████████▌ | 36483/57580 [00:48<00:29, 713.39it/s]
63%|██████████████████████████████████████████████████████████████████████████████▋ | 36556/57580 [00:48<00:29, 717.57it/s]
64%|██████████████████████████████████████████████████████████████████████████████▉ | 36628/57580 [00:48<00:29, 715.47it/s]
64%|███████████████████████████████████████████████████████████████████████████████ | 36701/57580 [00:49<00:29, 718.90it/s]
64%|███████████████████████████████████████████████████████████████████████████████▏ | 36779/57580 [00:49<00:28, 736.27it/s]
64%|███████████████████████████████████████████████████████████████████████████████▍ | 36861/57580 [00:49<00:27, 759.96it/s]
64%|███████████████████████████████████████████████████████████████████████████████▌ | 36938/57580 [00:49<00:27, 739.70it/s]
64%|███████████████████████████████████████████████████████████████████████████████▋ | 37013/57580 [00:49<00:28, 724.97it/s]
64%|███████████████████████████████████████████████████████████████████████████████▊ | 37086/57580 [00:49<00:28, 713.19it/s]
65%|████████████████████████████████████████████████████████████████████████████████ | 37158/57580 [00:49<00:29, 701.99it/s]
65%|████████████████████████████████████████████████████████████████████████████████▏ | 37233/57580 [00:49<00:28, 714.71it/s]
65%|████████████████████████████████████████████████████████████████████████████████▎ | 37317/57580 [00:49<00:27, 747.92it/s]
65%|████████████████████████████████████████████████████████████████████████████████▌ | 37400/57580 [00:50<00:26, 771.22it/s]
65%|████████████████████████████████████████████████████████████████████████████████▋ | 37481/57580 [00:50<00:25, 782.04it/s]
65%|████████████████████████████████████████████████████████████████████████████████▉ | 37560/57580 [00:50<00:26, 765.40it/s]
65%|█████████████████████████████████████████████████████████████████████████████████ | 37637/57580 [00:50<00:26, 752.74it/s]
65%|█████████████████████████████████████████████████████████████████████████████████▏ | 37713/57580 [00:50<00:26, 741.40it/s]
66%|█████████████████████████████████████████████████████████████████████████████████▍ | 37793/57580 [00:50<00:26, 754.06it/s]
66%|█████████████████████████████████████████████████████████████████████████████████▌ | 37869/57580 [00:50<00:26, 735.58it/s]
66%|█████████████████████████████████████████████████████████████████████████████████▋ | 37948/57580 [00:50<00:26, 750.62it/s]
66%|█████████████████████████████████████████████████████████████████████████████████▉ | 38024/57580 [00:50<00:26, 741.62it/s]
66%|██████████████████████████████████████████████████████████████████████████████████ | 38099/57580 [00:50<00:26, 737.62it/s]
66%|██████████████████████████████████████████████████████████████████████████████████▏ | 38181/57580 [00:51<00:25, 759.77it/s]
66%|██████████████████████████████████████████████████████████████████████████████████▍ | 38262/57580 [00:51<00:24, 773.65it/s]
67%|██████████████████████████████████████████████████████████████████████████████████▌ | 38344/57580 [00:51<00:24, 786.59it/s]
67%|██████████████████████████████████████████████████████████████████████████████████▋ | 38423/57580 [00:51<00:25, 761.85it/s]
67%|██████████████████████████████████████████████████████████████████████████████████▉ | 38500/57580 [00:51<00:25, 756.83it/s]
67%|███████████████████████████████████████████████████████████████████████████████████ | 38576/57580 [00:51<00:25, 748.22it/s]
67%|███████████████████████████████████████████████████████████████████████████████████▎ | 38659/57580 [00:51<00:24, 771.42it/s]
67%|███████████████████████████████████████████████████████████████████████████████████▍ | 38737/57580 [00:51<00:24, 754.56it/s]
67%|███████████████████████████████████████████████████████████████████████████████████▌ | 38814/57580 [00:51<00:24, 757.11it/s]
68%|███████████████████████████████████████████████████████████████████████████████████▊ | 38896/57580 [00:51<00:24, 774.75it/s]
68%|███████████████████████████████████████████████████████████████████████████████████▉ | 38974/57580 [00:52<00:24, 766.14it/s]
68%|████████████████████████████████████████████████████████████████████████████████████ | 39051/57580 [00:52<00:25, 739.19it/s]
68%|████████████████████████████████████████████████████████████████████████████████████▎ | 39126/57580 [00:52<00:25, 710.86it/s]
68%|████████████████████████████████████████████████████████████████████████████████████▍ | 39202/57580 [00:52<00:25, 724.10it/s]
68%|████████████████████████████████████████████████████████████████████████████████████▌ | 39284/57580 [00:52<00:24, 750.90it/s]
68%|████████████████████████████████████████████████████████████████████████████████████▊ | 39361/57580 [00:52<00:24, 755.75it/s]
68%|████████████████████████████████████████████████████████████████████████████████████▉ | 39437/57580 [00:52<00:24, 745.32it/s]
69%|█████████████████████████████████████████████████████████████████████████████████████ | 39514/57580 [00:52<00:24, 749.72it/s]
69%|█████████████████████████████████████████████████████████████████████████████████████▎ | 39606/57580 [00:52<00:22, 798.20it/s]
69%|█████████████████████████████████████████████████████████████████████████████████████▍ | 39698/57580 [00:53<00:21, 833.49it/s]
69%|█████████████████████████████████████████████████████████████████████████████████████▋ | 39790/57580 [00:53<00:20, 857.23it/s]
69%|█████████████████████████████████████████████████████████████████████████████████████▉ | 39882/57580 [00:53<00:20, 875.27it/s]
69%|██████████████████████████████████████████████████████████████████████████████████████ | 39970/57580 [00:53<00:21, 833.79it/s]
70%|██████████████████████████████████████████████████████████████████████████████████████▎ | 40054/57580 [00:53<00:22, 791.28it/s]
70%|██████████████████████████████████████████████████████████████████████████████████████▍ | 40134/57580 [00:53<00:22, 769.02it/s]
70%|██████████████████████████████████████████████████████████████████████████████████████▌ | 40212/57580 [00:53<00:22, 762.68it/s]
70%|██████████████████████████████████████████████████████████████████████████████████████▊ | 40289/57580 [00:53<00:23, 734.92it/s]
70%|██████████████████████████████████████████████████████████████████████████████████████▉ | 40364/57580 [00:53<00:23, 738.30it/s]
70%|███████████████████████████████████████████████████████████████████████████████████████ | 40446/57580 [00:53<00:22, 758.80it/s]
70%|███████████████████████████████████████████████████████████████████████████████████████▎ | 40523/57580 [00:54<00:23, 723.67it/s]
71%|███████████████████████████████████████████████████████████████████████████████████████▍ | 40596/57580 [00:54<00:24, 694.51it/s]
71%|███████████████████████████████████████████████████████████████████████████████████████▌ | 40666/57580 [00:54<00:25, 675.15it/s]
71%|███████████████████████████████████████████████████████████████████████████████████████▋ | 40735/57580 [00:54<00:24, 678.53it/s]
71%|███████████████████████████████████████████████████████████████████████████████████████▊ | 40804/57580 [00:54<00:24, 681.10it/s]
71%|████████████████████████████████████████████████████████████████████████████████████████ | 40885/57580 [00:54<00:23, 714.40it/s]
71%|████████████████████████████████████████████████████████████████████████████████████████▏ | 40972/57580 [00:54<00:21, 756.79it/s]
71%|████████████████████████████████████████████████████████████████████████████████████████▍ | 41054/57580 [00:54<00:21, 774.62it/s]
71%|████████████████████████████████████████████████████████████████████████████████████████▌ | 41136/57580 [00:54<00:20, 787.33it/s]
72%|████████████████████████████████████████████████████████████████████████████████████████▊ | 41220/57580 [00:55<00:20, 802.21it/s]
72%|████████████████████████████████████████████████████████████████████████████████████████▉ | 41303/57580 [00:55<00:20, 809.77it/s]
72%|█████████████████████████████████████████████████████████████████████████████████████████ | 41385/57580 [00:55<00:20, 809.65it/s]
72%|█████████████████████████████████████████████████████████████████████████████████████████▎ | 41467/57580 [00:55<00:20, 783.12it/s]
72%|█████████████████████████████████████████████████████████████████████████████████████████▍ | 41549/57580 [00:55<00:20, 793.14it/s]
72%|█████████████████████████████████████████████████████████████████████████████████████████▋ | 41629/57580 [00:55<00:20, 787.60it/s]
72%|█████████████████████████████████████████████████████████████████████████████████████████▊ | 41713/57580 [00:55<00:19, 802.25it/s]
73%|██████████████████████████████████████████████████████████████████████████████████████████ | 41799/57580 [00:55<00:19, 818.69it/s]
73%|██████████████████████████████████████████████████████████████████████████████████████████▏ | 41882/57580 [00:55<00:19, 821.53it/s]
73%|██████████████████████████████████████████████████████████████████████████████████████████▎ | 41965/57580 [00:55<00:18, 823.31it/s]
73%|██████████████████████████████████████████████████████████████████████████████████████████▌ | 42048/57580 [00:56<00:18, 819.73it/s]
73%|██████████████████████████████████████████████████████████████████████████████████████████▋ | 42132/57580 [00:56<00:18, 824.23it/s]
73%|██████████████████████████████████████████████████████████████████████████████████████████▉ | 42215/57580 [00:56<00:19, 793.69it/s]
73%|███████████████████████████████████████████████████████████████████████████████████████████ | 42295/57580 [00:56<00:20, 757.24it/s]
74%|███████████████████████████████████████████████████████████████████████████████████████████▎ | 42375/57580 [00:56<00:19, 768.88it/s]
74%|███████████████████████████████████████████████████████████████████████████████████████████▍ | 42453/57580 [00:56<00:20, 743.07it/s]
74%|███████████████████████████████████████████████████████████████████████████████████████████▌ | 42528/57580 [00:56<00:20, 732.16it/s]
74%|███████████████████████████████████████████████████████████████████████████████████████████▋ | 42602/57580 [00:56<00:20, 729.43it/s]
74%|███████████████████████████████████████████████████████████████████████████████████████████▉ | 42676/57580 [00:56<00:20, 727.41it/s]
74%|████████████████████████████████████████████████████████████████████████████████████████████ | 42749/57580 [00:57<00:20, 724.91it/s]
74%|████████████████████████████████████████████████████████████████████████████████████████████▏ | 42822/57580 [00:57<00:20, 719.36it/s]
74%|████████████████████████████████████████████████████████████████████████████████████████████▍ | 42896/57580 [00:57<00:20, 724.82it/s]
75%|████████████████████████████████████████████████████████████████████████████████████████████▌ | 42969/57580 [00:57<00:20, 723.42it/s]
75%|████████████████████████████████████████████████████████████████████████████████████████████▋ | 43042/57580 [00:57<00:20, 722.36it/s]
75%|████████████████████████████████████████████████████████████████████████████████████████████▊ | 43117/57580 [00:57<00:19, 727.63it/s]
75%|█████████████████████████████████████████████████████████████████████████████████████████████ | 43202/57580 [00:57<00:18, 760.98it/s]
75%|█████████████████████████████████████████████████████████████████████████████████████████████▏ | 43295/57580 [00:57<00:17, 810.52it/s]
75%|█████████████████████████████████████████████████████████████████████████████████████████████▍ | 43387/57580 [00:57<00:16, 842.42it/s]
76%|█████████████████████████████████████████████████████████████████████████████████████████████▋ | 43478/57580 [00:57<00:16, 861.97it/s]
76%|█████████████████████████████████████████████████████████████████████████████████████████████▊ | 43569/57580 [00:58<00:16, 873.03it/s]
76%|██████████████████████████████████████████████████████████████████████████████████████████████ | 43662/57580 [00:58<00:15, 889.37it/s]
76%|██████████████████████████████████████████████████████████████████████████████████████████████▏ | 43753/57580 [00:58<00:15, 894.83it/s]
76%|██████████████████████████████████████████████████████████████████████████████████████████████▍ | 43843/57580 [00:58<00:16, 840.23it/s]
76%|██████████████████████████████████████████████████████████████████████████████████████████████▌ | 43928/57580 [00:58<00:17, 794.32it/s]
76%|██████████████████████████████████████████████████████████████████████████████████████████████▊ | 44009/57580 [00:58<00:17, 759.83it/s]
77%|██████████████████████████████████████████████████████████████████████████████████████████████▉ | 44086/57580 [00:58<00:18, 737.23it/s]
77%|███████████████████████████████████████████████████████████████████████████████████████████████ | 44167/57580 [00:58<00:17, 756.57it/s]
77%|███████████████████████████████████████████████████████████████████████████████████████████████▎ | 44255/57580 [00:58<00:16, 790.69it/s]
77%|███████████████████████████████████████████████████████████████████████████████████████████████▍ | 44339/57580 [00:59<00:16, 803.01it/s]
77%|███████████████████████████████████████████████████████████████████████████████████████████████▋ | 44421/57580 [00:59<00:16, 807.90it/s]
77%|███████████████████████████████████████████████████████████████████████████████████████████████▊ | 44503/57580 [00:59<00:16, 810.40it/s]
77%|████████████████████████████████████████████████████████████████████████████████████████████████ | 44585/57580 [00:59<00:16, 809.89it/s]
78%|████████████████████████████████████████████████████████████████████████████████████████████████▏ | 44667/57580 [00:59<00:16, 769.26it/s]
78%|████████████████████████████████████████████████████████████████████████████████████████████████▎ | 44745/57580 [00:59<00:17, 741.79it/s]
78%|████████████████████████████████████████████████████████████████████████████████████████████████▌ | 44822/57580 [00:59<00:17, 747.13it/s]
78%|████████████████████████████████████████████████████████████████████████████████████████████████▋ | 44899/57580 [00:59<00:16, 753.04it/s]
78%|████████████████████████████████████████████████████████████████████████████████████████████████▊ | 44975/57580 [00:59<00:17, 737.16it/s]
78%|█████████████████████████████████████████████████████████████████████████████████████████████████ | 45049/57580 [00:59<00:17, 726.57it/s]
78%|█████████████████████████████████████████████████████████████████████████████████████████████████▏ | 45122/57580 [01:00<00:17, 716.34it/s]
78%|█████████████████████████████████████████████████████████████████████████████████████████████████▎ | 45196/57580 [01:00<00:17, 722.39it/s]
79%|█████████████████████████████████████████████████████████████████████████████████████████████████▍ | 45269/57580 [01:00<00:17, 721.77it/s]
79%|█████████████████████████████████████████████████████████████████████████████████████████████████▋ | 45342/57580 [01:00<00:17, 717.16it/s]
79%|█████████████████████████████████████████████████████████████████████████████████████████████████▊ | 45414/57580 [01:00<00:16, 717.02it/s]
79%|█████████████████████████████████████████████████████████████████████████████████████████████████▉ | 45486/57580 [01:00<00:16, 712.51it/s]
79%|██████████████████████████████████████████████████████████████████████████████████████████████████ | 45558/57580 [01:00<00:17, 701.49it/s]
79%|██████████████████████████████████████████████████████████████████████████████████████████████████▎ | 45629/57580 [01:00<00:17, 691.22it/s]
79%|██████████████████████████████████████████████████████████████████████████████████████████████████▍ | 45699/57580 [01:00<00:17, 691.21it/s]
79%|██████████████████████████████████████████████████████████████████████████████████████████████████▌ | 45769/57580 [01:00<00:17, 680.16it/s]
80%|██████████████████████████████████████████████████████████████████████████████████████████████████▋ | 45842/57580 [01:01<00:16, 694.07it/s]
80%|██████████████████████████████████████████████████████████████████████████████████████████████████▉ | 45915/57580 [01:01<00:16, 701.83it/s]
80%|███████████████████████████████████████████████████████████████████████████████████████████████████ | 45993/57580 [01:01<00:16, 723.30it/s]
80%|███████████████████████████████████████████████████████████████████████████████████████████████████▏ | 46066/57580 [01:01<00:16, 716.06it/s]
80%|███████████████████████████████████████████████████████████████████████████████████████████████████▎ | 46139/57580 [01:01<00:15, 719.09it/s]
80%|███████████████████████████████████████████████████████████████████████████████████████████████████▌ | 46211/57580 [01:01<00:15, 717.35it/s]
80%|███████████████████████████████████████████████████████████████████████████████████████████████████▋ | 46283/57580 [01:01<00:15, 706.82it/s]
81%|███████████████████████████████████████████████████████████████████████████████████████████████████▊ | 46354/57580 [01:01<00:15, 704.83it/s]
81%|███████████████████████████████████████████████████████████████████████████████████████████████████▉ | 46426/57580 [01:01<00:15, 706.45it/s]
81%|████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 46497/57580 [01:02<00:15, 704.75it/s]
81%|████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 46568/57580 [01:02<00:15, 705.08it/s]
81%|████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 46640/57580 [01:02<00:15, 708.70it/s]
81%|████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 46713/57580 [01:02<00:15, 714.36it/s]
81%|████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 46785/57580 [01:02<00:15, 708.79it/s]
81%|████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 46857/57580 [01:02<00:15, 709.25it/s]
82%|█████████████████████████████████████████████████████████████████████████████████████████████████████ | 46932/57580 [01:02<00:14, 718.60it/s]
82%|█████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 47012/57580 [01:02<00:14, 742.11it/s]
82%|█████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 47094/57580 [01:02<00:13, 763.32it/s]
82%|█████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 47177/57580 [01:02<00:13, 781.08it/s]
82%|█████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 47260/57580 [01:03<00:13, 792.47it/s]
82%|█████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 47342/57580 [01:03<00:12, 799.83it/s]
82%|██████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 47425/57580 [01:03<00:12, 807.88it/s]
83%|██████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 47506/57580 [01:03<00:12, 795.74it/s]
83%|██████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 47586/57580 [01:03<00:13, 768.63it/s]
83%|██████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 47664/57580 [01:03<00:13, 756.82it/s]
83%|██████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 47743/57580 [01:03<00:12, 765.62it/s]
83%|██████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 47826/57580 [01:03<00:12, 781.40it/s]
83%|███████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 47907/57580 [01:03<00:12, 789.08it/s]
83%|███████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 47989/57580 [01:03<00:12, 797.56it/s]
83%|███████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 48069/57580 [01:04<00:12, 776.51it/s]
84%|███████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 48147/57580 [01:04<00:12, 750.37it/s]
84%|███████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 48223/57580 [01:04<00:12, 736.57it/s]
84%|████████████████████████████████████████████████████████████████████████████████████████████████████████ | 48297/57580 [01:04<00:12, 721.95it/s]
84%|████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 48370/57580 [01:04<00:12, 723.52it/s]
84%|████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 48443/57580 [01:04<00:12, 724.60it/s]
84%|████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 48517/57580 [01:04<00:12, 728.29it/s]
84%|████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 48592/57580 [01:04<00:12, 734.16it/s]
85%|████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 48667/57580 [01:04<00:12, 737.98it/s]
85%|████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 48741/57580 [01:04<00:12, 712.23it/s]
85%|█████████████████████████████████████████████████████████████████████████████████████████████████████████ | 48813/57580 [01:05<00:12, 709.21it/s]
85%|█████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 48887/57580 [01:05<00:12, 717.55it/s]
85%|█████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 48959/57580 [01:05<00:12, 713.47it/s]
85%|█████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 49031/57580 [01:05<00:11, 712.50it/s]
85%|█████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 49103/57580 [01:05<00:11, 714.56it/s]
85%|█████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 49175/57580 [01:05<00:11, 715.17it/s]
86%|██████████████████████████████████████████████████████████████████████████████████████████████████████████ | 49256/57580 [01:05<00:11, 742.68it/s]
86%|██████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 49338/57580 [01:05<00:10, 764.92it/s]
86%|██████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 49420/57580 [01:05<00:10, 778.23it/s]
86%|██████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 49498/57580 [01:06<00:10, 771.09it/s]
86%|██████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 49576/57580 [01:06<00:10, 766.22it/s]
86%|██████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 49653/57580 [01:06<00:10, 760.44it/s]
86%|███████████████████████████████████████████████████████████████████████████████████████████████████████████ | 49730/57580 [01:06<00:10, 757.84it/s]
86%|███████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 49806/57580 [01:06<00:10, 753.10it/s]
87%|███████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 49882/57580 [01:06<00:10, 730.51it/s]
87%|███████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 49958/57580 [01:06<00:10, 737.22it/s]
87%|███████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 50047/57580 [01:06<00:09, 781.50it/s]
87%|███████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 50139/57580 [01:06<00:09, 821.58it/s]
87%|████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 50222/57580 [01:06<00:08, 823.25it/s]
87%|████████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 50305/57580 [01:07<00:08, 819.68it/s]
88%|████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 50388/57580 [01:07<00:08, 822.08it/s]
88%|████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 50471/57580 [01:07<00:08, 823.42it/s]
88%|████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 50554/57580 [01:07<00:08, 823.31it/s]
88%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 50637/57580 [01:07<00:08, 795.92it/s]
88%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 50717/57580 [01:07<00:08, 784.88it/s]
88%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 50808/57580 [01:07<00:08, 820.46it/s]
88%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 50900/57580 [01:07<00:07, 848.88it/s]
89%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 50991/57580 [01:07<00:07, 866.19it/s]
89%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 51078/57580 [01:07<00:07, 866.80it/s]
89%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 51165/57580 [01:08<00:07, 849.18it/s]
89%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 51251/57580 [01:08<00:07, 836.75it/s]
89%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 51335/57580 [01:08<00:07, 820.34it/s]
89%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 51418/57580 [01:08<00:07, 774.99it/s]
89%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 51497/57580 [01:08<00:08, 755.25it/s]
90%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 51573/57580 [01:08<00:08, 747.41it/s]
90%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 51654/57580 [01:08<00:07, 764.43it/s]
90%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 51731/57580 [01:08<00:07, 758.56it/s]
90%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 51808/57580 [01:08<00:07, 752.24it/s]
90%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 51884/57580 [01:09<00:07, 750.58it/s]
90%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 51963/57580 [01:09<00:07, 762.00it/s]
90%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 52045/57580 [01:09<00:07, 778.32it/s]
91%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 52123/57580 [01:09<00:07, 759.93it/s]
91%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 52200/57580 [01:09<00:07, 744.49it/s]
91%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 52275/57580 [01:09<00:07, 738.58it/s]
91%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 52349/57580 [01:09<00:07, 719.21it/s]
91%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 52422/57580 [01:09<00:07, 714.14it/s]
91%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 52504/57580 [01:09<00:06, 744.14it/s]
91%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 52579/57580 [01:09<00:06, 745.14it/s]
91%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 52654/57580 [01:10<00:06, 719.94it/s]
92%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 52727/57580 [01:10<00:06, 709.88it/s]
92%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 52801/57580 [01:10<00:06, 717.86it/s]
92%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 52879/57580 [01:10<00:06, 732.02it/s]
92%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 52954/57580 [01:10<00:06, 736.68it/s]
92%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 53028/57580 [01:10<00:06, 728.38it/s]
92%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 53106/57580 [01:10<00:06, 742.94it/s]
92%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 53185/57580 [01:10<00:05, 756.12it/s]
93%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 53262/57580 [01:10<00:05, 757.21it/s]
93%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 53338/57580 [01:10<00:05, 731.89it/s]
93%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 53417/57580 [01:11<00:05, 747.01it/s]
93%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 53493/57580 [01:11<00:05, 750.02it/s]
93%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 53570/57580 [01:11<00:05, 755.23it/s]
93%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 53646/57580 [01:11<00:05, 736.39it/s]
93%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 53723/57580 [01:11<00:05, 744.38it/s]
93%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 53798/57580 [01:11<00:05, 724.07it/s]
94%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 53876/57580 [01:11<00:05, 739.65it/s]
94%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 53955/57580 [01:11<00:04, 753.78it/s]
94%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 54031/57580 [01:11<00:04, 754.88it/s]
94%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 54107/57580 [01:12<00:04, 742.58it/s]
94%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 54185/57580 [01:12<00:04, 750.79it/s]
94%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 54267/57580 [01:12<00:04, 770.56it/s]
94%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 54345/57580 [01:12<00:04, 745.84it/s]
95%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 54422/57580 [01:12<00:04, 752.12it/s]
95%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 54498/57580 [01:12<00:04, 744.54it/s]
95%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 54573/57580 [01:12<00:04, 736.94it/s]
95%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 54649/57580 [01:12<00:03, 739.42it/s]
95%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 54724/57580 [01:12<00:03, 739.68it/s]
95%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 54799/57580 [01:12<00:03, 741.94it/s]
95%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 54874/57580 [01:13<00:03, 741.03it/s]
95%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 54949/57580 [01:13<00:03, 729.68it/s]
96%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 55023/57580 [01:13<00:03, 729.69it/s]
96%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 55097/57580 [01:13<00:03, 726.51it/s]
96%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 55170/57580 [01:13<00:03, 719.02it/s]
96%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 55242/57580 [01:13<00:03, 716.42it/s]
96%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 55317/57580 [01:13<00:03, 725.41it/s]
96%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 55391/57580 [01:13<00:03, 728.84it/s]
96%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 55466/57580 [01:13<00:02, 731.91it/s]
96%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 55540/57580 [01:13<00:02, 727.10it/s]
97%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 55614/57580 [01:14<00:02, 730.18it/s]
97%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 55688/57580 [01:14<00:02, 727.96it/s]
97%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 55762/57580 [01:14<00:02, 728.41it/s]
97%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 55838/57580 [01:14<00:02, 737.04it/s]
97%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 55912/57580 [01:14<00:02, 732.72it/s]
97%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 55986/57580 [01:14<00:02, 721.15it/s]
97%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 56059/57580 [01:14<00:02, 723.29it/s]
97%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 56136/57580 [01:14<00:01, 733.94it/s]
98%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 56223/57580 [01:14<00:01, 772.71it/s]
98%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 56305/57580 [01:14<00:01, 786.00it/s]
98%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 56388/57580 [01:15<00:01, 798.40it/s]
98%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 56470/57580 [01:15<00:01, 804.12it/s]
98%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 56553/57580 [01:15<00:01, 810.64it/s]
98%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 56635/57580 [01:15<00:01, 790.38it/s]
98%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 56715/57580 [01:15<00:01, 758.78it/s]
99%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 56792/57580 [01:15<00:01, 744.30it/s]
99%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 56867/57580 [01:15<00:00, 745.16it/s]
99%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 56950/57580 [01:15<00:00, 766.78it/s]
99%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 57027/57580 [01:15<00:00, 743.80it/s]
99%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 57102/57580 [01:16<00:00, 730.12it/s]
99%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏| 57176/57580 [01:16<00:00, 723.89it/s]
99%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎| 57257/57580 [01:16<00:00, 745.91it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍| 57333/57580 [01:16<00:00, 749.25it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋| 57409/57580 [01:16<00:00, 731.84it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊| 57483/57580 [01:16<00:00, 723.84it/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉| 57561/57580 [01:16<00:00, 739.12it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 57580/57580 [01:16<00:00, 750.73it/s]
Analogous to DKI, the data fit can be done by calling the fit
function of
the model’s object as follows:
dki_micro_fit = dki_micro_model.fit(data_smooth, mask=well_aligned_mask)
0%| | 0/465 [00:00<?, ?it/s]
16%|████████████████████▊ | 75/465 [00:00<00:00, 748.26it/s]
32%|█████████████████████████████████████████▎ | 150/465 [00:00<00:00, 743.33it/s]
48%|█████████████████████████████████████████████████████████████▉ | 225/465 [00:00<00:00, 739.69it/s]
64%|██████████████████████████████████████████████████████████████████████████████████▎ | 299/465 [00:00<00:00, 724.49it/s]
80%|██████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 374/465 [00:00<00:00, 732.19it/s]
96%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 448/465 [00:00<00:00, 726.59it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 465/465 [00:00<00:00, 733.48it/s]
The KurtosisMicrostructureFit object created by this fit
function can
then be used to extract model parameters such as the axonal water fraction
and diffusion hindered tortuosity:
AWF = dki_micro_fit.awf
TORT = dki_micro_fit.tortuosity
These parameters are plotted below on top of the mean kurtosis maps:
MK = dkifit.mk(0, 3)
axial_slice = 9
fig1, ax = plt.subplots(1, 2, figsize=(9, 4),
subplot_kw={'xticks': [], 'yticks': []})
AWF[AWF == 0] = np.nan
TORT[TORT == 0] = np.nan
ax[0].imshow(MK[:, :, axial_slice].T, cmap=plt.cm.gray,
interpolation='nearest', origin='lower')
im0 = ax[0].imshow(AWF[:, :, axial_slice].T, cmap=plt.cm.Reds, alpha=0.9,
vmin=0.3, vmax=0.7, interpolation='nearest', origin='lower')
fig1.colorbar(im0, ax=ax.flat[0])
ax[1].imshow(MK[:, :, axial_slice].T, cmap=plt.cm.gray,
interpolation='nearest', origin='lower')
im1 = ax[1].imshow(TORT[:, :, axial_slice].T, cmap=plt.cm.Blues, alpha=0.9,
vmin=2, vmax=6, interpolation='nearest', origin='lower')
fig1.colorbar(im1, ax=ax.flat[1])
fig1.savefig('Kurtosis_Microstructural_measures.png')
Axonal water fraction (left panel) and tortuosity (right panel) values of well-aligned fiber regions overlaid on a top of a mean kurtosis all-brain image.
References#
Fieremans E, Jensen JH, Helpern JA (2011). White matter characterization with diffusion kurtosis imaging. NeuroImage 58: 177-188
Fieremans E, Jensen JH, Helpern JA, Kim S, Grossman RI, Inglese M, Novikov DS. (2012). Diffusion distinguishes between axonal loss and demyelination in brain white matter. Proceedings of the 20th Annual Meeting of the International Society for Magnetic Resonance Medicine; Melbourne, Australia. May 5-11.
Fieremans, E., Benitez, A., Jensen, J.H., Falangola, M.F., Tabesh, A., Deardorff, R.L., Spampinato, M.V., Babb, J.S., Novikov, D.S., Ferris, S.H., Helpern, J.A., 2013. Novel white matter tract integrity metrics sensitive to Alzheimer disease progression. AJNR Am. J. Neuroradiol. 34(11), 2105-2112. doi: 10.3174/ajnr.A3553
Hansen, B, Jespersen, SN (2016). Data for evaluation of fast kurtosis strategies, b-value optimization and exploration of diffusion MRI contrast. Scientific Data 3: 160072 doi:10.1038/sdata.2016.72
Total running time of the script: (4 minutes 7.316 seconds)