Getting started with pyAFQ - ParticipantAFQ#

import os
import os.path as op

import matplotlib.pyplot as plt
import nibabel as nib
import plotly
import pandas as pd

from AFQ.api.participant import ParticipantAFQ
import AFQ.data.fetch as afd
import AFQ.viz.altair as ava

Example data#

The following call dowloads a dataset that contains a single subject”s high angular resolution diffusion imaging (HARDI) data, collected at the Stanford Vista Lab

Note

See https://purl.stanford.edu/ng782rw8378 for details on dataset.

The data are downloaded and organized locally into a BIDS compliant anatomical data folder (anat) and a diffusion-weighted imaging data (dwi) folder, which are both placed in the user’s home directory under:

``~/AFQ_data/stanford_hardi/``

The data is also placed in a derivatives directory, signifying that it has already undergone the required preprocessing necessary for pyAFQ to run.

The clear_previous_afq is used to remove any previous runs of the afq object stored in the ~/AFQ_data/stanford_hardi/ BIDS directory. Set it to None if you want to use the results of previous runs.

afd.organize_stanford_data(clear_previous_afq = "track")

Defining data files#

If your data is not in BIDS format, you can still use pyAFQ. If you have BIDS compliant dataset, you can use GroupAFQ instead (Getting started with pyAFQ - GroupAFQ). Otherwise, You will need to define the data files that you want to use. In this case, we will define the data files for the subject we downloaded above. The data files are located in the ~/AFQ_data/stanford_hardi/derivatives/vistasoft directory, and are organized into a BIDS compliant directory structure. The data files are located in the dwi directories. The data files are:

  • sub-01_dwi.nii.gz (the diffusion-weighted imaging data)

  • sub-01_dwi.bval (the b-values)

  • sub-01_dwi.bvec (the b-vectors)

data_dir = op.join(afd.afq_home, "stanford_hardi", "derivatives", "vistasoft",
                   "sub-01", "ses-01", "dwi")

dwi_data_file = op.join(data_dir, "sub-01_ses-01_dwi.nii.gz")
bval_file     = op.join(data_dir, "sub-01_ses-01_dwi.bval")
bvec_file     = op.join(data_dir, "sub-01_ses-01_dwi.bvec")

# You will also need to define the output directory where you want to store the
# results. The output directory needs to exist before exporting ParticipantAFQ
# results.

output_dir = op.join(afd.afq_home, "stanford_hardi", "derivatives", "afq", "sub-01")
os.makedirs(output_dir, exist_ok = True)

Set tractography parameters (optional)#

We make create a tracking_params variable, which we will pass to the ParticipantAFQ object which specifies that we want 25,000 seeds randomly distributed in the white matter. We only do this to make this example faster and consume less space. We also set num_chunks to True, which will use ray to parallelize the tracking across all cores. This can be removed to process in serial, or set to use a particular distribution of work by setting n_chunks to an integer number.

tracking_params = dict(n_seeds=25000,
                       random_seeds=True,
                       rng_seed=2022,
                       trx=True,
                       num_chunks=True)

Initialize a ParticipantAFQ object:#

Creates a ParticipantAFQ object, that encapsulates tractometry. This object can be used to manage the entire AFQ Tractometry Pipeline, including:

  • Tractography

  • Registration

  • Segmentation

  • Cleaning

  • Profiling

  • Visualization

To initialize the object, we will pass in the diffusion data files and specify the output directory where we want to store the results. We will also pass in the tracking parameters we defined above.

Calculating DTI FA (Diffusion Tensor Imaging Fractional Anisotropy)#

The ParticipantAFQ object has a method called export, which allows the user to calculate various derived quantities from the data.

For example, FA can be computed using the DTI model, by explicitly calling myafq.export("dti_fa"). This triggers the computation of DTI parameters, and stores the results in the AFQ derivatives directory. In addition, it calculates the FA from these parameters and stores it in a different file in the same directory.

Note

The AFQ API computes quantities lazily. This means that DTI parameters are not computed until they are required. This means that the first line below is the one that requires time.

The result of the call to export is the filename of the corresponding FA files.

FA_fname = myafq.export("dti_fa")

We will then use nibabel to load the deriviative file and retrieve the data array.

FA_img = nib.load(FA_fname)
FA = FA_img.get_fdata()

Visualize the result with Matplotlib#

At this point FA is an array, and we can use standard Python tools to visualize it or perform additional computations with it.

In this case we are going to take an axial slice halfway through the FA data array and plot using a sequential color map.

Note

The data array is structured as a xyz coordinate system.

fig, ax = plt.subplots(1)
ax.matshow(FA[:, :, FA.shape[-1] // 2], cmap="viridis")
ax.axis("off")
plot 002 participant afq api
(np.float64(-0.5), np.float64(105.5), np.float64(80.5), np.float64(-0.5))

Recognizing the bundles and calculating tract profiles:#

Typically, users of pyAFQ are interested in calculating not only an overall map of the FA, but also the major white matter pathways (or bundles) and tract profiles of tissue properties along their length. To trigger the pyAFQ pipeline that calculates the profiles, users can call the export("profiles") method:

Note

Running the code below triggers the full pipeline of operations leading to the computation of the tract profiles. Therefore, it takes a little while to run (about 40 minutes, typically).

myafq.export("profiles")
(TractActor pid=5325)
0it [00:00, ?it/s]
(TractActor pid=4912)
1it [00:00,  2.48it/s]
(TractActor pid=5332)
19it [00:00, 186.38it/s]
(TractActor pid=5325)
1it [00:02,  2.61s/it]
(TractActor pid=4912)
25it [00:00, 64.26it/s]
(TractActor pid=5332)
38it [00:00, 178.10it/s]
(TractActor pid=5325)
21it [00:02, 10.74it/s]
(TractActor pid=4912)
50it [00:00, 113.34it/s]
(TractActor pid=5332)
56it [00:00, 178.25it/s]
(TractActor pid=5325)
41it [00:02, 23.65it/s]
(TractActor pid=4912)
76it [00:00, 152.78it/s]
(TractActor pid=5332)
74it [00:00, 176.13it/s]
(TractActor pid=5325)
59it [00:02, 37.42it/s]
(TractActor pid=4912)
99it [00:00, 171.49it/s]
(TractActor pid=5332)
97it [00:00, 194.92it/s]
(TractActor pid=5325)
80it [00:03, 56.61it/s]
(TractActor pid=4912)
121it [00:00, 179.52it/s]
(TractActor pid=5332)
122it [00:00, 211.36it/s]
(TractActor pid=5325)
101it [00:03, 77.64it/s]
(TractActor pid=4912)
142it [00:01, 174.11it/s]
(TractActor pid=5325)
121it [00:03, 96.91it/s]
(TractActor pid=4912)
162it [00:01, 155.54it/s]
(TractActor pid=5332)
144it [00:00, 196.47it/s]
(TractActor pid=5325)
140it [00:03, 111.97it/s]
(TractActor pid=5332)
165it [00:00, 199.73it/s]
(TractActor pid=4912)
180it [00:01, 161.04it/s]
(TractActor pid=5332)
189it [00:00, 211.09it/s]
(TractActor pid=5325)
159it [00:03, 115.19it/s]
(TractActor pid=4912)
198it [00:01, 165.44it/s]
(TractActor pid=5332)
213it [00:01, 217.59it/s]
(TractActor pid=5325)
176it [00:03, 125.33it/s]
(TractActor pid=4912)
217it [00:01, 171.65it/s]
(TractActor pid=5332)
236it [00:01, 218.98it/s]
(TractActor pid=5325)
196it [00:03, 140.72it/s]
(TractActor pid=4912)
235it [00:01, 169.65it/s]
(TractActor pid=5332)
258it [00:01, 216.54it/s]
(TractActor pid=5325)
215it [00:03, 151.49it/s]
(TractActor pid=4912)
253it [00:01, 164.81it/s]
(TractActor pid=5325)
233it [00:03, 155.73it/s]
(TractActor pid=4912)
271it [00:01, 168.55it/s]
(TractActor pid=5332)
282it [00:01, 185.83it/s]
(TractActor pid=5325)
251it [00:04, 156.78it/s]
(TractActor pid=5332)
303it [00:01, 190.57it/s]
(TractActor pid=5325)
269it [00:04, 160.89it/s]
(TractActor pid=4912)
289it [00:02, 136.36it/s]
(TractActor pid=5332)
324it [00:01, 193.17it/s]
(TractActor pid=4912)
306it [00:02, 144.30it/s]
(TractActor pid=5332)
344it [00:01, 191.57it/s]
(TractActor pid=5325)
286it [00:04, 136.59it/s]
(TractActor pid=4912)
322it [00:02, 147.07it/s]
(TractActor pid=5332)
364it [00:01, 186.93it/s]
(TractActor pid=5325)
307it [00:04, 154.69it/s]
(TractActor pid=4912)
342it [00:02, 160.97it/s]
(TractActor pid=5332)
383it [00:01, 185.75it/s]
(TractActor pid=5325)
328it [00:04, 168.34it/s]
(TractActor pid=4912)
359it [00:02, 158.18it/s]
(TractActor pid=5332)
402it [00:02, 180.54it/s]
(TractActor pid=5325)
352it [00:04, 182.08it/s]
(TractActor pid=4912)
380it [00:02, 172.43it/s]
(TractActor pid=5332)
421it [00:02, 182.54it/s]
(TractActor pid=5325)
380it [00:04, 208.18it/s]
(TractActor pid=4912)
398it [00:02, 168.36it/s]
(TractActor pid=5332)
440it [00:02, 171.84it/s]
(TractActor pid=5325)
402it [00:04, 209.26it/s]
(TractActor pid=4912)
417it [00:02, 173.54it/s]
(TractActor pid=5325)
425it [00:04, 212.49it/s]
(TractActor pid=5332)
458it [00:02, 167.98it/s]
(TractActor pid=4912)
435it [00:02, 165.64it/s]
(TractActor pid=5332)
0it [00:00, ?it/s] [repeated 2x across cluster]
(TractActor pid=5325)
447it [00:05, 213.22it/s]
(TractActor pid=4912)
455it [00:02, 173.70it/s]
(TractActor pid=5332)
475it [00:02, 161.05it/s]
(TractActor pid=5325)
469it [00:05, 208.25it/s]
(TractActor pid=5332)
492it [00:02, 161.01it/s]
(TractActor pid=5325)
491it [00:05, 204.83it/s]
(TractActor pid=4912)
473it [00:03, 154.29it/s]
(TractActor pid=5332)
510it [00:02, 165.46it/s]
(TractActor pid=5325)
515it [00:05, 213.01it/s]
(TractActor pid=4912)
491it [00:03, 157.60it/s]
(TractActor pid=5332)
527it [00:02, 161.04it/s]
(TractActor pid=5325)
537it [00:05, 212.71it/s]
(TractActor pid=4912)
509it [00:03, 163.26it/s]
(TractActor pid=5332)
549it [00:02, 174.71it/s]
(TractActor pid=5325)
560it [00:05, 215.57it/s]
(TractActor pid=4912)
526it [00:03, 158.35it/s]
(TractActor pid=5332)
567it [00:03, 170.10it/s]
(TractActor pid=5325)
586it [00:05, 227.19it/s]
(TractActor pid=4912)
548it [00:03, 174.11it/s]
(TractActor pid=5332)
586it [00:03, 174.44it/s]
(TractActor pid=5325)
609it [00:05, 220.94it/s]
(TractActor pid=4912)
566it [00:03, 169.90it/s]
(TractActor pid=5332)
604it [00:03, 170.71it/s]
(TractActor pid=5325)
634it [00:05, 226.74it/s]
(TractActor pid=4912)
584it [00:03, 172.62it/s]
(TractActor pid=5332)
623it [00:03, 173.10it/s]
(TractActor pid=5325)
657it [00:06, 214.92it/s]
(TractActor pid=4912)
602it [00:03, 167.83it/s]
(TractActor pid=5332)
641it [00:03, 167.38it/s]
(TractActor pid=5325)
679it [00:06, 211.45it/s]
(TractActor pid=4912)
622it [00:04, 175.34it/s]
(TractActor pid=5332)
658it [00:03, 162.25it/s]
(TractActor pid=5325)
703it [00:06, 219.19it/s]
(TractActor pid=4912)
640it [00:04, 167.21it/s]
(TractActor pid=5332)
676it [00:03, 164.83it/s]
(TractActor pid=5325)
727it [00:06, 223.93it/s]
(TractActor pid=4912)
657it [00:04, 163.01it/s]
(TractActor pid=5332)
694it [00:03, 168.94it/s]
(TractActor pid=5325)
755it [00:06, 239.77it/s]
(TractActor pid=4912)
674it [00:04, 163.28it/s]
(TractActor pid=5332)
714it [00:03, 176.15it/s]
(TractActor pid=5325)
780it [00:06, 227.16it/s]
(TractActor pid=4912)
693it [00:04, 169.83it/s]
(TractActor pid=5332)
732it [00:04, 172.34it/s]
(TractActor pid=4912)
713it [00:04, 174.97it/s]
(TractActor pid=5332)
755it [00:04, 187.28it/s]
(TractActor pid=5325)
803it [00:06, 189.58it/s]
(TractActor pid=4912)
731it [00:04, 172.03it/s]
(TractActor pid=5332)
774it [00:04, 169.34it/s]
(TractActor pid=5325)
827it [00:06, 200.12it/s]
(TractActor pid=4912)
753it [00:04, 184.26it/s]
(TractActor pid=5325)
853it [00:06, 214.35it/s]
(TractActor pid=4912)
772it [00:04, 171.09it/s]
(TractActor pid=5332)
792it [00:04, 139.94it/s]
(TractActor pid=5325)
878it [00:07, 221.86it/s]
(TractActor pid=5332)
811it [00:04, 150.07it/s]
(TractActor pid=5325)
901it [00:07, 215.44it/s]
(TractActor pid=4912)
790it [00:05, 144.65it/s]
(TractActor pid=5332)
830it [00:04, 159.58it/s]
(TractActor pid=5325)
924it [00:07, 217.50it/s]
(TractActor pid=4912)
809it [00:05, 154.47it/s]
(TractActor pid=5332)
849it [00:04, 167.22it/s]
(TractActor pid=5325)
949it [00:07, 226.08it/s]
(TractActor pid=4912)
828it [00:05, 162.76it/s]
(TractActor pid=5332)
868it [00:04, 173.04it/s]
(TractActor pid=5325)
973it [00:07, 227.84it/s]
(TractActor pid=4912)
845it [00:05, 163.05it/s]
(TractActor pid=5332)
887it [00:04, 177.63it/s]
(TractActor pid=5325)
996it [00:07, 225.26it/s]
(TractActor pid=4912)
867it [00:05, 174.58it/s]
(TractActor pid=5332)
906it [00:05, 166.06it/s]
(TractActor pid=5325)
1019it [00:07, 220.24it/s]
(TractActor pid=4912)
887it [00:05, 179.59it/s]
(TractActor pid=5332)
924it [00:05, 169.24it/s]
(TractActor pid=5325)
1043it [00:07, 223.51it/s]
(TractActor pid=4912)
906it [00:05, 167.35it/s]
(TractActor pid=5332)
942it [00:05, 170.90it/s]
(TractActor pid=5325)
1066it [00:07, 225.23it/s]
(TractActor pid=4912)
924it [00:05, 170.00it/s]
(TractActor pid=5332)
962it [00:05, 178.53it/s]
(TractActor pid=5325)
1089it [00:07, 224.20it/s]
(TractActor pid=4912)
942it [00:05, 171.13it/s]
(TractActor pid=5332)
981it [00:05, 173.83it/s]
(TractActor pid=5325)
1112it [00:08, 225.87it/s]
(TractActor pid=4912)
962it [00:06, 178.60it/s]
(TractActor pid=5332)
999it [00:05, 172.17it/s]
(TractActor pid=5325)
1135it [00:08, 220.07it/s]
(TractActor pid=4912)
981it [00:06, 173.57it/s]
(TractActor pid=5332)
1017it [00:05, 172.45it/s]
(TractActor pid=5325)
1158it [00:08, 205.98it/s]
(TractActor pid=4912)
999it [00:06, 171.66it/s]
(TractActor pid=5332)
1035it [00:05, 171.98it/s]
(TractActor pid=5325)
1181it [00:08, 212.06it/s]
(TractActor pid=4912)
1017it [00:06, 172.08it/s]
(TractActor pid=5332)
1053it [00:05, 168.35it/s]
(TractActor pid=5325)
1203it [00:08, 212.93it/s]
(TractActor pid=4912)
1035it [00:06, 172.09it/s]
(TractActor pid=5332)
1071it [00:06, 170.52it/s]
(TractActor pid=5325)
1229it [00:08, 223.66it/s]
(TractActor pid=5332)
1089it [00:06, 172.13it/s]
(TractActor pid=5325)
1254it [00:08, 231.21it/s]
(TractActor pid=4912)
1053it [00:06, 168.36it/s]
(TractActor pid=5332)
1107it [00:06, 172.84it/s]
(TractActor pid=5325)
1282it [00:08, 244.69it/s]
(TractActor pid=4912)
1071it [00:06, 170.36it/s]
(TractActor pid=5332)
1125it [00:06, 173.02it/s]
(TractActor pid=4912)
1089it [00:06, 171.74it/s]
(TractActor pid=5325)
1307it [00:09, 192.36it/s]
(TractActor pid=4912)
1107it [00:06, 172.53it/s]
(TractActor pid=5332)
1143it [00:06, 159.30it/s]
(TractActor pid=5325)
1329it [00:09, 195.74it/s]
(TractActor pid=4912)
1125it [00:06, 172.71it/s]
(TractActor pid=5332)
1160it [00:06, 156.22it/s]
(TractActor pid=5325)
1351it [00:09, 201.28it/s]
(TractActor pid=4912)
1143it [00:07, 158.78it/s]
(TractActor pid=5332)
1178it [00:06, 161.55it/s]
(TractActor pid=5325)
1374it [00:09, 208.93it/s]
(TractActor pid=4912)
1160it [00:07, 155.87it/s]
(TractActor pid=5332)
1196it [00:06, 166.45it/s]
(TractActor pid=5325)
1399it [00:09, 218.16it/s]
(TractActor pid=4912)
1178it [00:07, 161.20it/s]
(TractActor pid=5332)
1213it [00:06, 165.07it/s]
(TractActor pid=5325)
1422it [00:09, 216.40it/s]
(TractActor pid=4912)
1196it [00:07, 166.37it/s]
(TractActor pid=5332)
1233it [00:07, 173.96it/s]
(TractActor pid=5325)
1445it [00:09, 207.36it/s]
(TractActor pid=4912)
1213it [00:07, 165.09it/s]
(TractActor pid=5332)
1252it [00:07, 176.90it/s]
(TractActor pid=5325)
1469it [00:09, 215.28it/s]
(TractActor pid=4912)
1233it [00:07, 173.68it/s]
(TractActor pid=5332)
1274it [00:07, 188.98it/s]
(TractActor pid=5325)
1492it [00:09, 216.00it/s]
(TractActor pid=4912)
1251it [00:07, 175.43it/s]
(TractActor pid=5332)
1294it [00:07, 190.41it/s]
(TractActor pid=5325)
1514it [00:09, 200.84it/s]
(TractActor pid=4912)
1274it [00:07, 190.52it/s]
(TractActor pid=5325)
1538it [00:10, 207.09it/s]
(TractActor pid=4912)
1294it [00:07, 191.20it/s]
(TractActor pid=5332)
1314it [00:07, 143.72it/s]
(TractActor pid=5325)
1559it [00:10, 200.15it/s]
(TractActor pid=5332)
1331it [00:07, 144.56it/s]
(TractActor pid=5325)
1583it [00:10, 209.20it/s]
(TractActor pid=4912)
1314it [00:08, 143.12it/s]
(TractActor pid=5332)
1349it [00:07, 153.11it/s]
(TractActor pid=5325)
1608it [00:10, 219.46it/s]
(TractActor pid=4912)
1331it [00:08, 143.19it/s]
(TractActor pid=5332)
1367it [00:07, 158.11it/s]
(TractActor pid=5325)
1635it [00:10, 229.41it/s]
(TractActor pid=4912)
1349it [00:08, 151.76it/s]
(TractActor pid=5332)
1386it [00:07, 166.59it/s]
(TractActor pid=5325)
1659it [00:10, 230.84it/s]
(TractActor pid=4912)
1367it [00:08, 156.93it/s]
(TractActor pid=5332)
1404it [00:08, 165.98it/s]
(TractActor pid=5325)
1683it [00:10, 229.12it/s]
(TractActor pid=4912)
1387it [00:08, 167.37it/s]
(TractActor pid=5332)
1422it [00:08, 168.46it/s]
(TractActor pid=5325)
1706it [00:10, 222.33it/s]
(TractActor pid=4912)
1405it [00:08, 166.06it/s]
(TractActor pid=5332)
1440it [00:08, 160.38it/s]
(TractActor pid=5325)
1729it [00:10, 223.21it/s]
(TractActor pid=4912)
1423it [00:08, 167.16it/s]
(TractActor pid=5332)
1458it [00:08, 163.10it/s]
(TractActor pid=5325)
1752it [00:11, 222.81it/s]
(TractActor pid=4912)
1441it [00:08, 158.47it/s]
(TractActor pid=5332)
1477it [00:08, 169.84it/s]
(TractActor pid=5325)
1778it [00:11, 231.79it/s]
(TractActor pid=4912)
1459it [00:09, 164.08it/s]
(TractActor pid=5332)
1495it [00:08, 162.67it/s]
(TractActor pid=5325)
1802it [00:11, 230.52it/s]
(TractActor pid=4912)
1478it [00:09, 169.02it/s]
(TractActor pid=5332)
1512it [00:08, 148.95it/s]
(TractActor pid=5325)
1826it [00:11, 228.60it/s]
(TractActor pid=4912)
1496it [00:09, 162.93it/s]
(TractActor pid=5332)
1530it [00:08, 156.08it/s]
(TractActor pid=5325)
1849it [00:11, 224.76it/s]
(TractActor pid=5325)
1873it [00:11, 227.33it/s]
(TractActor pid=4912)
1513it [00:09, 149.41it/s]
(TractActor pid=5332)
1546it [00:08, 151.20it/s]
(TractActor pid=4912)
1531it [00:09, 155.97it/s]
(TractActor pid=5332)
1564it [00:09, 157.31it/s]
(TractActor pid=5325)
1896it [00:11, 174.05it/s]
(TractActor pid=5332)
1582it [00:09, 163.34it/s]
(TractActor pid=4912)
1547it [00:09, 150.94it/s]
(TractActor pid=5332)
1599it [00:09, 163.82it/s]
(TractActor pid=5325)
1920it [00:11, 189.49it/s]
(TractActor pid=4912)
1564it [00:09, 155.78it/s]
(TractActor pid=5325)
1942it [00:11, 196.87it/s]
(TractActor pid=4912)
1582it [00:09, 162.49it/s]
(TractActor pid=5332)
1622it [00:09, 176.00it/s]
(TractActor pid=5325)
1968it [00:12, 209.98it/s]
(TractActor pid=4912)
1599it [00:09, 163.09it/s]
(TractActor pid=5332)
1643it [00:09, 181.53it/s]
(TractActor pid=5325)
1990it [00:12, 207.28it/s]
(TractActor pid=4912)
1622it [00:10, 175.19it/s]
(TractActor pid=5332)
1662it [00:09, 179.82it/s]
(TractActor pid=5325)
2012it [00:12, 210.77it/s]
(TractActor pid=4912)
1643it [00:10, 180.86it/s]
(TractActor pid=5332)
1681it [00:09, 175.93it/s]
(TractActor pid=5325)
2036it [00:12, 216.67it/s]
(TractActor pid=4912)
1662it [00:10, 178.98it/s]
(TractActor pid=5332)
1699it [00:09, 170.82it/s]
(TractActor pid=5325)
2059it [00:12, 212.90it/s]
(TractActor pid=4912)
1680it [00:10, 178.02it/s]
(TractActor pid=5332)
1717it [00:09, 169.08it/s]
(TractActor pid=5325)
2083it [00:12, 220.35it/s]
(TractActor pid=4912)
1698it [00:10, 168.47it/s]
(TractActor pid=5332)
1735it [00:10, 170.50it/s]
(TractActor pid=5325)
2107it [00:12, 225.79it/s]
(TractActor pid=4912)
1715it [00:10, 167.95it/s]
(TractActor pid=5332)
1753it [00:10, 171.81it/s]
(TractActor pid=5325)
2132it [00:12, 231.95it/s]
(TractActor pid=4912)
1732it [00:10, 167.29it/s]
(TractActor pid=5332)
1774it [00:10, 181.48it/s]
(TractActor pid=4912)
1750it [00:10, 170.25it/s]
(TractActor pid=5332)
1793it [00:10, 174.80it/s]
(TractActor pid=5325)
2156it [00:12, 215.18it/s]
(TractActor pid=4912)
1770it [00:10, 177.71it/s]
(TractActor pid=5332)
1812it [00:10, 177.82it/s]
(TractActor pid=5325)
2178it [00:13, 208.46it/s]
(TractActor pid=4912)
1789it [00:10, 177.71it/s]
(TractActor pid=5332)
1830it [00:10, 176.58it/s]
(TractActor pid=5325)
2200it [00:13, 206.42it/s]
(TractActor pid=4912)
1808it [00:11, 180.90it/s]
(TractActor pid=5332)
1848it [00:10, 172.35it/s]
(TractActor pid=5325)
2223it [00:13, 211.61it/s]
(TractActor pid=4912)
1827it [00:11, 176.86it/s]
(TractActor pid=5332)
1867it [00:10, 174.32it/s]
(TractActor pid=5325)
2245it [00:13, 189.42it/s]
(TractActor pid=4912)
1845it [00:11, 173.62it/s]
(TractActor pid=5332)
1885it [00:10, 170.43it/s]
(TractActor pid=5325)
2271it [00:13, 205.95it/s]
(TractActor pid=4912)
1863it [00:11, 175.36it/s]
(TractActor pid=5325)
2293it [00:13, 205.98it/s]
(TractActor pid=4912)
1881it [00:11, 174.70it/s]
(TractActor pid=5332)
1903it [00:11, 128.24it/s]
(TractActor pid=5325)
2320it [00:13, 220.86it/s]
(TractActor pid=5332)
1921it [00:11, 138.45it/s]
(TractActor pid=5325)
2343it [00:13, 212.45it/s]
(TractActor pid=4912)
1899it [00:11, 132.62it/s]
(TractActor pid=5332)
1941it [00:11, 152.08it/s]
(TractActor pid=5325)
2367it [00:13, 217.91it/s]
(TractActor pid=4912)
1918it [00:11, 145.33it/s]
(TractActor pid=5332)
1960it [00:11, 161.26it/s]
(TractActor pid=5325)
2390it [00:14, 215.40it/s]
(TractActor pid=4912)
1934it [00:11, 148.65it/s]
(TractActor pid=5332)
1978it [00:11, 166.10it/s]
(TractActor pid=5325)
2414it [00:14, 220.11it/s]
(TractActor pid=4912)
1953it [00:12, 158.06it/s]
(TractActor pid=5332)
1996it [00:11, 156.40it/s]
(TractActor pid=5325)
2438it [00:14, 225.06it/s]
(TractActor pid=4912)
1971it [00:12, 163.91it/s]
(TractActor pid=5332)
2016it [00:11, 166.88it/s]
(TractActor pid=5325)
2461it [00:14, 221.79it/s]
(TractActor pid=4912)
1989it [00:12, 162.22it/s]
(TractActor pid=5332)
2034it [00:11, 168.56it/s]
(TractActor pid=5325)
2486it [00:14, 228.85it/s]
(TractActor pid=4912)
2006it [00:12, 162.80it/s]
(TractActor pid=5332)
2052it [00:12, 169.05it/s]
(TractActor pid=5325)
2510it [00:14, 231.27it/s]
(TractActor pid=4912)
2024it [00:12, 166.88it/s]
(TractActor pid=5332)
2070it [00:12, 167.50it/s]
(TractActor pid=5325)
2537it [00:14, 238.95it/s]
(TractActor pid=4912)
2041it [00:12, 167.34it/s]
(TractActor pid=5332)
2088it [00:12, 169.41it/s]
(TractActor pid=5325)
2561it [00:14, 234.64it/s]
(TractActor pid=4912)
2058it [00:12, 164.01it/s]
(TractActor pid=5332)
2107it [00:12, 175.12it/s]
(TractActor pid=5325)
2587it [00:14, 237.76it/s]
(TractActor pid=4912)
2077it [00:12, 170.94it/s]
(TractActor pid=5332)
2125it [00:12, 175.66it/s]
(TractActor pid=5325)
2611it [00:15, 222.37it/s]
(TractActor pid=4912)
2095it [00:12, 168.32it/s]
(TractActor pid=5332)
2143it [00:12, 174.72it/s]
(TractActor pid=4912)
2115it [00:12, 177.16it/s]
(TractActor pid=5325)
2634it [00:15, 171.87it/s]
(TractActor pid=4912)
2134it [00:13, 178.96it/s]
(TractActor pid=5332)
2161it [00:12, 161.46it/s]
(TractActor pid=4912)
2152it [00:13, 164.27it/s]
(TractActor pid=5332)
2182it [00:12, 172.88it/s]
(TractActor pid=5325)
2653it [00:15, 165.04it/s]
(TractActor pid=4912)
2169it [00:13, 158.28it/s]
(TractActor pid=5332)
2200it [00:12, 163.00it/s]
(TractActor pid=5325)
2675it [00:15, 176.58it/s]
(TractActor pid=4912)
2186it [00:13, 151.47it/s]
(TractActor pid=5332)
2220it [00:12, 169.56it/s]
(TractActor pid=5325)
2701it [00:15, 196.84it/s]
(TractActor pid=4912)
2203it [00:13, 156.21it/s]
(TractActor pid=5332)
2238it [00:13, 146.43it/s]
(TractActor pid=5325)
2726it [00:15, 207.70it/s]
(TractActor pid=4912)
2222it [00:13, 164.61it/s]
(TractActor pid=5332)
2255it [00:13, 150.95it/s]
(TractActor pid=5325)
2750it [00:15, 214.05it/s]
(TractActor pid=5332)
2273it [00:13, 158.15it/s]
(TractActor pid=5325)
2774it [00:15, 220.63it/s]
(TractActor pid=4912)
2239it [00:13, 143.68it/s]
(TractActor pid=5332)
2290it [00:13, 159.63it/s]
(TractActor pid=5325)
2797it [00:15, 216.33it/s]
(TractActor pid=4912)
2256it [00:13, 144.93it/s]
(TractActor pid=5332)
2315it [00:13, 183.59it/s]
(TractActor pid=5325)
2820it [00:16, 197.98it/s]
(TractActor pid=4912)
2275it [00:14, 155.54it/s]
(TractActor pid=5332)
2334it [00:13, 176.59it/s]
(TractActor pid=5325)
2845it [00:16, 210.23it/s]
(TractActor pid=4912)
2291it [00:14, 154.73it/s]
(TractActor pid=5332)
2354it [00:13, 180.73it/s]
(TractActor pid=5325)
2867it [00:16, 208.02it/s]
(TractActor pid=4912)
2312it [00:14, 167.69it/s]
(TractActor pid=5325)
2893it [00:16, 218.64it/s]
(TractActor pid=4912)
2330it [00:14, 165.23it/s]
(TractActor pid=5332)
2373it [00:13, 168.41it/s]
(TractActor pid=5325)
2919it [00:16, 229.90it/s]
(TractActor pid=4912)
2348it [00:14, 168.62it/s]
(TractActor pid=5332)
2391it [00:14, 170.12it/s]
(TractActor pid=5325)
2943it [00:16, 230.05it/s]
(TractActor pid=4912)
2366it [00:14, 166.15it/s]
(TractActor pid=5332)
2409it [00:14, 169.84it/s]
(TractActor pid=5325)
2967it [00:16, 231.51it/s]
(TractActor pid=4912)
2383it [00:14, 159.83it/s]
(TractActor pid=5332)
2431it [00:14, 183.30it/s]
(TractActor pid=5325)
2991it [00:16, 223.88it/s]
(TractActor pid=4912)
2403it [00:14, 170.98it/s]
(TractActor pid=5332)
2450it [00:14, 172.86it/s]
(TractActor pid=5325)
3014it [00:16, 214.72it/s]
(TractActor pid=4912)
2421it [00:14, 172.28it/s]
(TractActor pid=5332)
2468it [00:14, 174.09it/s]
(TractActor pid=5325)
3038it [00:17, 221.67it/s]
(TractActor pid=4912)
2439it [00:14, 173.83it/s]
(TractActor pid=5332)
2487it [00:14, 174.34it/s]
(TractActor pid=5325)
3061it [00:17, 221.92it/s]
(TractActor pid=4912)
2457it [00:15, 169.77it/s]
(TractActor pid=5332)
2507it [00:14, 180.67it/s]
(TractActor pid=5325)
3085it [00:17, 224.61it/s]
(TractActor pid=4912)
2477it [00:15, 175.52it/s]
(TractActor pid=5332)
2528it [00:14, 187.51it/s]
(TractActor pid=5325)
3112it [00:17, 235.90it/s]
(TractActor pid=4912)
2495it [00:15, 172.35it/s]
(TractActor pid=5332)
2547it [00:14, 185.03it/s]
(TractActor pid=5325)
3137it [00:17, 238.27it/s]
(TractActor pid=4912)
2515it [00:15, 179.00it/s]
(TractActor pid=5332)
2566it [00:14, 178.93it/s]
(TractActor pid=5325)
3164it [00:17, 246.63it/s]
(TractActor pid=4912)
2536it [00:15, 186.82it/s]
(TractActor pid=5332)
2586it [00:15, 184.68it/s]
(TractActor pid=5325)
3189it [00:17, 242.06it/s]
(TractActor pid=4912)
2557it [00:15, 181.49it/s]
(TractActor pid=5332)
2605it [00:15, 164.14it/s]
(TractActor pid=5325)
3214it [00:17, 238.19it/s]
(TractActor pid=4912)
2576it [00:15, 183.29it/s]
(TractActor pid=5332)
2626it [00:15, 173.71it/s]
(TractActor pid=5325)
3238it [00:17, 233.84it/s]
(TractActor pid=5325)
3262it [00:18, 232.85it/s]
(TractActor pid=4912)
2595it [00:15, 170.91it/s]
(TractActor pid=5325)
3286it [00:18, 216.96it/s]
(TractActor pid=4912)
2613it [00:15, 168.34it/s]
(TractActor pid=5332)
2644it [00:15, 127.84it/s]
(TractActor pid=5325)
3309it [00:18, 219.00it/s]
(TractActor pid=5332)
2659it [00:15, 126.12it/s]
(TractActor pid=4912)
2630it [00:16, 126.55it/s]
(TractActor pid=5332)
2678it [00:15, 140.07it/s]
(TractActor pid=5325)
3332it [00:18, 210.12it/s]
(TractActor pid=4912)
2645it [00:16, 128.99it/s]
(TractActor pid=5332)
2699it [00:15, 156.42it/s]
(TractActor pid=5325)
3357it [00:18, 219.06it/s]
(TractActor pid=4912)
2660it [00:16, 129.86it/s]
(TractActor pid=5332)
2719it [00:16, 163.91it/s]
(TractActor pid=5325)
3380it [00:18, 218.06it/s]
(TractActor pid=4912)
2679it [00:16, 144.04it/s]
(TractActor pid=5332)
2737it [00:16, 167.81it/s]
(TractActor pid=5325)
3402it [00:18, 211.66it/s]
(TractActor pid=4912)
2700it [00:16, 159.01it/s]
(TractActor pid=5332)
2755it [00:16, 168.27it/s]
(TractActor pid=5325)
3425it [00:18, 214.77it/s]
(TractActor pid=4912)
2719it [00:16, 165.53it/s]
(TractActor pid=5332)
2775it [00:16, 173.74it/s]
(TractActor pid=5325)
3454it [00:18, 231.41it/s]
(TractActor pid=4912)
2737it [00:16, 169.03it/s]
(TractActor pid=5332)
2793it [00:16, 175.21it/s]
(TractActor pid=5325)
3478it [00:19, 230.76it/s]
(TractActor pid=4912)
2755it [00:16, 168.88it/s]
(TractActor pid=5332)
2811it [00:16, 157.59it/s]
(TractActor pid=5325)
3502it [00:19, 219.65it/s]
(TractActor pid=4912)
2775it [00:17, 174.44it/s]
(TractActor pid=5332)
2831it [00:16, 167.59it/s]
(TractActor pid=5325)
3526it [00:19, 224.54it/s]
(TractActor pid=4912)
2793it [00:17, 175.63it/s]
(TractActor pid=5332)
2851it [00:16, 174.73it/s]
(TractActor pid=5325)
3549it [00:19, 221.25it/s]
(TractActor pid=4912)
2811it [00:17, 157.31it/s]
(TractActor pid=5332)
2869it [00:16, 168.35it/s]
(TractActor pid=4912)
2831it [00:17, 167.36it/s]
(TractActor pid=5332)
2891it [00:17, 178.31it/s]
(TractActor pid=5325)
3572it [00:19, 151.22it/s]
(TractActor pid=4912)
2851it [00:17, 174.48it/s]
(TractActor pid=5332)
2911it [00:17, 183.43it/s]
(TractActor pid=5325)
3594it [00:19, 164.59it/s]
(TractActor pid=4912)
2869it [00:17, 168.87it/s]
(TractActor pid=5332)
2930it [00:17, 178.73it/s]
(TractActor pid=5325)
3620it [00:19, 186.12it/s]
(TractActor pid=4912)
2891it [00:17, 178.57it/s]
(TractActor pid=5332)
2949it [00:17, 181.59it/s]
(TractActor pid=5325)
3645it [00:19, 200.84it/s]
(TractActor pid=4912)
2911it [00:17, 183.62it/s]
(TractActor pid=5332)
2968it [00:17, 179.11it/s]
(TractActor pid=5325)
3669it [00:20, 207.36it/s]
(TractActor pid=4912)
2930it [00:17, 178.55it/s]
(TractActor pid=5332)
2986it [00:17, 172.84it/s]
(TractActor pid=5325)
3692it [00:20, 206.84it/s]
(TractActor pid=4912)
2949it [00:18, 181.20it/s]
(TractActor pid=5325)
3714it [00:20, 208.87it/s]
(TractActor pid=5332)
3004it [00:17, 166.14it/s]
(TractActor pid=4912)
2968it [00:18, 178.62it/s]
(TractActor pid=5325)
3737it [00:20, 213.60it/s]
(TractActor pid=5332)
3021it [00:17, 163.82it/s]
(TractActor pid=5325)
3759it [00:20, 209.05it/s]
(TractActor pid=5332)
3040it [00:17, 171.08it/s]
(TractActor pid=4912)
2986it [00:18, 172.31it/s]
(TractActor pid=5325)
3784it [00:20, 218.70it/s]
(TractActor pid=4912)
3004it [00:18, 165.52it/s]
(TractActor pid=5332)
3058it [00:17, 168.05it/s]
(TractActor pid=5325)
3807it [00:20, 214.89it/s]
(TractActor pid=4912)
3021it [00:18, 163.23it/s]
(TractActor pid=5332)
3077it [00:18, 173.87it/s]
(TractActor pid=5325)
3831it [00:20, 221.21it/s]
(TractActor pid=4912)
3040it [00:18, 170.42it/s]
(TractActor pid=5332)
3098it [00:18, 179.54it/s]
(TractActor pid=4912)
3058it [00:18, 167.77it/s]
(TractActor pid=5332)
3117it [00:18, 182.08it/s]
(TractActor pid=5325)
3854it [00:20, 214.29it/s]
(TractActor pid=4912)
3077it [00:18, 173.03it/s]
(TractActor pid=5332)
3136it [00:18, 181.66it/s]
3155it [00:18, 183.58it/s]
(TractActor pid=5325)
3876it [00:20, 214.64it/s]
3900it [00:21, 220.93it/s]
(TractActor pid=4912)
3098it [00:18, 178.93it/s]
(TractActor pid=5332)
3175it [00:18, 186.31it/s]
(TractActor pid=4912)
3117it [00:19, 181.91it/s]
(TractActor pid=5332)
3194it [00:18, 184.54it/s]
(TractActor pid=5325)
3926it [00:21, 226.85it/s]
(TractActor pid=4912)
3136it [00:19, 182.22it/s]
(TractActor pid=5325)
3949it [00:21, 223.60it/s]
(TractActor pid=4912)
3155it [00:19, 183.97it/s]
(TractActor pid=5332)
3213it [00:18, 180.68it/s]
(TractActor pid=5325)
3973it [00:21, 223.41it/s]
(TractActor pid=4912)
3175it [00:19, 186.58it/s]
(TractActor pid=5332)
3232it [00:18, 178.95it/s]
(TractActor pid=5325)
3996it [00:21, 223.88it/s]
(TractActor pid=4912)
3194it [00:19, 184.40it/s]
(TractActor pid=5332)
3250it [00:19, 177.39it/s]
(TractActor pid=5325)
4020it [00:21, 224.61it/s]
(TractActor pid=4912)
3213it [00:19, 180.44it/s]
(TractActor pid=5332)
3268it [00:19, 175.34it/s]
(TractActor pid=5325)
4043it [00:21, 210.94it/s]
(TractActor pid=4912)
3232it [00:19, 178.83it/s]
(TractActor pid=5332)
3286it [00:19, 167.41it/s]
(TractActor pid=5325)
4067it [00:21, 217.01it/s]
(TractActor pid=4912)
3250it [00:19, 177.37it/s]
(TractActor pid=5332)
3305it [00:19, 172.14it/s]
(TractActor pid=5325)
4089it [00:21, 214.66it/s]
(TractActor pid=4912)
3268it [00:19, 175.43it/s]
(TractActor pid=5332)
3323it [00:19, 165.77it/s]
(TractActor pid=5325)
4112it [00:22, 217.53it/s]
(TractActor pid=4912)
3286it [00:19, 167.23it/s]
(TractActor pid=5332)
3340it [00:19, 163.51it/s]
(TractActor pid=5325)
4134it [00:22, 209.53it/s]
(TractActor pid=4912)
3305it [00:20, 171.55it/s]
(TractActor pid=5332)
3359it [00:19, 168.77it/s]
(TractActor pid=5325)
4156it [00:22, 201.71it/s]
(TractActor pid=4912)
3323it [00:20, 165.13it/s]
(TractActor pid=5332)
3377it [00:19, 168.36it/s]
(TractActor pid=5325)
4177it [00:22, 202.36it/s]
(TractActor pid=4912)
3340it [00:20, 163.07it/s]
(TractActor pid=5332)
3394it [00:19, 161.33it/s]
(TractActor pid=5325)
4201it [00:22, 210.75it/s]
(TractActor pid=4912)
3359it [00:20, 168.33it/s]
(TractActor pid=5332)
3413it [00:20, 166.43it/s]
(TractActor pid=5325)
4223it [00:22, 209.66it/s]
(TractActor pid=4912)
3377it [00:20, 167.97it/s]
(TractActor pid=5332)
3430it [00:20, 166.64it/s]
(TractActor pid=5325)
4245it [00:22, 204.47it/s]
(TractActor pid=4912)
3394it [00:20, 160.94it/s]
(TractActor pid=5332)
3452it [00:20, 177.91it/s]
(TractActor pid=5325)
4266it [00:22, 200.72it/s]
(TractActor pid=4912)
3413it [00:20, 165.64it/s]
(TractActor pid=5332)
3470it [00:20, 176.28it/s]
(TractActor pid=5325)
4290it [00:22, 209.06it/s]
(TractActor pid=4912)
3430it [00:20, 165.79it/s]
(TractActor pid=5332)
3489it [00:20, 175.56it/s]
(TractActor pid=5325)
4311it [00:23, 208.78it/s]
(TractActor pid=4912)
3452it [00:20, 177.14it/s]
(TractActor pid=5332)
3507it [00:20, 164.33it/s]
(TractActor pid=5325)
4338it [00:23, 225.28it/s]
(TractActor pid=4912)
3470it [00:21, 175.89it/s]
(TractActor pid=5332)
3526it [00:20, 170.44it/s]
(TractActor pid=5325)
4363it [00:23, 232.40it/s]
(TractActor pid=4912)
3489it [00:21, 175.64it/s]
(TractActor pid=5332)
3544it [00:20, 170.59it/s]
(TractActor pid=5325)
4387it [00:23, 220.01it/s]
(TractActor pid=4912)
3507it [00:21, 164.69it/s]
(TractActor pid=5325)
4413it [00:23, 229.39it/s]
(TractActor pid=4912)
3527it [00:21, 172.32it/s]
(TractActor pid=5325)
4437it [00:23, 220.41it/s]
(TractActor pid=4912)
3545it [00:21, 173.41it/s]
(TractActor pid=5332)
3562it [00:21, 113.88it/s]
(TractActor pid=5325)
4462it [00:23, 228.57it/s]
(TractActor pid=5332)
3580it [00:21, 126.71it/s]
(TractActor pid=5325)
4490it [00:23, 242.01it/s]
(TractActor pid=5332)
3596it [00:21, 134.01it/s]
(TractActor pid=5325)
4518it [00:23, 251.32it/s]
(TractActor pid=4912)
3563it [00:21, 117.97it/s]
(TractActor pid=5332)
3618it [00:21, 154.14it/s]
(TractActor pid=5325)
4544it [00:23, 248.37it/s]
(TractActor pid=4912)
3580it [00:21, 129.11it/s]
(TractActor pid=5332)
3638it [00:21, 164.63it/s]
(TractActor pid=5325)
4570it [00:24, 250.33it/s]
(TractActor pid=4912)
3596it [00:21, 135.27it/s]
(TractActor pid=5332)
3659it [00:21, 174.72it/s]
(TractActor pid=4912)
3617it [00:22, 153.06it/s]
(TractActor pid=5332)
3678it [00:21, 165.32it/s]
(TractActor pid=5325)
4596it [00:24, 228.51it/s]
(TractActor pid=4912)
3638it [00:22, 164.97it/s]
(TractActor pid=5332)
3696it [00:21, 167.02it/s]
(TractActor pid=5325)
4621it [00:24, 225.70it/s]
(TractActor pid=4912)
3659it [00:22, 175.03it/s]
(TractActor pid=5332)
3714it [00:21, 163.08it/s]
(TractActor pid=5325)
4644it [00:24, 218.22it/s]
(TractActor pid=4912)
3678it [00:22, 165.65it/s]
(TractActor pid=5332)
3732it [00:22, 165.94it/s]
(TractActor pid=5325)
4669it [00:24, 225.83it/s]
(TractActor pid=4912)
3696it [00:22, 167.13it/s]
(TractActor pid=5332)
3749it [00:22, 161.50it/s]
(TractActor pid=5325)
4693it [00:24, 228.63it/s]
(TractActor pid=4912)
3714it [00:22, 162.84it/s]
(TractActor pid=5332)
3768it [00:22, 168.19it/s]
(TractActor pid=4912)
3731it [00:22, 164.29it/s]
(TractActor pid=5332)
3786it [00:22, 168.22it/s]
(TractActor pid=5325)
4717it [00:24, 161.89it/s]
(TractActor pid=4912)
3748it [00:22, 161.41it/s]
(TractActor pid=5332)
3803it [00:22, 164.74it/s]
(TractActor pid=5325)
4740it [00:25, 176.72it/s]
(TractActor pid=4912)
3766it [00:22, 165.18it/s]
(TractActor pid=5332)
3821it [00:22, 166.96it/s]
(TractActor pid=5325)
4761it [00:25, 178.46it/s]
(TractActor pid=4912)
3784it [00:23, 168.34it/s]
(TractActor pid=5325)
4785it [00:25, 193.16it/s]
(TractActor pid=4912)
3801it [00:23, 168.39it/s]
(TractActor pid=5332)
3841it [00:22, 169.57it/s]
(TractActor pid=5325)
4810it [00:25, 204.28it/s]
(TractActor pid=4912)
3818it [00:23, 166.25it/s]
(TractActor pid=5332)
3858it [00:22, 164.09it/s]
(TractActor pid=5325)
4832it [00:25, 207.03it/s]
(TractActor pid=4912)
3838it [00:23, 175.15it/s]
(TractActor pid=5332)
3875it [00:22, 163.91it/s]
(TractActor pid=5325)
4856it [00:25, 214.52it/s]
(TractActor pid=5332)
3892it [00:23, 165.44it/s]
(TractActor pid=5325)
4879it [00:25, 214.05it/s]
(TractActor pid=5332)
3911it [00:23, 171.74it/s]
(TractActor pid=4912)
3856it [00:23, 162.98it/s]
(TractActor pid=5332)
3930it [00:23, 177.01it/s]
(TractActor pid=5325)
4902it [00:25, 214.42it/s]
(TractActor pid=4912)
3873it [00:23, 161.44it/s]
(TractActor pid=5332)
3948it [00:23, 174.64it/s]
(TractActor pid=5325)
4925it [00:25, 217.11it/s]
(TractActor pid=4912)
3890it [00:23, 162.87it/s]
(TractActor pid=5332)
3966it [00:23, 172.43it/s]
(TractActor pid=5325)
4948it [00:25, 219.90it/s]
(TractActor pid=4912)
3909it [00:23, 170.14it/s]
(TractActor pid=4912)
3928it [00:23, 175.45it/s]
(TractActor pid=5332)
3984it [00:23, 173.66it/s]
(TractActor pid=5325)
4971it [00:26, 211.58it/s]
(TractActor pid=4912)
3946it [00:24, 174.91it/s]
(TractActor pid=5325)
4995it [00:26, 216.69it/s]
(TractActor pid=5332)
4002it [00:23, 169.21it/s]
(TractActor pid=5325)
5020it [00:26, 218.28it/s]
(TractActor pid=5332)
4020it [00:23, 170.48it/s]
(TractActor pid=4912)
3964it [00:24, 169.39it/s]
(TractActor pid=5325)
5042it [00:26, 207.56it/s]
(TractActor pid=4912)
3983it [00:24, 173.68it/s]
(TractActor pid=5332)
4038it [00:23, 159.20it/s]
(TractActor pid=5325)
5066it [00:26, 213.75it/s]
(TractActor pid=4912)
4001it [00:24, 169.75it/s]
(TractActor pid=5332)
4058it [00:23, 168.01it/s]
(TractActor pid=5325)
5088it [00:26, 211.59it/s]
(TractActor pid=4912)
4020it [00:24, 170.63it/s]
(TractActor pid=5332)
4075it [00:24, 162.60it/s]
(TractActor pid=5325)
5111it [00:26, 215.30it/s]
(TractActor pid=4912)
4038it [00:24, 159.15it/s]
(TractActor pid=5332)
4092it [00:24, 164.32it/s]
(TractActor pid=5325)
5138it [00:26, 229.82it/s]
(TractActor pid=4912)
4058it [00:24, 167.73it/s]
(TractActor pid=5332)
4110it [00:24, 166.21it/s]
(TractActor pid=5325)
5162it [00:26, 229.21it/s]
(TractActor pid=4912)
4075it [00:24, 162.47it/s]
(TractActor pid=5332)
4127it [00:24, 158.02it/s]
(TractActor pid=5325)
5186it [00:27, 229.78it/s]
(TractActor pid=4912)
4092it [00:24, 164.39it/s]
(TractActor pid=5332)
4144it [00:24, 159.56it/s]
(TractActor pid=5325)
5213it [00:27, 241.23it/s]
(TractActor pid=4912)
4110it [00:25, 166.43it/s]
(TractActor pid=5332)
4161it [00:24, 157.19it/s]
(TractActor pid=5325)
5238it [00:27, 237.76it/s]
(TractActor pid=4912)
4127it [00:25, 158.12it/s]
(TractActor pid=5332)
4177it [00:24, 151.61it/s]
(TractActor pid=5325)
5262it [00:27, 232.65it/s]
(TractActor pid=4912)
4144it [00:25, 159.67it/s]
(TractActor pid=5332)
4196it [00:24, 160.75it/s]
(TractActor pid=5325)
5288it [00:27, 237.39it/s]
(TractActor pid=4912)
4161it [00:25, 157.13it/s]
(TractActor pid=5332)
4215it [00:24, 167.16it/s]
(TractActor pid=5325)
5312it [00:27, 233.63it/s]
(TractActor pid=4912)
4177it [00:25, 151.76it/s]
(TractActor pid=5332)
4232it [00:25, 162.63it/s]
(TractActor pid=5325)
5336it [00:27, 234.80it/s]
(TractActor pid=4912)
4196it [00:25, 160.71it/s]
(TractActor pid=5332)
4249it [00:25, 152.17it/s]
(TractActor pid=5325)
5364it [00:27, 241.19it/s]
(TractActor pid=4912)
4215it [00:25, 166.80it/s]
(TractActor pid=5332)
4265it [00:25, 149.94it/s]
(TractActor pid=5325)
5389it [00:27, 239.42it/s]
(TractActor pid=4912)
4232it [00:25, 162.18it/s]
(TractActor pid=5332)
4283it [00:25, 157.34it/s]
(TractActor pid=5332)
4301it [00:25, 162.69it/s]
(TractActor pid=5325)
5413it [00:28, 222.07it/s]
(TractActor pid=4912)
4249it [00:25, 151.79it/s]
(TractActor pid=5332)
4318it [00:25, 162.51it/s]
(TractActor pid=5325)
5436it [00:28, 223.88it/s]
(TractActor pid=4912)
4265it [00:26, 149.60it/s]
(TractActor pid=5332)
4339it [00:25, 175.69it/s]
(TractActor pid=5325)
5461it [00:28, 229.55it/s]
(TractActor pid=4912)
4283it [00:26, 156.99it/s]
(TractActor pid=5332)
4359it [00:25, 182.22it/s]
(TractActor pid=5325)
5487it [00:28, 235.87it/s]
(TractActor pid=4912)
4301it [00:26, 162.51it/s]
(TractActor pid=5325)
5512it [00:28, 239.83it/s]
(TractActor pid=4912)
4318it [00:26, 162.36it/s]
(TractActor pid=5332)
4378it [00:25, 170.56it/s]
(TractActor pid=5325)
5537it [00:28, 233.82it/s]
(TractActor pid=4912)
4339it [00:26, 175.66it/s]
(TractActor pid=5332)
4399it [00:26, 178.38it/s]
(TractActor pid=5325)
5561it [00:28, 228.05it/s]
(TractActor pid=4912)
4359it [00:26, 181.89it/s]
(TractActor pid=5332)
4418it [00:26, 173.92it/s]
(TractActor pid=5325)
5590it [00:28, 242.90it/s]
(TractActor pid=4912)
4378it [00:26, 170.16it/s]
(TractActor pid=5332)
4436it [00:26, 167.78it/s]
(TractActor pid=5325)
5615it [00:28, 244.65it/s]
(TractActor pid=4912)
4399it [00:26, 177.78it/s]
(TractActor pid=5332)
4456it [00:26, 175.82it/s]
(TractActor pid=5325)
5640it [00:29, 216.26it/s]
(TractActor pid=4912)
4417it [00:26, 172.74it/s]
(TractActor pid=5332)
4477it [00:26, 182.97it/s]
(TractActor pid=5325)
5663it [00:29, 216.27it/s]
(TractActor pid=4912)
4435it [00:26, 167.14it/s]
(TractActor pid=5332)
4499it [00:26, 192.76it/s]
(TractActor pid=5325)
5687it [00:29, 222.62it/s]
(TractActor pid=4912)
4455it [00:27, 174.30it/s]
(TractActor pid=5332)
4519it [00:26, 194.70it/s]
(TractActor pid=5325)
5713it [00:29, 232.23it/s]
(TractActor pid=4912)
4476it [00:27, 183.41it/s]
(TractActor pid=5332)
4539it [00:26, 187.79it/s]
(TractActor pid=5325)
5737it [00:29, 231.73it/s]
(TractActor pid=4912)
4497it [00:27, 190.06it/s]
(TractActor pid=5332)
4559it [00:26, 190.34it/s]
(TractActor pid=5325)
5761it [00:29, 230.53it/s]
(TractActor pid=4912)
4518it [00:27, 194.11it/s]
(TractActor pid=5332)
4579it [00:27, 188.01it/s]
(TractActor pid=5325)
5785it [00:29, 227.23it/s]
(TractActor pid=4912)
4538it [00:27, 187.07it/s]
(TractActor pid=5332)
4598it [00:27, 173.16it/s]
(TractActor pid=5325)
5808it [00:29, 213.15it/s]
(TractActor pid=4912)
4558it [00:27, 190.36it/s]
(TractActor pid=5332)
4617it [00:27, 177.14it/s]
(TractActor pid=5325)
5830it [00:29, 208.33it/s]
(TractActor pid=4912)
4578it [00:27, 187.25it/s]
(TractActor pid=5332)
4635it [00:27, 161.93it/s]
(TractActor pid=5325)
5851it [00:29, 207.95it/s]
(TractActor pid=4912)
4597it [00:27, 173.59it/s]
(TractActor pid=5332)
4653it [00:27, 166.06it/s]
(TractActor pid=5325)
5873it [00:30, 210.38it/s]
(TractActor pid=4912)
4617it [00:27, 177.35it/s]
(TractActor pid=5332)
4674it [00:27, 176.71it/s]
(TractActor pid=5325)
5896it [00:30, 214.65it/s]
(TractActor pid=5332)
4693it [00:27, 173.21it/s]
(TractActor pid=5325)
5923it [00:30, 228.55it/s]
(TractActor pid=4912)
4635it [00:28, 162.10it/s]
(TractActor pid=4912)
4653it [00:28, 166.05it/s]
(TractActor pid=5332)
4711it [00:27, 170.88it/s]
(TractActor pid=5325)
5946it [00:30, 225.29it/s]
(TractActor pid=4912)
4673it [00:28, 175.31it/s]
(TractActor pid=5325)
5969it [00:30, 208.68it/s]
(TractActor pid=4912)
4692it [00:28, 179.26it/s]
(TractActor pid=5332)
4729it [00:28, 113.39it/s]
(TractActor pid=5325)
5991it [00:30, 201.35it/s]
(TractActor pid=4912)
4711it [00:28, 171.03it/s]
(TractActor pid=5332)
4743it [00:28, 118.27it/s]
(TractActor pid=5325)
6012it [00:30, 197.16it/s]
6026it [00:30, 195.65it/s]
(TractActor pid=5332)
4758it [00:28, 124.20it/s]
(TractActor pid=4912)
4729it [00:28, 113.38it/s]
(TractActor pid=5332)
4777it [00:28, 139.92it/s]
(TractActor pid=4912)
4743it [00:28, 118.44it/s]
(TractActor pid=5332)
4796it [00:28, 152.08it/s]
(TractActor pid=4912)
4758it [00:29, 122.97it/s]
(TractActor pid=5332)
4813it [00:28, 152.64it/s]
(TractActor pid=4912)
4778it [00:29, 140.61it/s]
(TractActor pid=5332)
4830it [00:28, 157.33it/s]
(TractActor pid=4912)
4804it [00:29, 169.94it/s]
(TractActor pid=5332)
4853it [00:28, 176.79it/s]
(TractActor pid=4912)
4824it [00:29, 176.15it/s]
(TractActor pid=5332)
4877it [00:28, 191.61it/s]
(TractActor pid=4912)
4849it [00:29, 195.21it/s]
(TractActor pid=5332)
4900it [00:29, 201.53it/s]
(TractActor pid=4912)
4875it [00:29, 210.90it/s]
(TractActor pid=5332)
4922it [00:29, 204.49it/s]
(TractActor pid=4912)
4897it [00:29, 209.56it/s]
(TractActor pid=5332)
4946it [00:29, 213.93it/s]
(TractActor pid=4912)
4921it [00:29, 214.86it/s]
(TractActor pid=5332)
4968it [00:29, 214.79it/s]
(TractActor pid=4912)
4945it [00:29, 218.99it/s]
(TractActor pid=5332)
4990it [00:29, 215.98it/s]
(TractActor pid=5332)
5015it [00:29, 224.06it/s]
(TractActor pid=4912)
4968it [00:29, 218.85it/s]
(TractActor pid=5332)
5038it [00:29, 212.99it/s]
(TractActor pid=4912)
4991it [00:30, 219.22it/s]
5016it [00:30, 227.88it/s]
(TractActor pid=5332)
5060it [00:29, 214.76it/s]
(TractActor pid=5332)
5083it [00:29, 218.02it/s]
(TractActor pid=4912)
5039it [00:30, 215.78it/s]
(TractActor pid=5332)
5105it [00:29, 217.23it/s]
(TractActor pid=4912)
5061it [00:30, 216.69it/s]
(TractActor pid=5332)
5129it [00:30, 223.77it/s]
(TractActor pid=4912)
5084it [00:30, 220.22it/s]
(TractActor pid=5332)
5156it [00:30, 235.15it/s]
(TractActor pid=4912)
5107it [00:30, 218.59it/s]
(TractActor pid=5332)
5180it [00:30, 235.18it/s]
(TractActor pid=4912)
5132it [00:30, 227.42it/s]
(TractActor pid=5332)
5207it [00:30, 241.00it/s]
(TractActor pid=4912)
5158it [00:30, 235.28it/s]
(TractActor pid=5332)
5233it [00:30, 244.88it/s]
(TractActor pid=4912)
5183it [00:30, 238.73it/s]
(TractActor pid=5332)
5258it [00:30, 236.37it/s]
(TractActor pid=4912)
5208it [00:31, 241.57it/s]
(TractActor pid=5332)
5283it [00:30, 239.59it/s]
(TractActor pid=4912)
5234it [00:31, 244.06it/s]
(TractActor pid=5332)
5308it [00:30, 238.31it/s]
(TractActor pid=4912)
5259it [00:31, 236.53it/s]
(TractActor pid=5332)
5332it [00:30, 236.44it/s]
(TractActor pid=4912)
5286it [00:31, 243.85it/s]
(TractActor pid=5332)
5358it [00:31, 243.00it/s]
(TractActor pid=4912)
5311it [00:31, 239.64it/s]
(TractActor pid=5332)
5383it [00:31, 238.87it/s]
(TractActor pid=4912)
5336it [00:31, 237.12it/s]
(TractActor pid=4912)
5364it [00:31, 243.59it/s]
(TractActor pid=5332)
5407it [00:31, 226.49it/s]
(TractActor pid=4912)
5389it [00:31, 242.44it/s]
(TractActor pid=5332)
5430it [00:31, 222.38it/s]
(TractActor pid=4912)
5414it [00:31, 226.06it/s]
(TractActor pid=5332)
5459it [00:31, 237.99it/s]
(TractActor pid=4912)
5438it [00:31, 228.16it/s]
(TractActor pid=5332)
5485it [00:31, 242.79it/s]
(TractActor pid=4912)
5465it [00:32, 238.71it/s]
(TractActor pid=5332)
5510it [00:31, 242.63it/s]
(TractActor pid=4912)
5491it [00:32, 244.04it/s]
(TractActor pid=5332)
5535it [00:31, 240.89it/s]
(TractActor pid=4912)
5516it [00:32, 245.18it/s]
(TractActor pid=5332)
5560it [00:31, 227.04it/s]
(TractActor pid=4912)
5541it [00:32, 232.44it/s]
(TractActor pid=5332)
5589it [00:31, 243.20it/s]
(TractActor pid=4912)
5566it [00:32, 234.37it/s]
(TractActor pid=5332)
5614it [00:32, 244.97it/s]
(TractActor pid=4912)
5593it [00:32, 244.04it/s]
(TractActor pid=5332)
5639it [00:32, 219.28it/s]
(TractActor pid=4912)
5618it [00:32, 245.44it/s]
(TractActor pid=5332)
5662it [00:32, 218.73it/s]
(TractActor pid=5332)
5687it [00:32, 225.75it/s]
(TractActor pid=4912)
5643it [00:32, 220.46it/s]
(TractActor pid=5332)
5713it [00:32, 235.01it/s]
(TractActor pid=4912)
5667it [00:32, 222.80it/s]
(TractActor pid=5332)
5737it [00:32, 232.88it/s]
(TractActor pid=4912)
5692it [00:33, 225.54it/s]
(TractActor pid=5332)
5761it [00:32, 231.96it/s]
(TractActor pid=4912)
5718it [00:33, 235.03it/s]
(TractActor pid=5332)
5785it [00:32, 229.00it/s]
(TractActor pid=4912)
5743it [00:33, 238.24it/s]
(TractActor pid=5332)
5809it [00:32, 214.11it/s]
(TractActor pid=4912)
5768it [00:33, 236.30it/s]
(TractActor pid=4912)
5792it [00:33, 222.57it/s]
(TractActor pid=5332)
5831it [00:33, 211.26it/s]
(TractActor pid=4912)
5815it [00:33, 214.84it/s]
(TractActor pid=5332)
5853it [00:33, 211.83it/s]
(TractActor pid=4912)
5837it [00:33, 214.13it/s]
(TractActor pid=5332)
5880it [00:33, 226.54it/s]
(TractActor pid=4912)
5859it [00:33, 213.93it/s]
(TractActor pid=5332)
5903it [00:33, 223.34it/s]
(TractActor pid=4912)
5885it [00:33, 226.32it/s]
(TractActor pid=5332)
5929it [00:33, 233.32it/s]
(TractActor pid=4912)
5908it [00:34, 226.53it/s]
(TractActor pid=5332)
5953it [00:33, 224.20it/s]
(TractActor pid=4912)
5932it [00:34, 229.70it/s]
(TractActor pid=5332)
5976it [00:33, 202.21it/s]
(TractActor pid=4912)
5956it [00:34, 225.32it/s]
(TractActor pid=5332)
5998it [00:33, 204.07it/s]
(TractActor pid=4912)
5979it [00:34, 199.72it/s]
(TractActor pid=5332)
6019it [00:33, 203.63it/s]
6026it [00:34, 177.23it/s]
(TractActor pid=4912)
6003it [00:34, 209.80it/s]
(TractActor pid=4912)
6025it [00:34, 206.71it/s]
(TractActor pid=4912)
6027it [00:34, 174.13it/s]
Optimizing level 2 [max iter: 10000]
Optimizing level 1 [max iter: 1000]
Optimizing level 0 [max iter: 100]
Optimizing level 2 [max iter: 10000]
Optimizing level 1 [max iter: 1000]
Optimizing level 0 [max iter: 100]
Optimizing level 2 [max iter: 10000]
Optimizing level 1 [max iter: 1000]
Optimizing level 0 [max iter: 100]

'/home/runner/AFQ_data/stanford_hardi/derivatives/afq/sub-01/sub-01_ses-01_desc-profiles_tractography.csv'

Visualizing the bundles and calculating tract profiles:#

The pyAFQ API provides several ways to visualize bundles and profiles.

First, we will run a function that exports an html file that contains an interactive visualization of the bundles that are segmented.

Note

By default we resample a 100 points within a bundle, however to reduce processing time we will only resample 50 points.

Once it is done running, it should pop a browser window open and let you interact with the bundles.

Note

You can hide or show a bundle by clicking the legend, or select a single bundle by double clicking the legend. The interactive visualization will also all you to pan, zoom, and rotate.

bundle_html = myafq.export("all_bundles_figure")
plotly.io.show(bundle_html[0])

We can also visualize the tract profiles in all of the bundles. These plots show both FA (left) and MD (right) layed out anatomically. To make this plot, it is required that you install with pip install pyAFQ[plot] so that you have the necessary dependencies.

fig_files = myafq.export("tract_profile_plots")
  0%|          | 0/28 [00:00<?, ?it/s]
  4%|▎         | 1/28 [00:00<00:05,  5.21it/s]
  7%|▋         | 2/28 [00:00<00:04,  5.40it/s]
 11%|█         | 3/28 [00:00<00:04,  5.86it/s]
 14%|█▍        | 4/28 [00:00<00:03,  6.02it/s]
 18%|█▊        | 5/28 [00:00<00:03,  6.12it/s]
 21%|██▏       | 6/28 [00:01<00:03,  5.96it/s]
 25%|██▌       | 7/28 [00:01<00:03,  6.10it/s]
 29%|██▊       | 8/28 [00:01<00:03,  5.94it/s]
 46%|████▋     | 13/28 [00:01<00:01, 14.90it/s]
 54%|█████▎    | 15/28 [00:01<00:00, 13.36it/s]
 64%|██████▍   | 18/28 [00:01<00:00, 13.76it/s]
 82%|████████▏ | 23/28 [00:01<00:00, 20.54it/s]
 93%|█████████▎| 26/28 [00:02<00:00, 18.41it/s]
100%|██████████| 28/28 [00:02<00:00, 11.85it/s]

  0%|          | 0/28 [00:00<?, ?it/s]
  4%|▎         | 1/28 [00:00<00:04,  5.42it/s]
  7%|▋         | 2/28 [00:00<00:04,  5.61it/s]
 11%|█         | 3/28 [00:01<00:11,  2.18it/s]
 14%|█▍        | 4/28 [00:01<00:08,  2.90it/s]
 18%|█▊        | 5/28 [00:01<00:06,  3.56it/s]
 21%|██▏       | 6/28 [00:01<00:05,  4.09it/s]
 25%|██▌       | 7/28 [00:01<00:04,  4.53it/s]
 29%|██▊       | 8/28 [00:01<00:04,  5.00it/s]
 46%|████▋     | 13/28 [00:02<00:01, 13.09it/s]
 54%|█████▎    | 15/28 [00:02<00:01, 12.09it/s]
 64%|██████▍   | 18/28 [00:02<00:00, 12.79it/s]
 82%|████████▏ | 23/28 [00:02<00:00, 19.35it/s]
 93%|█████████▎| 26/28 [00:02<00:00, 17.36it/s]
100%|██████████| 28/28 [00:03<00:00,  9.26it/s]
tutorials/tutorial_examples/{{fig_files[0]}}

Total running time of the script: (10 minutes 50.558 seconds)

Estimated memory usage: 1671 MB

Gallery generated by Sphinx-Gallery