From tabular data to binned data#
[1]:
import plopp as pp
import scipp as sc
%matplotlib widget
Overview#
Binned data in Scipp is conceptually equivalent to an array of tables. In other words, it represents an array of records (table rows) sorted into an (often multi-dimensional) array of “bins”. In this tutorial we begin by learning how to setup tabular data appropriate for histogramming and binning with scipp. The main focus will then be binning the tabular data and basic usage of the resulting binned data.
We will use a file of a simulated neutron-scattering experiment — at the powder diffractometer DREAM at the European Spallation Source. The approach and techniques displayed here are however applicable far more generally and not specific to this scientific area.
Loading tabular data#
We will use a file created by a simulation for a diamond sample using McStas and Geant4. We can use scipp.io.load_csv to load the file as a dataset. The column headers of the file encode physical units in the form of tof [ns]
. The 'bracket'
header parser understands this format and extracts the units.
[2]:
filename = 'https://public.esss.dk/groups/scipp/scipp/1/data_dream_diamond.zip'
ds = sc.io.load_csv(
filename,
sep='\t',
header_parser='bracket',
)
ds
[2]:
- row: 999999
- counter(row)int642, 1, ..., 2, 2
Values:
array([2, 1, 2, ..., 2, 2, 2]) - module(row)int6412, 4, ..., 14, 13
Values:
array([12, 4, 14, ..., 14, 14, 13]) - segment(row)int646, 5, ..., 2, 3
Values:
array([6, 5, 5, ..., 2, 2, 3]) - strip(row)int6420, 20, ..., 153, 153
Values:
array([ 20, 20, 20, ..., 154, 153, 153]) - tof(row)int64ns73035529, 72964368, ..., 54261718, 54254907
Values:
array([73035529, 72964368, 73056111, ..., 54261718, 54261718, 54254907]) - voxel_x(row)float64mm963.085, 1103.670, ..., 573.491, 727.408
Values:
array([ 963.085, 1103.67 , 704.337, ..., 573.491, 573.491, 727.408]) - voxel_y(row)float64mm-920.410, 248.977, ..., -1164.860, -1048.180
Values:
array([ -920.41 , 248.977, -1196.64 , ..., -1164.86 , -1164.86 , -1048.18 ]) - voxel_z(row)float64mm-1049.580, -889.281, ..., 197.211, 193.777
Values:
array([-1049.58 , -889.281, -1094.1 , ..., 205.394, 197.211, 193.777]) - wavelength(row)float64Å3.694, 3.702, ..., 2.758, 2.758
Values:
array([3.69426, 3.70232, 3.6912 , ..., 2.75799, 2.75797, 2.75829]) - wire(row)int6422, 4, ..., 19, 17
Values:
array([22, 4, 27, ..., 19, 19, 17]) - x_pos(row)float64mm956.990, 1106.620, ..., 572.311, 726.378
Values:
array([ 956.99 , 1106.62 , 703.154, ..., 569.039, 572.311, 726.378]) - y_pos(row)float64mm-922.167, 255.398, ..., -1164.580, -1053.590
Values:
array([ -922.167, 255.398, -1204.1 , ..., -1165.44 , -1164.58 , -1053.59 ]) - z_pos(row)float64mm-1045.120, -892.764, ..., 200.893, 193.689
Values:
array([-1045.12 , -892.764, -1102.69 , ..., 201.67 , 200.893, 193.689])
This 1-D dataset represents the tabular data that was read from the file. In the above table, each row (record) describes an event, in this case the detection of a neutron, with its associated metadata such as the detector module or the x, y, and z position.
To histogram or bin data by a column, Scipp must know which columns are metadata and which column holds data values. The table is actually a table of metadata values for events with an implicit data value of “1 count” each. To continue we convert this into a data array:
[3]:
table = sc.DataArray(
sc.ones(sizes=ds.sizes, unit='counts'),
coords={name: column.data for name, column in ds.items()},
)
sc.table(table[:10])
[3]:
Coordinates | Data | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
counter | module | segment | strip | tof [ns] | voxel_x [mm] | voxel_y [mm] | voxel_z [mm] | wavelength [Å] | wire | x_pos [mm] | y_pos [mm] | z_pos [mm] | [counts] |
2 | 12 | 6 | 20 | 73035529 | 963.085 | -920.410 | -1049.580 | 3.694 | 22 | 956.990 | -922.167 | -1045.120 | 1.000 |
1 | 4 | 5 | 20 | 72964368 | 1103.670 | 248.977 | -889.281 | 3.702 | 4 | 1106.620 | 255.398 | -892.764 | 1.000 |
2 | 14 | 5 | 20 | 73056111 | 704.337 | -1196.640 | -1094.100 | 3.691 | 27 | 703.154 | -1204.100 | -1102.690 | 1.000 |
2 | 14 | 5 | 19 | 73056111 | 704.337 | -1196.640 | -1107.980 | 3.691 | 27 | 702.934 | -1202.910 | -1104.840 | 1.000 |
1 | 10 | 1 | 19 | 73024979 | 1075.960 | -768.968 | -1053.870 | 3.694 | 21 | 1080.410 | -766.272 | -1051.010 | 1.000 |
2 | 7 | 5 | 19 | 72964749 | 1160.890 | -179.184 | -936.635 | 3.700 | 8 | 1161.530 | -173.722 | -935.843 | 1.000 |
1 | 13 | 3 | 19 | 72964010 | 634.259 | -963.880 | -918.598 | 3.701 | 6 | 628.887 | -966.418 | -911.440 | 1.000 |
1 | 13 | 3 | 20 | 72964010 | 634.259 | -963.880 | -907.091 | 3.701 | 6 | 629.122 | -965.821 | -910.524 | 1.000 |
1 | 1 | 4 | 15 | 73099429 | 972.847 | 661.239 | -984.737 | 3.705 | 8 | 970.896 | 665.640 | -984.516 | 1.000 |
1 | 7 | 2 | 19 | 72961966 | 1134.810 | -263.814 | -927.616 | 3.700 | 7 | 1133.400 | -269.292 | -929.414 | 1.000 |
Histogramming and binning#
We are now ready to bin or histogram our data. Scipp uses the following terminology:
Binning preserves the original data records as a table associated with each bin.
Histogramming adds up the values from all contributing records into a single value per bin.
As an initial 1-D example, we will compute a wavelength histogram. The table can be histogrammed using sc.hist or the equivalent method provided by DataArray
. Here we provide a desired bin count (1000). This will result in equally sized bins covering the full wavelength range:
[4]:
histogrammed = table.hist(wavelength=1000)
histogrammed
[4]:
- wavelength: 1000
- wavelength(wavelength [bin-edge])float64Å0.566, 0.570, ..., 4.070, 4.073
Values:
array([0.566368 , 0.56987505, 0.5733821 , ..., 4.0664059 , 4.06991295, 4.07342 ])
- (wavelength)float64counts8.0, 4.0, ..., 1.0, 2.0
Values:
array([8.000e+00, 4.000e+00, 1.200e+01, 1.800e+01, 1.700e+01, 8.000e+00, 4.100e+01, 1.900e+01, 3.500e+01, 4.100e+01, 4.300e+01, 5.500e+01, 7.300e+01, 6.900e+01, 7.800e+01, 7.700e+01, 7.400e+01, 7.900e+01, 8.700e+01, 1.020e+02, 6.800e+01, 8.800e+01, 7.700e+01, 8.000e+01, 7.400e+01, 6.500e+01, 9.600e+01, 1.410e+02, 1.460e+02, 1.330e+02, 1.710e+02, 1.650e+02, 1.360e+02, 2.060e+02, 1.490e+02, 1.830e+02, 1.410e+02, 1.540e+02, 1.190e+02, 1.450e+02, 1.570e+02, 2.160e+02, 2.070e+02, 1.360e+02, 1.170e+02, 2.070e+02, 2.420e+02, 1.730e+02, 1.710e+02, 1.750e+02, 1.990e+02, 2.070e+02, 1.810e+02, 1.900e+02, 2.550e+02, 2.450e+02, 2.380e+02, 2.440e+02, 2.000e+02, 2.420e+02, 2.200e+02, 2.970e+02, 2.280e+02, 2.670e+02, 2.450e+02, 2.020e+02, 2.150e+02, 2.820e+02, 3.170e+02, 2.340e+02, 2.540e+02, 2.920e+02, 2.510e+02, 3.290e+02, 3.420e+02, 2.800e+02, 3.090e+02, 3.420e+02, 2.890e+02, 3.290e+02, 2.970e+02, 2.680e+02, 3.600e+02, 3.310e+02, 3.540e+02, 2.950e+02, 2.220e+02, 3.250e+02, 3.210e+02, 2.960e+02, 4.300e+02, 3.810e+02, 3.560e+02, 4.240e+02, 4.040e+02, 4.060e+02, 3.600e+02, 4.260e+02, 3.260e+02, 3.090e+02, 4.400e+02, 3.120e+02, 3.800e+02, 4.850e+02, 3.680e+02, 5.250e+02, 4.310e+02, 4.870e+02, 4.380e+02, 3.770e+02, 3.740e+02, 4.640e+02, 5.320e+02, 5.290e+02, 5.400e+02, 3.860e+02, 4.110e+02, 3.900e+02, 4.190e+02, 4.710e+02, 4.070e+02, 5.540e+02, 5.670e+02, 5.200e+02, 5.470e+02, 5.990e+02, 4.870e+02, 5.210e+02, 4.620e+02, 6.190e+02, 5.700e+02, 5.050e+02, 4.630e+02, 5.760e+02, 5.960e+02, 5.390e+02, 5.560e+02, 4.750e+02, 4.860e+02, 5.340e+02, 4.810e+02, 5.190e+02, 6.300e+02, 5.600e+02, 4.700e+02, 4.190e+02, 4.660e+02, 4.120e+02, 5.380e+02, 5.490e+02, 4.700e+02, 3.410e+02, 3.850e+02, 4.530e+02, 4.140e+02, 3.320e+02, 4.490e+02, 4.390e+02, 5.150e+02, 5.200e+02, 4.990e+02, 4.990e+02, 4.240e+02, 3.870e+02, 4.090e+02, 4.680e+02, 4.860e+02, 4.740e+02, 4.650e+02, 4.280e+02, 5.330e+02, 5.110e+02, 4.930e+02, 5.210e+02, 5.150e+02, 5.690e+02, 5.550e+02, 6.590e+02, 6.340e+02, 4.750e+02, 5.630e+02, 4.040e+02, 4.010e+02, 4.510e+02, 5.880e+02, 6.050e+02, 5.850e+02, 5.670e+02, 6.900e+02, 6.080e+02, 7.190e+02, 5.590e+02, 5.200e+02, 4.710e+02, 5.510e+02, 5.560e+02, 7.490e+02, 6.130e+02, 4.910e+02, 4.630e+02, 4.700e+02, 5.160e+02, 5.740e+02, 6.640e+02, 7.030e+02, 6.010e+02, 6.070e+02, 6.630e+02, 6.090e+02, 6.260e+02, 6.960e+02, 6.510e+02, 5.940e+02, 5.640e+02, 5.620e+02, 6.550e+02, 6.850e+02, 6.840e+02, 6.870e+02, 6.480e+02, 4.920e+02, 3.700e+02, 5.120e+02, 4.690e+02, 4.570e+02, 3.930e+02, 4.230e+02, 4.720e+02, 4.600e+02, 4.420e+02, 4.640e+02, 4.620e+02, 4.920e+02, 5.310e+02, 4.580e+02, 4.830e+02, 5.100e+02, 4.910e+02, 5.030e+02, 4.740e+02, 3.810e+02, 4.240e+02, 4.440e+02, 5.700e+02, 5.110e+02, 5.880e+02, 5.820e+02, 5.590e+02, 6.560e+02, 6.130e+02, 7.640e+02, 6.590e+02, 6.340e+02, 6.820e+02, 5.580e+02, 6.090e+02, 8.470e+02, 5.630e+02, 5.470e+02, 6.170e+02, 7.420e+02, 7.300e+02, 6.360e+02, 5.770e+02, 6.860e+02, 6.330e+02, 6.070e+02, 7.740e+02, 7.300e+02, 7.280e+02, 7.820e+02, 7.820e+02, 6.960e+02, 7.800e+02, 8.940e+02, 8.570e+02, 9.190e+02, 9.440e+02, 8.780e+02, 9.720e+02, 8.810e+02, 6.490e+02, 6.200e+02, 5.070e+02, 5.190e+02, 5.830e+02, 5.420e+02, 5.320e+02, 5.240e+02, 4.530e+02, 5.670e+02, 6.140e+02, 7.440e+02, 6.350e+02, 6.720e+02, 7.800e+02, 7.310e+02, 6.940e+02, 8.300e+02, 9.680e+02, 8.510e+02, 8.640e+02, 7.920e+02, 8.140e+02, 8.620e+02, 7.940e+02, 9.510e+02, 9.170e+02, 8.600e+02, 8.360e+02, 7.970e+02, 7.960e+02, 8.140e+02, 8.770e+02, 9.520e+02, 1.012e+03, 9.580e+02, 9.570e+02, 7.560e+02, 7.850e+02, 8.070e+02, 7.480e+02, 7.510e+02, 9.050e+02, 8.470e+02, 6.960e+02, 7.310e+02, 7.290e+02, 7.080e+02, 8.230e+02, 7.840e+02, 7.640e+02, 7.610e+02, 6.850e+02, 6.590e+02, 7.800e+02, 8.750e+02, 8.500e+02, 8.840e+02, 8.730e+02, 8.780e+02, 9.050e+02, 7.600e+02, 8.150e+02, 8.010e+02, 7.680e+02, 7.920e+02, 7.900e+02, 7.960e+02, 8.530e+02, 8.440e+02, 8.830e+02, 9.350e+02, 1.107e+03, 1.079e+03, 1.176e+03, 1.026e+03, 8.820e+02, 9.560e+02, 1.037e+03, 1.082e+03, 1.089e+03, 1.008e+03, 9.940e+02, 9.110e+02, 9.230e+02, 1.079e+03, 1.106e+03, 1.114e+03, 1.050e+03, 1.041e+03, 1.101e+03, 1.032e+03, 1.042e+03, 1.210e+03, 1.142e+03, 1.035e+03, 1.140e+03, 1.195e+03, 1.169e+03, 1.178e+03, 9.940e+02, 9.300e+02, 8.510e+02, 7.580e+02, 9.380e+02, 8.460e+02, 7.100e+02, 6.440e+02, 6.150e+02, 7.610e+02, 6.340e+02, 6.380e+02, 7.470e+02, 6.310e+02, 7.100e+02, 7.710e+02, 7.790e+02, 7.920e+02, 7.790e+02, 9.520e+02, 9.750e+02, 8.370e+02, 7.370e+02, 6.310e+02, 4.900e+02, 3.070e+02, 4.060e+02, 3.660e+02, 3.650e+02, 3.590e+02, 3.950e+02, 3.900e+02, 4.390e+02, 3.960e+02, 3.480e+02, 3.010e+02, 3.140e+02, 3.050e+02, 3.130e+02, 3.930e+02, 4.020e+02, 3.470e+02, 3.670e+02, 3.250e+02, 4.160e+02, 5.200e+02, 4.890e+02, 6.120e+02, 6.240e+02, 4.740e+02, 4.710e+02, 5.530e+02, 5.510e+02, 4.590e+02, 5.010e+02, 5.070e+02, 5.240e+02, 5.650e+02, 4.990e+02, 5.560e+02, 5.240e+02, 5.120e+02, 6.800e+02, 6.070e+02, 5.220e+02, 5.460e+02, 6.850e+02, 6.340e+02, 7.170e+02, 8.080e+02, 8.300e+02, 8.420e+02, 8.610e+02, 9.450e+02, 8.350e+02, 9.140e+02, 8.830e+02, 8.430e+02, 8.680e+02, 9.100e+02, 8.830e+02, 8.180e+02, 8.120e+02, 8.130e+02, 7.670e+02, 8.810e+02, 7.420e+02, 8.890e+02, 7.790e+02, 8.620e+02, 8.000e+02, 7.890e+02, 8.660e+02, 7.870e+02, 7.400e+02, 7.260e+02, 7.780e+02, 8.050e+02, 8.160e+02, 7.550e+02, 8.160e+02, 7.760e+02, 8.670e+02, 8.320e+02, 9.110e+02, 9.020e+02, 8.330e+02, 6.500e+02, 5.900e+02, 7.360e+02, 7.680e+02, 8.760e+02, 8.460e+02, 8.920e+02, 8.660e+02, 7.270e+02, 7.240e+02, 7.620e+02, 7.080e+02, 6.870e+02, 8.140e+02, 7.990e+02, 8.690e+02, 7.450e+02, 8.200e+02, 6.570e+02, 6.090e+02, 7.170e+02, 8.100e+02, 8.070e+02, 7.430e+02, 6.770e+02, 7.160e+02, 7.420e+02, 7.170e+02, 6.890e+02, 6.290e+02, 7.490e+02, 7.710e+02, 7.400e+02, 7.450e+02, 7.050e+02, 8.160e+02, 8.010e+02, 7.630e+02, 8.630e+02, 7.330e+02, 8.720e+02, 6.970e+02, 7.720e+02, 8.830e+02, 9.250e+02, 7.810e+02, 8.510e+02, 7.500e+02, 8.770e+02, 8.040e+02, 8.360e+02, 8.360e+02, 7.340e+02, 6.580e+02, 7.320e+02, 8.940e+02, 8.590e+02, 9.340e+02, 8.500e+02, 8.560e+02, 8.260e+02, 7.570e+02, 6.720e+02, 7.830e+02, 8.240e+02, 7.020e+02, 8.000e+02, 7.390e+02, 7.060e+02, 8.000e+02, 8.840e+02, 8.780e+02, 7.430e+02, 7.020e+02, 8.720e+02, 9.310e+02, 8.370e+02, 6.480e+02, 7.700e+02, 8.730e+02, 8.060e+02, 9.660e+02, 7.970e+02, 8.110e+02, 8.880e+02, 9.650e+02, 9.490e+02, 8.460e+02, 8.210e+02, 8.740e+02, 8.990e+02, 7.320e+02, 7.630e+02, 8.390e+02, 7.290e+02, 8.440e+02, 7.410e+02, 7.880e+02, 8.100e+02, 1.285e+03, 1.764e+03, 1.500e+03, 1.479e+03, 1.554e+03, 1.692e+03, 1.531e+03, 1.449e+03, 1.502e+03, 1.585e+03, 1.610e+03, 1.713e+03, 1.857e+03, 1.610e+03, 1.802e+03, 1.756e+03, 1.648e+03, 1.659e+03, 1.431e+03, 1.441e+03, 1.724e+03, 1.786e+03, 1.422e+03, 1.510e+03, 1.473e+03, 1.627e+03, 1.684e+03, 1.585e+03, 1.695e+03, 1.742e+03, 1.637e+03, 1.957e+03, 1.842e+03, 1.894e+03, 1.887e+03, 1.686e+03, 1.569e+03, 1.663e+03, 1.779e+03, 1.619e+03, 1.527e+03, 1.549e+03, 1.782e+03, 1.919e+03, 1.955e+03, 2.084e+03, 2.005e+03, 1.949e+03, 1.698e+03, 1.682e+03, 1.732e+03, 1.802e+03, 1.817e+03, 1.749e+03, 1.470e+03, 1.656e+03, 1.667e+03, 1.638e+03, 1.816e+03, 1.819e+03, 1.494e+03, 1.559e+03, 1.668e+03, 1.789e+03, 1.531e+03, 1.485e+03, 1.522e+03, 1.975e+03, 1.699e+03, 1.512e+03, 1.634e+03, 1.882e+03, 1.835e+03, 1.715e+03, 1.746e+03, 1.852e+03, 1.920e+03, 1.984e+03, 1.951e+03, 1.666e+03, 1.706e+03, 1.592e+03, 1.330e+03, 1.380e+03, 1.581e+03, 1.571e+03, 1.662e+03, 1.774e+03, 1.701e+03, 1.791e+03, 1.667e+03, 1.510e+03, 1.680e+03, 1.755e+03, 1.788e+03, 1.748e+03, 1.894e+03, 2.036e+03, 1.901e+03, 2.027e+03, 1.899e+03, 1.945e+03, 1.984e+03, 1.869e+03, 2.013e+03, 1.737e+03, 1.763e+03, 1.794e+03, 1.902e+03, 1.733e+03, 1.714e+03, 1.799e+03, 2.039e+03, 1.845e+03, 1.643e+03, 1.834e+03, 2.027e+03, 1.760e+03, 1.862e+03, 1.810e+03, 1.986e+03, 1.836e+03, 1.838e+03, 1.880e+03, 1.756e+03, 1.878e+03, 1.837e+03, 2.127e+03, 2.031e+03, 2.192e+03, 1.819e+03, 1.915e+03, 1.889e+03, 1.909e+03, 1.984e+03, 2.145e+03, 1.825e+03, 1.836e+03, 1.873e+03, 2.023e+03, 1.993e+03, 1.917e+03, 1.879e+03, 1.927e+03, 1.775e+03, 1.811e+03, 1.787e+03, 1.900e+03, 2.116e+03, 2.098e+03, 2.165e+03, 2.273e+03, 2.095e+03, 1.900e+03, 2.080e+03, 1.898e+03, 2.131e+03, 2.082e+03, 2.321e+03, 2.223e+03, 2.009e+03, 1.737e+03, 1.894e+03, 1.669e+03, 1.735e+03, 1.845e+03, 1.922e+03, 1.993e+03, 2.085e+03, 2.030e+03, 2.209e+03, 1.961e+03, 1.782e+03, 1.839e+03, 1.879e+03, 1.905e+03, 1.848e+03, 1.743e+03, 1.878e+03, 2.059e+03, 1.930e+03, 1.961e+03, 2.081e+03, 2.204e+03, 2.042e+03, 1.868e+03, 2.023e+03, 1.984e+03, 1.838e+03, 1.857e+03, 1.831e+03, 1.712e+03, 1.865e+03, 1.880e+03, 1.968e+03, 1.741e+03, 1.858e+03, 2.045e+03, 2.190e+03, 2.267e+03, 2.057e+03, 2.132e+03, 1.964e+03, 2.038e+03, 2.002e+03, 2.175e+03, 2.183e+03, 2.037e+03, 2.087e+03, 2.061e+03, 1.884e+03, 1.823e+03, 1.826e+03, 1.812e+03, 2.040e+03, 2.017e+03, 1.946e+03, 1.983e+03, 1.862e+03, 2.122e+03, 2.180e+03, 2.136e+03, 2.145e+03, 2.081e+03, 2.219e+03, 2.113e+03, 2.026e+03, 2.253e+03, 2.254e+03, 2.095e+03, 2.168e+03, 1.902e+03, 1.854e+03, 1.901e+03, 1.837e+03, 1.978e+03, 1.991e+03, 2.125e+03, 2.203e+03, 2.246e+03, 2.084e+03, 2.046e+03, 2.059e+03, 2.108e+03, 2.201e+03, 2.398e+03, 2.497e+03, 2.270e+03, 2.267e+03, 2.067e+03, 2.331e+03, 2.178e+03, 2.290e+03, 1.898e+03, 1.984e+03, 2.160e+03, 1.965e+03, 1.919e+03, 1.989e+03, 2.319e+03, 2.003e+03, 2.164e+03, 2.004e+03, 1.835e+03, 2.255e+03, 2.205e+03, 2.126e+03, 1.957e+03, 1.908e+03, 2.186e+03, 2.229e+03, 2.201e+03, 2.178e+03, 2.310e+03, 2.291e+03, 2.298e+03, 2.043e+03, 2.144e+03, 2.295e+03, 2.418e+03, 2.514e+03, 2.370e+03, 2.252e+03, 2.174e+03, 2.117e+03, 2.108e+03, 2.079e+03, 2.387e+03, 2.367e+03, 2.508e+03, 2.416e+03, 2.153e+03, 2.094e+03, 2.208e+03, 2.015e+03, 2.043e+03, 2.027e+03, 2.141e+03, 2.375e+03, 2.363e+03, 2.192e+03, 2.284e+03, 2.270e+03, 2.363e+03, 2.317e+03, 2.237e+03, 2.114e+03, 2.120e+03, 2.110e+03, 2.328e+03, 2.424e+03, 2.341e+03, 2.336e+03, 2.307e+03, 2.247e+03, 2.007e+03, 2.286e+03, 2.015e+03, 2.210e+03, 2.267e+03, 2.114e+03, 2.288e+03, 2.226e+03, 2.371e+03, 2.137e+03, 2.541e+03, 2.220e+03, 2.281e+03, 2.005e+03, 1.496e+03, 8.520e+02, 4.030e+02, 2.170e+02, 1.080e+02, 1.010e+02, 6.500e+01, 8.300e+01, 8.000e+01, 8.200e+01, 3.900e+01, 2.200e+01, 2.200e+01, 1.400e+01, 7.000e+00, 2.000e+01, 1.600e+01, 2.000e+01, 1.800e+01, 3.200e+01, 1.200e+01, 1.700e+01, 3.300e+01, 2.100e+01, 2.700e+01, 2.800e+01, 3.600e+01, 2.000e+01, 1.400e+01, 1.200e+01, 3.800e+01, 2.200e+01, 1.900e+01, 2.800e+01, 5.000e+01, 2.800e+01, 5.900e+01, 3.800e+01, 3.000e+01, 4.400e+01, 6.600e+01, 5.100e+01, 3.900e+01, 5.400e+01, 7.900e+01, 2.500e+01, 1.900e+01, 2.200e+01, 2.800e+01, 2.200e+01, 1.400e+01, 1.500e+01, 8.000e+00, 2.100e+01, 1.300e+01, 1.400e+01, 1.400e+01, 1.600e+01, 1.100e+01, 1.200e+01, 9.000e+00, 1.900e+01, 1.600e+01, 1.800e+01, 5.800e+01, 5.600e+01, 7.000e+00, 6.000e+00, 6.000e+00, 5.000e+00, 2.400e+01, 2.000e+01, 1.700e+01, 1.000e+01, 5.000e+00, 4.000e+00, 1.000e+00, 1.000e+00, 0.000e+00, 3.000e+00, 1.000e+00, 4.000e+00, 1.000e+00, 2.000e+00])
Instead of specifying bin count we may also specify a bin size, given by a 0-D variable:
[5]:
table.hist(wavelength=sc.scalar(0.02, unit='Angstrom'))
[5]:
- wavelength: 176
- wavelength(wavelength [bin-edge])float64Å0.566, 0.586, ..., 4.066, 4.086
Values:
array([0.566368, 0.586368, 0.606368, 0.626368, 0.646368, 0.666368, 0.686368, 0.706368, 0.726368, 0.746368, 0.766368, 0.786368, 0.806368, 0.826368, 0.846368, 0.866368, 0.886368, 0.906368, 0.926368, 0.946368, 0.966368, 0.986368, 1.006368, 1.026368, 1.046368, 1.066368, 1.086368, 1.106368, 1.126368, 1.146368, 1.166368, 1.186368, 1.206368, 1.226368, 1.246368, 1.266368, 1.286368, 1.306368, 1.326368, 1.346368, 1.366368, 1.386368, 1.406368, 1.426368, 1.446368, 1.466368, 1.486368, 1.506368, 1.526368, 1.546368, 1.566368, 1.586368, 1.606368, 1.626368, 1.646368, 1.666368, 1.686368, 1.706368, 1.726368, 1.746368, 1.766368, 1.786368, 1.806368, 1.826368, 1.846368, 1.866368, 1.886368, 1.906368, 1.926368, 1.946368, 1.966368, 1.986368, 2.006368, 2.026368, 2.046368, 2.066368, 2.086368, 2.106368, 2.126368, 2.146368, 2.166368, 2.186368, 2.206368, 2.226368, 2.246368, 2.266368, 2.286368, 2.306368, 2.326368, 2.346368, 2.366368, 2.386368, 2.406368, 2.426368, 2.446368, 2.466368, 2.486368, 2.506368, 2.526368, 2.546368, 2.566368, 2.586368, 2.606368, 2.626368, 2.646368, 2.666368, 2.686368, 2.706368, 2.726368, 2.746368, 2.766368, 2.786368, 2.806368, 2.826368, 2.846368, 2.866368, 2.886368, 2.906368, 2.926368, 2.946368, 2.966368, 2.986368, 3.006368, 3.026368, 3.046368, 3.066368, 3.086368, 3.106368, 3.126368, 3.146368, 3.166368, 3.186368, 3.206368, 3.226368, 3.246368, 3.266368, 3.286368, 3.306368, 3.326368, 3.346368, 3.366368, 3.386368, 3.406368, 3.426368, 3.446368, 3.466368, 3.486368, 3.506368, 3.526368, 3.546368, 3.566368, 3.586368, 3.606368, 3.626368, 3.646368, 3.666368, 3.686368, 3.706368, 3.726368, 3.746368, 3.766368, 3.786368, 3.806368, 3.826368, 3.846368, 3.866368, 3.886368, 3.906368, 3.926368, 3.946368, 3.966368, 3.986368, 4.006368, 4.026368, 4.046368, 4.066368, 4.086368])
- (wavelength)float64counts65.0, 197.0, ..., 10.0, 3.0
Values:
array([6.5000e+01, 1.9700e+02, 4.1800e+02, 4.7600e+02, 5.4100e+02, 9.2300e+02, 8.4500e+02, 9.6300e+02, 1.1160e+03, 1.2600e+03, 1.3560e+03, 1.4030e+03, 1.5980e+03, 1.7850e+03, 1.8320e+03, 1.8070e+03, 2.2260e+03, 2.0790e+03, 2.6000e+03, 2.5700e+03, 2.5030e+03, 2.9640e+03, 3.0830e+03, 3.0480e+03, 2.9300e+03, 2.7660e+03, 2.5630e+03, 2.5050e+03, 2.5730e+03, 2.7120e+03, 3.0030e+03, 3.0630e+03, 3.1310e+03, 3.3800e+03, 3.2710e+03, 3.3450e+03, 3.5870e+03, 3.5100e+03, 3.2860e+03, 2.5650e+03, 2.7080e+03, 2.7890e+03, 2.6710e+03, 3.5740e+03, 3.7480e+03, 3.7470e+03, 3.7040e+03, 4.2160e+03, 5.1630e+03, 3.8140e+03, 3.0510e+03, 3.9140e+03, 4.7340e+03, 4.8830e+03, 4.7390e+03, 5.2210e+03, 4.5890e+03, 4.2370e+03, 4.2180e+03, 5.0200e+03, 4.4970e+03, 5.0470e+03, 5.8720e+03, 5.8180e+03, 6.0110e+03, 6.2870e+03, 6.3560e+03, 4.7940e+03, 3.8260e+03, 4.2050e+03, 4.7020e+03, 2.2090e+03, 2.1810e+03, 1.9600e+03, 2.3030e+03, 3.1170e+03, 2.9350e+03, 3.2170e+03, 3.6010e+03, 4.9170e+03, 5.0470e+03, 4.6310e+03, 4.6910e+03, 4.4350e+03, 4.6200e+03, 4.3680e+03, 4.8110e+03, 4.1940e+03, 4.3410e+03, 4.2400e+03, 4.0110e+03, 4.3240e+03, 4.4720e+03, 4.7480e+03, 4.5500e+03, 4.8350e+03, 4.4230e+03, 4.3790e+03, 4.7140e+03, 4.6820e+03, 4.9970e+03, 4.6910e+03, 4.6270e+03, 8.9700e+03, 8.8450e+03, 9.8880e+03, 8.9380e+03, 9.1020e+03, 1.0341e+04, 9.5860e+03, 1.0348e+04, 1.0244e+04, 9.6770e+03, 9.5020e+03, 9.4880e+03, 9.7980e+03, 1.0598e+04, 8.6440e+03, 9.7080e+03, 1.0047e+04, 1.1202e+04, 1.0550e+04, 1.0310e+04, 1.0458e+04, 1.0634e+04, 1.1324e+04, 1.1082e+04, 1.0995e+04, 1.0649e+04, 1.2097e+04, 1.2034e+04, 1.0328e+04, 1.1601e+04, 1.0616e+04, 1.1044e+04, 1.1489e+04, 1.0458e+04, 1.1474e+04, 1.1666e+04, 1.1710e+04, 1.0927e+04, 1.1841e+04, 1.2206e+04, 1.1442e+04, 1.1800e+04, 1.2163e+04, 1.3052e+04, 1.1826e+04, 1.1831e+04, 1.1687e+04, 1.2507e+04, 1.2762e+04, 1.2974e+04, 1.3274e+04, 1.1913e+04, 1.2870e+04, 1.2765e+04, 1.3189e+04, 1.2381e+04, 1.2832e+04, 1.0350e+04, 8.8900e+02, 2.7200e+02, 9.1000e+01, 1.3300e+02, 1.3800e+02, 1.7700e+02, 2.7000e+02, 2.3300e+02, 1.0200e+02, 8.1000e+01, 1.2800e+02, 9.5000e+01, 6.6000e+01, 1.0000e+01, 3.0000e+00])
Instead of hist
, we can use sc.bin (or the equivalent method provided by DataArray
), which keeps the underlying events and their metadata:
[6]:
binned = table.bin(wavelength=1000)
binned
[6]:
- wavelength: 1000
- wavelength(wavelength [bin-edge])float64Å0.566, 0.570, ..., 4.070, 4.073
Values:
array([0.566368 , 0.56987505, 0.5733821 , ..., 4.0664059 , 4.06991295, 4.07342 ])
- (wavelength)DataArrayViewbinned data [len=8, len=4, ..., len=1, len=2]
dim='row', content=DataArray( dims=(row: 999999), data=float64[counts], coords={'tof':int64[ns], 'wavelength':float64[Å], 'module':int64, 'segment':int64, 'counter':int64, 'wire':int64, 'strip':int64, 'x_pos':float64[mm], 'y_pos':float64[mm], 'z_pos':float64[mm], 'voxel_x':float64[mm], 'voxel_y':float64[mm], 'voxel_z':float64[mm]})
Since we used the same bin count (resulting in the same bin edges) for histogramming and binning, computing the sum of values within each bin (given by binned.hist()
, a shorthand for binned.bins.sum()
) yields the same result as histogramming directly. Therefore only a single line is visible in the following plot:
[7]:
bin_sums = binned.hist() # same as binned.bins.sum()
sc.plot({'histogrammed': histogrammed, 'binned': bin_sums})
[7]:
While the result of histogramming may appear similar or identical, the internal structure is very different. The histogrammed data consists of essentially two arrays, one for the values (yellow) and one for the wavelengths (green):
[8]:
sc.show(histogrammed)
The top level structure of the binned data is the same, i.e., we have and array of values and an array of wavelengths. The difference is that each value (bin) stores all contributing table rows:
[9]:
sc.show(binned)
Exercise 1#
Histogram and bin
table
byz_pos
. Plot the results.Use
bin
on the result of the binning from the first bullet with a different value forz_pos
(for example with more bins), i.e., not on the original tabletable
. Why is this possible?
Solution#
[10]:
binned_z = table.bin(z_pos=100)
solution1 = {}
solution1['histogrammed'] = table.hist(z_pos=100)
solution1['binned'] = binned_z.hist()
solution1['binned_high_resolution'] = binned_z.bin(z_pos=300).hist()
sc.plot(solution1)
[10]:
Multi-dimensional spatial binning#
bin
can handle multiple dimensions:
[11]:
binned_xyz = table.bin(z_pos=31, y_pos=31, x_pos=31) # 31**3 bins
pp.slicer(
binned_xyz['z_pos', 20:].hist(), keep=['x_pos', 'y_pos'], norm='log', aspect='equal'
)
[11]:
Above we can see a cut through the detector assembly, which has the shape of a thick cylinder mantle.
The advantage of binned data over histogrammed data is that metadata for each underlying event is still present. We can therefore change the binning, or bin in additional dimensions. For example, we can select the slice containing \(z = 0\) and turn it into a higher-resolution cut.
Here we show an example of how, e.g., scipp.linspace
can be used to create custom bin-edges instead of relying on the edges bin
determines automatically based on a requested bin-count:
[12]:
x_edges = sc.linspace('x_pos', 400, 1500, num=41, unit='mm')
z_slice = binned_xyz['z_pos', sc.scalar(0.0, unit='mm')]
xy_cut = z_slice.bin(y_pos=100, x_pos=x_edges)
xy_cut
[12]:
- y_pos: 100
- x_pos: 40
- x_pos(x_pos [bin-edge])float64mm400.0, 427.5, ..., 1472.500, 1500.000
Values:
array([ 400. , 427.5, 455. , 482.5, 510. , 537.5, 565. , 592.5, 620. , 647.5, 675. , 702.5, 730. , 757.5, 785. , 812.5, 840. , 867.5, 895. , 922.5, 950. , 977.5, 1005. , 1032.5, 1060. , 1087.5, 1115. , 1142.5, 1170. , 1197.5, 1225. , 1252.5, 1280. , 1307.5, 1335. , 1362.5, 1390. , 1417.5, 1445. , 1472.5, 1500. ]) - y_pos(y_pos [bin-edge])float64mm-1314.930, -1292.619, ..., 893.817, 916.128
Values:
array([-1314.93 , -1292.61942, -1270.30884, -1247.99826, -1225.68768, -1203.3771 , -1181.06652, -1158.75594, -1136.44536, -1114.13478, -1091.8242 , -1069.51362, -1047.20304, -1024.89246, -1002.58188, -980.2713 , -957.96072, -935.65014, -913.33956, -891.02898, -868.7184 , -846.40782, -824.09724, -801.78666, -779.47608, -757.1655 , -734.85492, -712.54434, -690.23376, -667.92318, -645.6126 , -623.30202, -600.99144, -578.68086, -556.37028, -534.0597 , -511.74912, -489.43854, -467.12796, -444.81738, -422.5068 , -400.19622, -377.88564, -355.57506, -333.26448, -310.9539 , -288.64332, -266.33274, -244.02216, -221.71158, -199.401 , -177.09042, -154.77984, -132.46926, -110.15868, -87.8481 , -65.53752, -43.22694, -20.91636, 1.39422, 23.7048 , 46.01538, 68.32596, 90.63654, 112.94712, 135.2577 , 157.56828, 179.87886, 202.18944, 224.50002, 246.8106 , 269.12118, 291.43176, 313.74234, 336.05292, 358.3635 , 380.67408, 402.98466, 425.29524, 447.60582, 469.9164 , 492.22698, 514.53756, 536.84814, 559.15872, 581.4693 , 603.77988, 626.09046, 648.40104, 670.71162, 693.0222 , 715.33278, 737.64336, 759.95394, 782.26452, 804.5751 , 826.88568, 849.19626, 871.50684, 893.81742, 916.128 ]) - z_pos(z_pos [bin-edge])float64mm-48.870, 44.790
Values:
array([-48.86967742, 44.78967742])
- (y_pos, x_pos)DataArrayViewbinned data [len=0, len=0, ..., len=0, len=0]
dim='row', content=DataArray( dims=(row: 62302), data=float64[counts], coords={'tof':int64[ns], 'wavelength':float64[Å], 'module':int64, 'segment':int64, 'counter':int64, 'wire':int64, 'strip':int64, 'x_pos':float64[mm], 'y_pos':float64[mm], 'z_pos':float64[mm], 'voxel_x':float64[mm], 'voxel_y':float64[mm], 'voxel_z':float64[mm]})
[13]:
sc.plot(xy_cut.hist().transpose(), aspect='equal')
[13]:
Using custom bin edges has advantages and disadvantages:
If a bin-count is provided,
bin
andhistogram
need to compute the minimum and maximum over the coordinate, which adds extra cost to the operation.Automatic bin-edges based on a bin-count rarely yield “nice” (rounded) bounds, which may not be desirable for plots.
Automatic bin-counts avoids two common pitfalls:
To obtain, say, 100 bins we must provide 101 edges.
Intervals in Scipp are closed on the left but open on the right, i.e., \([...)\). If custom bin edges are computed naively from the
max()
of the corresponding coordinate, e.g., usingscipp.linspace
, then the data value at the maximum will not be included.
Exercise 2#
The detector assembly is cylindrical, aligned with the z-axis. Compute the distance from the z-axis (from the
x_pos
andy_pos
coordinates) and store it as a new coordinate intable
. This is the radius in cylinder coordinates.Define bin edges for the radius using
scipp.linspace
.Bin
table
byz_pos
and the radius.Plot the result.
Solution#
[14]:
radius = sc.sqrt(table.coords['x_pos'] ** 2 + table.coords['y_pos'] ** 2)
table.coords['radius'] = radius
radius_edges = sc.linspace(
'radius', radius.min(), radius.max() + sc.scalar(1, unit='mm'), num=13
)
binned_zr = table.bin(z_pos=31, radius=radius_edges)
binned_zr.hist().plot()
[14]:
Multi-dimensional logical binning#
Above we binned according to x, y, and z. This reflects neither the physics nor the logical structure of the detectors and is generally not very useful. The original table additionally contains information about the logical structure of the detector array. In this case it is divided into modules, segments, counters, wires, and strips. We can use group
to perform a binning based on discrete values. The result is 5-D:
[15]:
binned_logical = table.group('module', 'segment', 'counter', 'wire', 'strip')
binned_logical
[15]:
- module: 14
- segment: 6
- counter: 2
- wire: 32
- strip: 256
- counter(counter)int641, 2
Values:
array([1, 2]) - module(module)int641, 2, ..., 13, 14
Values:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]) - segment(segment)int641, 2, ..., 5, 6
Values:
array([1, 2, 3, 4, 5, 6]) - strip(strip)int641, 2, ..., 255, 256
Values:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256]) - wire(wire)int641, 2, ..., 31, 32
Values:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32])
- (module, segment, counter, wire, strip)DataArrayViewbinned data [len=1, len=0, ..., len=0, len=0]
dim='row', content=DataArray( dims=(row: 999999), data=float64[counts], coords={'tof':int64[ns], 'wavelength':float64[Å], 'x_pos':float64[mm], 'y_pos':float64[mm], 'z_pos':float64[mm], 'voxel_x':float64[mm], 'voxel_y':float64[mm], 'voxel_z':float64[mm], 'radius':float64[mm]})
Above we used automatic group setup. This will create a group for each unique value. Explicit custom groups (given as a variable) should often be favored in practice, for two reasons:
If only a group label is provided,
group
needs to determine all unique values in the corresponding coordinate. This can be very costly if the input data is large.Automatic grouping can be “unstable”, in the sense that the actual groups that are created can vary randomly if the input changes. This can lead to incompatibilities between grouped data obtained with different inputs. If the set of possible coordinate values is known in advance it is therefore beneficial to provide these explicitly.
Explicit custom groups can also be used to extract a subset of the data:
[16]:
wire1234 = table.group(sc.array(dims=['wire'], values=[1, 2, 3, 4], unit=None))
wire1234.hist().plot()
[16]:
Exercise 3#
Group
table
but only by strip and wire.Plot the result.
Solution#
[17]:
binned_strip_wire = table.group('strip', 'wire')
print(
'Neutrons arrive from the "left" in the following figure (low wire index).'
'They are gradually absorbed so the intensity decreases as we reach deeper '
'voxel layers:'
)
binned_strip_wire.hist().plot()
Neutrons arrive from the "left" in the following figure (low wire index).They are gradually absorbed so the intensity decreases as we reach deeper voxel layers:
[17]:
From event-based metadata to bin-based metadata#
For each detected neutron our data records the position of the associated voxel. After the logical grouping above, every bin corresponds to a voxel.
It can be more practical to store the voxel position for every bin (voxel) instead of for every event. This can be achieved, e.g., by computing the mean for every bin. Note that in this case all events in a voxel record the same voxel position so this procedure is wasteful — in practice we may prefer loading the voxel positions directly from a file.
We can also combine the x, y, and z components into a single array of position vectors:
[18]:
pos = sc.zeros(sizes=binned_logical.sizes, dtype=sc.DType.vector3, unit='mm')
# We 'pop' the coordinates. If desired they could be kept by using
# __getitem__ instead
pos.fields.x = binned_logical.bins.coords.pop('voxel_x').bins.mean()
pos.fields.y = binned_logical.bins.coords.pop('voxel_y').bins.mean()
pos.fields.z = binned_logical.bins.coords.pop('voxel_z').bins.mean()
binned_logical.coords['position'] = pos
binned_logical
[18]:
- module: 14
- segment: 6
- counter: 2
- wire: 32
- strip: 256
- counter(counter)int641, 2
Values:
array([1, 2]) - module(module)int641, 2, ..., 13, 14
Values:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]) - position(module, segment, counter, wire, strip)vector3mm[ 952.598 545.569 -1091.35 ], [nan nan nan], ..., [nan nan nan], [nan nan nan]
Values:
array([[[[[[ 952.598, 545.569, -1091.35 ], [ nan, nan, nan], [ 952.598, 545.569, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 961.336, 552.861, -1102.61 ], [ 961.336, 552.861, -1089.18 ], [ 961.336, 552.861, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 970.074, 560.153, -1100.31 ], [ 970.074, 560.153, -1086.9 ], ..., [ nan, nan, nan], [ 970.074, 560.153, 1100.31 ], [ 970.074, 560.153, 1113.88 ]], ..., [[ 1206. , 757.048, -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1206. , 757.048, 1418.1 ]], [[ 1214.74 , 764.34 , -1429.36 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1214.74 , 764.34 , 1429.36 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 946.25 , 553.133, -1091.35 ], [ 946.25 , 553.133, -1078.05 ], [ 946.25 , 553.133, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 954.949, 560.472, -1102.61 ], [ 954.949, 560.472, -1089.18 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ 954.949, 560.472, 1089.18 ], [ nan, nan, nan]], [[ 963.648, 567.811, -1113.88 ], [ 963.648, 567.811, -1100.31 ], [ 963.648, 567.811, -1086.9 ], ..., [ nan, nan, nan], [ 963.648, 567.811, 1100.31 ], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1207.22 , 773.305, -1429.36 ], [ 1207.22 , 773.305, -1411.95 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1215.92 , 780.644, -1440.63 ], [ 1215.92 , 780.644, -1423.08 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 940.548, 566.09 , -1091.35 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 949.126, 573.57 , -1102.61 ], [ 949.126, 573.57 , -1089.18 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 949.126, 573.57 , 1102.61 ]], [[ 957.704, 581.05 , -1113.88 ], [ 957.704, 581.05 , -1100.31 ], [ 957.704, 581.05 , -1086.9 ], ..., [ 957.704, 581.05 , 1086.9 ], [ nan, nan, nan], [ 957.704, 581.05 , 1113.88 ]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ 1189.31 , 783.013, 1400.82 ], [ 1189.31 , 783.013, 1418.1 ]], [[ 1197.89 , 790.493, -1429.36 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1197.89 , 790.493, 1429.36 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ 1206.46 , 797.973, 1405.74 ], [ nan, nan, nan], [ nan, nan, nan]]], [[[ nan, nan, nan], [ 934.038, 573.515, -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 934.038, 573.515, 1091.35 ]], [[ 942.575, 581.041, -1102.61 ], [ 942.575, 581.041, -1089.18 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ 942.575, 581.041, 1089.18 ], [ 942.575, 581.041, 1102.61 ]], [[ 951.113, 588.567, -1113.88 ], [ 951.113, 588.567, -1100.31 ], [ 951.113, 588.567, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ 1181.63 , 791.767, -1383.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 1190.17 , 799.293, -1411.95 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1190.17 , 799.293, 1429.36 ]], [[ 1198.71 , 806.819, -1440.63 ], [ 1198.71 , 806.819, -1423.08 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 928.055, 586.345, -1091.35 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 928.055, 586.345, 1091.35 ]], [[ nan, nan, nan], [ 936.469, 594.01 , -1089.18 ], [ 936.469, 594.01 , -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 944.883, 601.674, -1113.88 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 944.883, 601.674, 1113.88 ]], ..., [[ nan, nan, nan], [ 1172.06 , 808.61 , -1400.82 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 1180.47 , 816.274, -1411.95 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 921.386, 593.628, -1091.35 ], [ 921.386, 593.628, -1078.05 ], [ 921.386, 593.628, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 921.386, 593.628, 1091.35 ]], [[ 929.759, 601.337, -1102.61 ], [ 929.759, 601.337, -1089.18 ], [ nan, nan, nan], ..., [ 929.759, 601.337, 1075.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 938.131, 609.046, -1100.31 ], [ nan, nan, nan], ..., [ 938.131, 609.046, 1086.9 ], [ 938.131, 609.046, 1100.31 ], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ 1180.94 , 832.614, 1405.74 ], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 915.127, 606.325, -1091.35 ], [ 915.127, 606.325, -1078.05 ], [ 915.127, 606.325, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 923.373, 614.17 , -1102.61 ], [ 923.373, 614.17 , -1089.18 ], [ 923.373, 614.17 , -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 931.618, 622.015, -1113.88 ], [ 931.618, 622.015, -1100.31 ], [ 931.618, 622.015, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 908.301, 613.461, -1091.35 ], [ 908.301, 613.461, -1078.05 ], [ 908.301, 613.461, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 908.301, 613.461, 1091.35 ]], [[ 916.505, 621.35 , -1102.61 ], [ 916.505, 621.35 , -1089.18 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ 916.505, 621.35 , 1089.18 ], [ 916.505, 621.35 , 1102.61 ]], [[ 924.708, 629.239, -1113.88 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ 924.708, 629.239, 1086.9 ], [ nan, nan, nan], [ 924.708, 629.239, 1113.88 ]], ..., [[ nan, nan, nan], [ 1146.21 , 842.24 , -1400.82 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1154.41 , 850.128, -1429.36 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ 1154.41 , 850.128, 1394.75 ], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 901.769, 626.02 , -1091.35 ], [ 901.769, 626.02 , -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 901.769, 626.02 , 1091.35 ]], [[ 909.842, 634.042, -1102.61 ], [ 909.842, 634.042, -1089.18 ], [ nan, nan, nan], ..., [ 909.842, 634.042, 1075.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 917.916, 642.064, -1113.88 ], [ 917.916, 642.064, -1100.31 ], [ 917.916, 642.064, -1086.9 ], ..., [ 917.916, 642.064, 1086.9 ], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ 1135.91 , 858.651, -1418.1 ], [ 1135.91 , 858.651, -1400.82 ], [ 1135.91 , 858.651, -1383.75 ], ..., [ nan, nan, nan], [ 1135.91 , 858.651, 1400.82 ], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 1152.05 , 874.695, -1423.08 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ nan, nan, nan], [ 894.79 , 633.007, -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ 894.79 , 633.007, 1078.05 ], [ nan, nan, nan]], [[ 902.82 , 641.071, -1102.61 ], [ 902.82 , 641.071, -1089.18 ], [ 902.82 , 641.071, -1075.91 ], ..., [ nan, nan, nan], [ 902.82 , 641.071, 1089.18 ], [ 902.82 , 641.071, 1102.61 ]], [[ 910.851, 649.136, -1113.88 ], [ 910.851, 649.136, -1100.31 ], [ 910.851, 649.136, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 910.851, 649.136, 1113.88 ]], ..., [[ 1127.68 , 866.888, -1418.1 ], [ nan, nan, nan], [ 1127.68 , 866.888, -1383.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1135.71 , 874.953, -1429.36 ], [ nan, nan, nan], [ 1135.71 , 874.953, -1394.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ 1143.74 , 883.018, 1405.74 ], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 887.986, 645.421, -1091.35 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 895.884, 653.616, -1102.61 ], [ 895.884, 653.616, -1089.18 ], [ 895.884, 653.616, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 903.782, 661.811, -1113.88 ], [ 903.782, 661.811, -1100.31 ], [ 903.782, 661.811, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ 1117.03 , 883.073, -1418.1 ], [ nan, nan, nan], [ 1117.03 , 883.073, -1383.75 ], ..., [ nan, nan, nan], [ 1117.03 , 883.073, 1400.82 ], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 1124.92 , 891.268, -1394.75 ], ..., [ 1124.92 , 891.268, 1394.75 ], [ 1124.92 , 891.268, 1411.95 ], [ 1124.92 , 891.268, 1429.36 ]], [[ 1132.82 , 899.463, -1440.63 ], [ nan, nan, nan], [ 1132.82 , 899.463, -1405.74 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1132.82 , 899.463, 1440.63 ]]], [[[ 880.858, 652.254, -1091.35 ], [ 880.858, 652.254, -1078.05 ], [ 880.858, 652.254, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 888.712, 660.491, -1102.61 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 888.712, 660.491, 1102.61 ]], [[ 896.566, 668.728, -1113.88 ], [ 896.566, 668.728, -1100.31 ], [ 896.566, 668.728, -1086.9 ], ..., [ 896.566, 668.728, 1086.9 ], [ nan, nan, nan], [ 896.566, 668.728, 1113.88 ]], ..., [[ 1108.62 , 891.129, -1418.1 ], [ 1108.62 , 891.129, -1400.82 ], [ 1108.62 , 891.129, -1383.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1116.48 , 899.366, -1429.36 ], [ nan, nan, nan], [ 1116.48 , 899.366, -1394.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1116.48 , 899.366, 1429.36 ]], [[ 1124.33 , 907.603, -1440.63 ], [ 1124.33 , 907.603, -1423.08 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]]], [[[[[ 1015.31 , 417.402, -1091.35 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ 1015.31 , 417.402, 1064.91 ], [ nan, nan, nan], [ 1015.31 , 417.402, 1091.35 ]], [[ 1024.92 , 423.499, -1102.61 ], [ 1024.92 , 423.499, -1089.18 ], [ 1024.92 , 423.499, -1075.91 ], ..., [ 1024.92 , 423.499, 1075.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 1034.54 , 429.596, -1113.88 ], [ nan, nan, nan], [ 1034.54 , 429.596, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ 1294.01 , 594.226, -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1303.62 , 600.323, -1429.36 ], [ nan, nan, nan], [ 1303.62 , 600.323, -1394.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1313.23 , 606.421, -1440.63 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 1010. , 425.726, -1091.35 ], [ 1010. , 425.726, -1078.05 ], [ 1010. , 425.726, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1019.58 , 431.875, -1102.61 ], [ 1019.58 , 431.875, -1089.18 ], [ 1019.58 , 431.875, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1029.16 , 438.023, -1113.88 ], [ 1029.16 , 438.023, -1100.31 ], [ 1029.16 , 438.023, -1086.9 ], ..., [ nan, nan, nan], [ 1029.16 , 438.023, 1100.31 ], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ 1287.75 , 604.04 , 1383.75 ], [ 1287.75 , 604.04 , 1400.82 ], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 1006.03 , 439.313, -1091.35 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1015.5 , 445.617, -1102.61 ], [ 1015.5 , 445.617, -1089.18 ], [ 1015.5 , 445.617, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1024.98 , 451.921, -1113.88 ], [ 1024.98 , 451.921, -1100.31 ], [ 1024.98 , 451.921, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ 1280.83 , 622.137, -1418.1 ], [ nan, nan, nan], [ 1280.83 , 622.137, -1383.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1290.3 , 628.441, -1429.36 ], [ nan, nan, nan], [ 1290.3 , 628.441, -1394.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1290.3 , 628.441, 1429.36 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ 1299.78 , 634.745, 1405.74 ], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 1000.54 , 447.52 , -1091.35 ], [ 1000.54 , 447.52 , -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1009.98 , 453.875, -1102.61 ], [ 1009.98 , 453.875, -1089.18 ], [ 1009.98 , 453.875, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1009.98 , 453.875, 1102.61 ]], [[ nan, nan, nan], [ nan, nan, nan], [ 1019.42 , 460.23 , -1086.9 ], ..., [ 1019.42 , 460.23 , 1086.9 ], [ nan, nan, nan], [ 1019.42 , 460.23 , 1113.88 ]], ..., [[ 1274.35 , 631.812, -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ 1283.79 , 638.167, 1411.95 ], [ nan, nan, nan]], [[ nan, nan, nan], [ 1293.23 , 644.522, -1423.08 ], [ 1293.23 , 644.522, -1405.74 ], ..., [ nan, nan, nan], [ 1293.23 , 644.522, 1423.08 ], [ nan, nan, nan]]]], [[[[ 996.268, 461.017, -1091.35 ], [ nan, nan, nan], [ 996.268, 461.017, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1005.61 , 467.526, -1102.61 ], [ nan, nan, nan], [ 1005.61 , 467.526, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1005.61 , 467.526, 1102.61 ]], [[ 1014.94 , 474.034, -1113.88 ], [ 1014.94 , 474.034, -1100.31 ], [ 1014.94 , 474.034, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1276.37 , 656.263, -1429.36 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1285.71 , 662.772, -1440.63 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 990.6 , 469.103, -1091.35 ], [ nan, nan, nan], [ 990.6 , 469.103, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 999.902, 475.661, -1102.61 ], [ 999.902, 475.661, -1089.18 ], [ 999.902, 475.661, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 999.902, 475.661, 1102.61 ]], [[ nan, nan, nan], [ 1009.2 , 482.22 , -1100.31 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ 1260.36 , 659.288, -1383.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 1278.96 , 672.404, -1423.08 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1278.96 , 672.404, 1440.63 ]]]], [[[[ 986.041, 482.505, -1091.35 ], [ 986.041, 482.505, -1078.05 ], [ nan, nan, nan], ..., [ 986.041, 482.505, 1064.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 995.234, 489.214, -1102.61 ], [ 995.234, 489.214, -1089.18 ], [ 995.234, 489.214, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 995.234, 489.214, 1102.61 ]], [[ 1004.43 , 495.923, -1113.88 ], [ 1004.43 , 495.923, -1100.31 ], [ 1004.43 , 495.923, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1004.43 , 495.923, 1113.88 ]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1261.85 , 683.777, 1429.36 ]], [[ nan, nan, nan], [ nan, nan, nan], [ 1271.04 , 690.486, -1405.74 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 980.198, 490.466, -1091.35 ], [ 980.198, 490.466, -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 989.356, 497.225, -1102.61 ], [ 989.356, 497.225, -1089.18 ], [ 989.356, 497.225, -1075.91 ], ..., [ nan, nan, nan], [ 989.356, 497.225, 1089.18 ], [ nan, nan, nan]], [[ 998.513, 503.983, -1113.88 ], [ 998.513, 503.983, -1100.31 ], [ 998.513, 503.983, -1086.9 ], ..., [ nan, nan, nan], [ 998.513, 503.983, 1100.31 ], [ nan, nan, nan]], ..., [[ 1245.77 , 686.454, -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 1254.92 , 693.212, -1394.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1264.08 , 699.971, -1440.63 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1264.08 , 699.971, 1440.63 ]]]], [[[[ 975.35 , 503.766, -1091.35 ], [ 975.35 , 503.766, -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 984.396, 510.673, -1102.61 ], [ 984.396, 510.673, -1089.18 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 993.442, 517.58 , -1113.88 ], [ 993.442, 517.58 , -1100.31 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ 1237.68 , 704.063, -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ 1246.73 , 710.97 , 1394.75 ], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 1255.78 , 717.877, -1405.74 ], ..., [ 1255.78 , 717.877, 1405.74 ], [ 1255.78 , 717.877, 1423.08 ], [ nan, nan, nan]]], [[[ 969.336, 511.599, -1091.35 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ 969.336, 511.599, 1078.05 ], [ 969.336, 511.599, 1091.35 ]], [[ 978.345, 518.554, -1102.61 ], [ 978.345, 518.554, -1089.18 ], [ 978.345, 518.554, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 987.354, 525.509, -1113.88 ], [ 987.354, 525.509, -1100.31 ], [ 987.354, 525.509, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 987.354, 525.509, 1113.88 ]], ..., [[ nan, nan, nan], [ 1230.59 , 713.298, -1400.82 ], [ 1230.59 , 713.298, -1383.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 1248.61 , 727.208, -1405.74 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 964.2 , 524.791, -1091.35 ], [ 964.2 , 524.791, -1078.05 ], [ 964.2 , 524.791, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 973.094, 531.892, -1102.61 ], [ 973.094, 531.892, -1089.18 ], [ 973.094, 531.892, -1075.91 ], ..., [ nan, nan, nan], [ 973.094, 531.892, 1089.18 ], [ 973.094, 531.892, 1102.61 ]], [[ 981.989, 538.993, -1113.88 ], [ 981.989, 538.993, -1100.31 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ 981.989, 538.993, 1100.31 ], [ nan, nan, nan]], ..., [[ 1222.13 , 730.727, -1418.1 ], [ 1222.13 , 730.727, -1400.82 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1231.03 , 737.829, -1429.36 ], [ 1231.03 , 737.829, -1411.95 ], [ 1231.03 , 737.829, -1394.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1239.92 , 744.93 , -1440.63 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ 1239.92 , 744.93 , 1423.08 ], [ nan, nan, nan]]], [[[ 958.018, 532.491, -1091.35 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 966.874, 539.64 , -1102.61 ], [ 966.874, 539.64 , -1089.18 ], [ 966.874, 539.64 , -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 975.73 , 546.789, -1086.9 ], ..., [ 975.73 , 546.789, 1086.9 ], [ 975.73 , 546.789, 1100.31 ], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 1223.7 , 746.955, -1394.75 ], ..., [ nan, nan, nan], [ 1223.7 , 746.955, 1411.95 ], [ 1223.7 , 746.955, 1429.36 ]], [[ 1232.55 , 754.103, -1440.63 ], [ nan, nan, nan], [ 1232.55 , 754.103, -1405.74 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]]], [[[[[ 1060.88 , 282.183, -1091.35 ], [ nan, nan, nan], [ 1060.88 , 282.183, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1071.2 , 286.982, -1102.61 ], [ 1071.2 , 286.982, -1089.18 ], [ 1071.2 , 286.982, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1071.2 , 286.982, 1102.61 ]], [[ 1081.52 , 291.781, -1113.88 ], [ 1081.52 , 291.781, -1100.31 ], [ 1081.52 , 291.781, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 1370.47 , 426.164, -1411.95 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1370.47 , 426.164, 1429.36 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 1056.69 , 291.126, -1091.35 ], [ nan, nan, nan], [ 1056.69 , 291.126, -1064.91 ], ..., [ nan, nan, nan], [ 1056.69 , 291.126, 1078.05 ], [ nan, nan, nan]], [[ 1066.98 , 295.98 , -1102.61 ], [ 1066.98 , 295.98 , -1089.18 ], [ 1066.98 , 295.98 , -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1077.28 , 300.835, -1113.88 ], [ 1077.28 , 300.835, -1100.31 ], [ 1077.28 , 300.835, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1365.51 , 436.762, -1429.36 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1375.8 , 441.617, -1440.63 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 1054.51 , 305.113, -1091.35 ], [ 1054.51 , 305.113, -1078.05 ], [ 1054.51 , 305.113, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1064.72 , 310.135, -1102.61 ], [ 1064.72 , 310.135, -1089.18 ], [ 1064.72 , 310.135, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1074.94 , 315.157, -1113.88 ], [ nan, nan, nan], [ 1074.94 , 315.157, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ 1350.7 , 450.75 , -1418.1 ], [ 1350.7 , 450.75 , -1400.82 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1371.13 , 460.794, 1440.63 ]]], [[[ 1050.13 , 313.963, -1091.35 ], [ 1050.13 , 313.963, -1078.05 ], [ 1050.13 , 313.963, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1060.32 , 319.04 , -1102.61 ], [ 1060.32 , 319.04 , -1089.18 ], [ 1060.32 , 319.04 , -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1060.32 , 319.04 , 1102.61 ]], [[ 1070.5 , 324.116, -1113.88 ], [ nan, nan, nan], [ 1070.5 , 324.116, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1070.5 , 324.116, 1113.88 ]], ..., [[ nan, nan, nan], [ 1345.54 , 461.184, -1400.82 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 1355.72 , 466.26 , -1411.95 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1365.91 , 471.337, -1440.63 ], [ 1365.91 , 471.337, -1423.08 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ nan, nan, nan], [ 1047.65 , 327.9 , -1078.05 ], [ 1047.65 , 327.9 , -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 1057.75 , 333.142, -1089.18 ], [ 1057.75 , 333.142, -1075.91 ], ..., [ nan, nan, nan], [ 1057.75 , 333.142, 1089.18 ], [ 1057.75 , 333.142, 1102.61 ]], [[ 1067.85 , 338.385, -1113.88 ], [ 1067.85 , 338.385, -1100.31 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1067.85 , 338.385, 1113.88 ]], ..., [[ 1340.61 , 479.923, -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1350.71 , 485.165, -1429.36 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1360.82 , 490.408, -1440.63 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 1043.08 , 336.653, -1091.35 ], [ 1043.08 , 336.653, -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1053.15 , 341.949, -1102.61 ], [ 1053.15 , 341.949, -1089.18 ], [ 1053.15 , 341.949, -1075.91 ], ..., [ 1053.15 , 341.949, 1075.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 1063.22 , 347.246, -1113.88 ], [ 1063.22 , 347.246, -1100.31 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ 1335.22 , 490.243, -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1335.22 , 490.243, 1418.1 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 1040.3 , 350.533, -1091.35 ], [ nan, nan, nan], [ 1040.3 , 350.533, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1050.28 , 355.993, -1102.61 ], [ nan, nan, nan], [ 1050.28 , 355.993, -1075.91 ], ..., [ 1050.28 , 355.993, 1075.91 ], [ 1050.28 , 355.993, 1089.18 ], [ 1050.28 , 355.993, 1102.61 ]], [[ 1060.27 , 361.453, -1113.88 ], [ 1060.27 , 361.453, -1100.31 ], [ 1060.27 , 361.453, -1086.9 ], ..., [ 1060.27 , 361.453, 1086.9 ], [ nan, nan, nan], [ 1060.27 , 361.453, 1113.88 ]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1339.88 , 514.331, -1429.36 ], [ 1339.88 , 514.331, -1411.95 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 1349.87 , 519.791, -1423.08 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 1035.54 , 359.185, -1091.35 ], [ 1035.54 , 359.185, -1078.05 ], [ 1035.54 , 359.185, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1045.49 , 364.698, -1102.61 ], [ 1045.49 , 364.698, -1089.18 ], [ 1045.49 , 364.698, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1045.49 , 364.698, 1102.61 ]], [[ 1055.45 , 370.212, -1113.88 ], [ 1055.45 , 370.212, -1100.31 ], [ 1055.45 , 370.212, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1055.45 , 370.212, 1113.88 ]], ..., [[ 1324.28 , 519.071, -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 1334.24 , 524.585, -1394.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1344.19 , 530.098, -1440.63 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 1032.45 , 373.002, -1091.35 ], [ 1032.45 , 373.002, -1078.05 ], [ 1032.45 , 373.002, -1064.91 ], ..., [ 1032.45 , 373.002, 1064.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 1042.32 , 378.677, -1102.61 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1052.18 , 384.352, -1113.88 ], [ 1052.18 , 384.352, -1100.31 ], [ 1052.18 , 384.352, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ 1318.55 , 537.58 , -1383.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 1338.28 , 548.93 , -1405.74 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 1027.51 , 381.548, -1091.35 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 1037.34 , 387.276, -1089.18 ], [ nan, nan, nan], ..., [ 1037.34 , 387.276, 1075.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 1047.17 , 393.004, -1113.88 ], [ nan, nan, nan], [ 1047.17 , 393.004, -1086.9 ], ..., [ 1047.17 , 393.004, 1086.9 ], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ 1312.72 , 547.656, 1383.75 ], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 1024.12 , 395.295, -1091.35 ], [ 1024.12 , 395.295, -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1033.86 , 401.182, -1102.61 ], [ 1033.86 , 401.182, -1089.18 ], [ 1033.86 , 401.182, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1033.86 , 401.182, 1102.61 ]], [[ 1043.6 , 407.07 , -1113.88 ], [ 1043.6 , 407.07 , -1100.31 ], [ 1043.6 , 407.07 , -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ 1306.59 , 566.036, 1383.75 ], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 1018.99 , 403.732, -1091.35 ], [ 1018.99 , 403.732, -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1028.7 , 409.671, -1102.61 ], [ 1028.7 , 409.671, -1089.18 ], [ 1028.7 , 409.671, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 1028.7 , 409.671, 1102.61 ]], [[ 1038.41 , 415.611, -1113.88 ], [ 1038.41 , 415.611, -1100.31 ], [ 1038.41 , 415.611, -1086.9 ], ..., [ 1038.41 , 415.611, 1086.9 ], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ 1300.54 , 575.983, -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]]], ..., [[[[[ 673.153, -867.152, -1091.35 ], [ nan, nan, nan], [ 673.153, -867.152, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 681.593, -874.787, -1075.91 ], ..., [ 681.593, -874.787, 1075.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 690.033, -882.422, -1113.88 ], [ 690.033, -882.422, -1100.31 ], [ 690.033, -882.422, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 690.033, -882.422, 1113.88 ]], ..., [[ 917.922, -1088.57 , -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 926.363, -1096.2 , -1429.36 ], [ nan, nan, nan], [ 926.363, -1096.2 , -1394.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 679.758, -859.811, -1091.35 ], [ 679.758, -859.811, -1078.05 ], [ 679.758, -859.811, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 688.239, -867.401, -1102.61 ], [ 688.239, -867.401, -1089.18 ], [ 688.239, -867.401, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 696.72 , -874.991, -1113.88 ], [ 696.72 , -874.991, -1100.31 ], [ 696.72 , -874.991, -1086.9 ], ..., [ 696.72 , -874.991, 1086.9 ], [ nan, nan, nan], [ 696.72 , -874.991, 1113.88 ]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ 925.709, -1079.91 , 1383.75 ], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 934.19 , -1087.51 , -1411.95 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 934.19 , -1087.51 , 1429.36 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 691.792, -852.356, -1091.35 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ 691.792, -852.356, 1064.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 700.396, -859.807, -1102.61 ], [ 700.396, -859.807, -1089.18 ], [ 700.396, -859.807, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 700.396, -859.807, 1102.61 ]], [[ 709. , -867.257, -1113.88 ], [ 709. , -867.257, -1100.31 ], [ 709. , -867.257, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 698.236, -844.874, -1091.35 ], [ nan, nan, nan], [ 698.236, -844.874, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 706.88 , -852.278, -1102.61 ], [ 706.88 , -852.278, -1089.18 ], [ 706.88 , -852.278, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 706.88 , -852.278, 1102.61 ]], [[ 715.524, -859.682, -1113.88 ], [ 715.524, -859.682, -1100.31 ], [ 715.524, -859.682, -1086.9 ], ..., [ nan, nan, nan], [ 715.524, -859.682, 1100.31 ], [ nan, nan, nan]], ..., [[ 948.901, -1059.6 , -1418.1 ], [ nan, nan, nan], [ 948.901, -1059.6 , -1383.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 957.545, -1067. , -1429.36 ], [ 957.545, -1067. , -1411.95 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 966.188, -1074.4 , -1423.08 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 710.106, -837.16 , -1091.35 ], [ 710.106, -837.16 , -1078.05 ], [ nan, nan, nan], ..., [ 710.106, -837.16 , 1064.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 718.869, -844.422, -1102.61 ], [ 718.869, -844.422, -1089.18 ], [ nan, nan, nan], ..., [ 718.869, -844.422, 1075.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 727.633, -851.684, -1113.88 ], [ nan, nan, nan], [ 727.633, -851.684, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 727.633, -851.684, 1113.88 ]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 964.243, -1047.76 , 1418.1 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 973.006, -1055.02 , 1429.36 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 716.387, -829.54 , -1091.35 ], [ 716.387, -829.54 , -1078.05 ], [ 716.387, -829.54 , -1064.91 ], ..., [ 716.387, -829.54 , 1064.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 725.189, -836.755, -1102.61 ], [ 725.189, -836.755, -1089.18 ], [ 725.189, -836.755, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 725.189, -836.755, 1102.61 ]], [[ 733.991, -843.97 , -1113.88 ], [ 733.991, -843.97 , -1100.31 ], [ 733.991, -843.97 , -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 971.647, -1038.78 , 1418.1 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 980.449, -1045.99 , 1429.36 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 728.087, -821.57 , -1091.35 ], [ 728.087, -821.57 , -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ 728.087, -821.57 , 1078.05 ], [ nan, nan, nan]], [[ 737.005, -828.641, -1102.61 ], [ 737.005, -828.641, -1089.18 ], [ 737.005, -828.641, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 737.005, -828.641, 1102.61 ]], [[ 745.924, -835.711, -1113.88 ], [ 745.924, -835.711, -1100.31 ], [ 745.924, -835.711, -1086.9 ], ..., [ 745.924, -835.711, 1086.9 ], [ nan, nan, nan], [ 745.924, -835.711, 1113.88 ]], ..., [[ 986.729, -1026.61 , -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 986.729, -1026.61 , 1418.1 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 734.2 , -813.816, -1091.35 ], [ 734.2 , -813.816, -1078.05 ], [ 734.2 , -813.816, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 743.157, -820.838, -1089.18 ], [ 743.157, -820.838, -1075.91 ], ..., [ nan, nan, nan], [ 743.157, -820.838, 1089.18 ], [ 743.157, -820.838, 1102.61 ]], [[ 752.113, -827.861, -1113.88 ], [ nan, nan, nan], [ 752.113, -827.861, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 1011.85 , -1031.52 , -1440.63 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 745.725, -805.594, -1091.35 ], [ 745.725, -805.594, -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 754.795, -812.47 , -1102.61 ], [ 754.795, -812.47 , -1089.18 ], [ 754.795, -812.47 , -1075.91 ], ..., [ 754.795, -812.47 , 1075.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 763.864, -819.345, -1113.88 ], [ 763.864, -819.345, -1100.31 ], [ 763.864, -819.345, -1086.9 ], ..., [ nan, nan, nan], [ 763.864, -819.345, 1100.31 ], [ 763.864, -819.345, 1113.88 ]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 1017.82 , -1011.86 , -1411.95 ], [ nan, nan, nan], ..., [ 1017.82 , -1011.86 , 1394.75 ], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ nan, nan, nan], [ 751.669, -797.709, -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 760.776, -804.536, -1102.61 ], [ 760.776, -804.536, -1089.18 ], [ 760.776, -804.536, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 769.882, -811.362, -1113.88 ], [ nan, nan, nan], [ 769.882, -811.362, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 769.882, -811.362, 1113.88 ]], ..., [[ 1015.76 , -995.685, -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ 1015.76 , -995.685, 1400.82 ], [ nan, nan, nan]], [[ 1024.87 , -1002.51 , -1429.36 ], [ nan, nan, nan], [ 1024.87 , -1002.51 , -1394.75 ], ..., [ nan, nan, nan], [ 1024.87 , -1002.51 , 1411.95 ], [ nan, nan, nan]], [[ 1033.97 , -1009.34 , -1440.63 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 763.012, -789.24 , -1091.35 ], [ 763.012, -789.24 , -1078.05 ], [ 763.012, -789.24 , -1064.91 ], ..., [ 763.012, -789.24 , 1064.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 772.229, -795.917, -1102.61 ], [ 772.229, -795.917, -1089.18 ], [ 772.229, -795.917, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 781.446, -802.594, -1113.88 ], [ 781.446, -802.594, -1100.31 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ 1030.3 , -982.878, 1383.75 ], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 1039.52 , -989.556, -1394.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 1048.73 , -996.233, -1405.74 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ nan, nan, nan], [ nan, nan, nan], [ 768.784, -781.227, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 768.784, -781.227, 1091.35 ]], [[ 778.037, -787.855, -1102.61 ], [ nan, nan, nan], [ 778.037, -787.855, -1075.91 ], ..., [ 778.037, -787.855, 1075.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 787.289, -794.483, -1113.88 ], [ 787.289, -794.483, -1100.31 ], [ nan, nan, nan], ..., [ 787.289, -794.483, 1086.9 ], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ 1037.1 , -973.432, -1400.82 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 1046.36 , -980.06 , -1411.95 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 1055.61 , -986.688, -1423.08 ], [ 1055.61 , -986.688, -1405.74 ], ..., [ nan, nan, nan], [ 1055.61 , -986.688, 1423.08 ], [ nan, nan, nan]]]]], [[[[[ 554.991, -947.139, -1091.35 ], [ nan, nan, nan], [ 554.991, -947.139, -1064.91 ], ..., [ 554.991, -947.139, 1064.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 562.37 , -955.805, -1102.61 ], [ 562.37 , -955.805, -1089.18 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 569.748, -964.47 , -1086.9 ], ..., [ 569.748, -964.47 , 1086.9 ], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ 768.973, -1198.43 , -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ 768.973, -1198.43 , 1383.75 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 776.352, -1207.1 , -1429.36 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ 776.352, -1207.1 , 1411.95 ], [ 776.352, -1207.1 , 1429.36 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 562.492, -940.717, -1091.35 ], [ 562.492, -940.717, -1078.05 ], [ 562.492, -940.717, -1064.91 ], ..., [ 562.492, -940.717, 1064.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 569.917, -949.343, -1102.61 ], [ 569.917, -949.343, -1089.18 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 577.342, -957.968, -1113.88 ], [ 577.342, -957.968, -1100.31 ], [ 577.342, -957.968, -1086.9 ], ..., [ nan, nan, nan], [ 577.342, -957.968, 1100.31 ], [ 577.342, -957.968, 1113.88 ]], ..., [[ 777.817, -1190.86 , -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 785.242, -1199.49 , 1429.36 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 575.392, -934.886, -1091.35 ], [ 575.392, -934.886, -1078.05 ], [ nan, nan, nan], ..., [ 575.392, -934.886, 1064.91 ], [ 575.392, -934.886, 1078.05 ], [ 575.392, -934.886, 1091.35 ]], [[ 582.957, -943.389, -1102.61 ], [ 582.957, -943.389, -1089.18 ], [ 582.957, -943.389, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 590.521, -951.893, -1113.88 ], [ nan, nan, nan], [ 590.521, -951.893, -1086.9 ], ..., [ 590.521, -951.893, 1086.9 ], [ nan, nan, nan], [ 590.521, -951.893, 1113.88 ]], ..., [[ 794.771, -1181.48 , -1418.1 ], [ nan, nan, nan], [ 794.771, -1181.48 , -1383.75 ], ..., [ 794.771, -1181.48 , 1383.75 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 802.336, -1189.99 , -1429.36 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ 802.336, -1189.99 , 1394.75 ], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 809.901, -1198.49 , -1405.74 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 809.901, -1198.49 , 1440.63 ]]], [[[ 582.752, -928.303, -1091.35 ], [ 582.752, -928.303, -1078.05 ], [ 582.752, -928.303, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 590.362, -936.765, -1102.61 ], [ 590.362, -936.765, -1089.18 ], [ 590.362, -936.765, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 597.973, -945.228, -1113.88 ], [ nan, nan, nan], [ 597.973, -945.228, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ 803.449, -1173.72 , -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 818.669, -1190.65 , -1405.74 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 595.522, -922.194, -1091.35 ], [ 595.522, -922.194, -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 603.27 , -930.531, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 611.017, -938.868, -1113.88 ], [ 611.017, -938.868, -1100.31 ], [ 611.017, -938.868, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ 820.196, -1163.98 , 1383.75 ], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 827.943, -1172.32 , -1411.95 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 602.738, -915.452, -1091.35 ], [ 602.738, -915.452, -1078.05 ], [ 602.738, -915.452, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 610.53 , -923.748, -1102.61 ], [ 610.53 , -923.748, -1089.18 ], [ 610.53 , -923.748, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 618.322, -932.044, -1113.88 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ 828.703, -1156.03 , -1400.82 ], [ nan, nan, nan], ..., [ 828.703, -1156.03 , 1383.75 ], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 836.495, -1164.33 , -1394.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 615.373, -909.068, -1091.35 ], [ nan, nan, nan], [ 615.373, -909.068, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 623.299, -917.235, -1102.61 ], [ 623.299, -917.235, -1089.18 ], [ 623.299, -917.235, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 623.299, -917.235, 1102.61 ]], [[ 631.225, -925.403, -1113.88 ], [ nan, nan, nan], [ 631.225, -925.403, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 845.235, -1145.92 , 1418.1 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 622.441, -902.171, -1091.35 ], [ 622.441, -902.171, -1078.05 ], [ 622.441, -902.171, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 622.441, -902.171, 1091.35 ]], [[ 630.411, -910.296, -1102.61 ], [ 630.411, -910.296, -1089.18 ], [ 630.411, -910.296, -1075.91 ], ..., [ 630.411, -910.296, 1075.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 638.381, -918.421, -1113.88 ], [ 638.381, -918.421, -1100.31 ], [ 638.381, -918.421, -1086.9 ], ..., [ 638.381, -918.421, 1086.9 ], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 861.538, -1145.92 , -1411.95 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 861.538, -1145.92 , 1429.36 ]], [[ nan, nan, nan], [ 869.507, -1154.05 , -1423.08 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 869.507, -1154.05 , 1440.63 ]]]], [[[[ 634.934, -895.514, -1091.35 ], [ 634.934, -895.514, -1078.05 ], [ 634.934, -895.514, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 643.036, -903.508, -1089.18 ], [ 643.036, -903.508, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 651.137, -911.502, -1113.88 ], [ 651.137, -911.502, -1100.31 ], [ 651.137, -911.502, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ 869.877, -1127.33 , -1400.82 ], [ 869.877, -1127.33 , -1383.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 877.978, -1135.33 , -1411.95 ], [ 877.978, -1135.33 , -1394.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 641.851, -888.467, -1091.35 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 641.851, -888.467, 1091.35 ]], [[ 649.995, -896.417, -1102.61 ], [ 649.995, -896.417, -1089.18 ], [ 649.995, -896.417, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 658.139, -904.367, -1100.31 ], [ 658.139, -904.367, -1086.9 ], ..., [ 658.139, -904.367, 1086.9 ], [ 658.139, -904.367, 1100.31 ], [ nan, nan, nan]], ..., [[ 878.031, -1119.02 , -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 654.197, -881.54 , -1091.35 ], [ 654.197, -881.54 , -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 654.197, -881.54 , 1091.35 ]], [[ 662.47 , -889.357, -1102.61 ], [ 662.47 , -889.357, -1089.18 ], [ 662.47 , -889.357, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 670.743, -897.173, -1113.88 ], [ 670.743, -897.173, -1100.31 ], [ 670.743, -897.173, -1086.9 ], ..., [ nan, nan, nan], [ 670.743, -897.173, 1100.31 ], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ 894.109, -1108.21 , -1383.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ 902.382, -1116.03 , 1394.75 ], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 910.655, -1123.85 , -1405.74 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 910.655, -1123.85 , 1440.63 ]]], [[[ nan, nan, nan], [ 660.96 , -874.344, -1078.05 ], [ 660.96 , -874.344, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 669.274, -882.116, -1102.61 ], [ 669.274, -882.116, -1089.18 ], [ 669.274, -882.116, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 677.589, -889.888, -1113.88 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ 677.589, -889.888, 1100.31 ], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 902.082, -1099.73 , 1418.1 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 918.711, -1115.27 , -1440.63 ], [ 918.711, -1115.27 , -1423.08 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]]], [[[[[ 427.452, -1011.12 , -1091.35 ], [ nan, nan, nan], [ 427.452, -1011.12 , -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 433.645, -1020.67 , -1102.61 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ 433.645, -1020.67 , 1089.18 ], [ 433.645, -1020.67 , 1102.61 ]], [[ 439.837, -1030.22 , -1113.88 ], [ 439.837, -1030.22 , -1100.31 ], [ 439.837, -1030.22 , -1086.9 ], ..., [ nan, nan, nan], [ 439.837, -1030.22 , 1100.31 ], [ nan, nan, nan]], ..., [[ 607.032, -1288.05 , -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ 619.417, -1307.15 , 1423.08 ], [ nan, nan, nan]]], [[[ 435.723, -1005.73 , -1091.35 ], [ 435.723, -1005.73 , -1078.05 ], [ 435.723, -1005.73 , -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 441.967, -1015.25 , -1102.61 ], [ nan, nan, nan], [ 441.967, -1015.25 , -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 448.21 , -1024.76 , -1100.31 ], [ 448.21 , -1024.76 , -1086.9 ], ..., [ nan, nan, nan], [ 448.21 , -1024.76 , 1100.31 ], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 616.784, -1281.69 , 1418.1 ]], [[ nan, nan, nan], [ nan, nan, nan], [ 623.027, -1291.21 , -1394.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 629.27 , -1300.72 , -1423.08 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 449.27 , -1001.62 , -1091.35 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 455.668, -1011.03 , -1102.61 ], [ 455.668, -1011.03 , -1089.18 ], [ 455.668, -1011.03 , -1075.91 ], ..., [ 455.668, -1011.03 , 1075.91 ], [ nan, nan, nan], [ 455.668, -1011.03 , 1102.61 ]], [[ 462.066, -1020.45 , -1113.88 ], [ 462.066, -1020.45 , -1100.31 ], [ 462.066, -1020.45 , -1086.9 ], ..., [ 462.066, -1020.45 , 1086.9 ], [ 462.066, -1020.45 , 1100.31 ], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ 634.811, -1274.59 , -1400.82 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ 634.811, -1274.59 , 1418.1 ]], [[ nan, nan, nan], [ 641.209, -1284. , -1411.95 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 647.607, -1293.42 , -1440.63 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 457.422, -996.048, -1091.35 ], [ 457.422, -996.048, -1078.05 ], [ 457.422, -996.048, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 463.871, -1005.43 , -1102.61 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 470.319, -1014.8 , -1113.88 ], [ 470.319, -1014.8 , -1100.31 ], [ 470.319, -1014.8 , -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ 644.422, -1268.02 , 1383.75 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 650.87 , -1277.4 , -1429.36 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 657.319, -1286.78 , -1440.63 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 470.877, -991.646, -1091.35 ], [ nan, nan, nan], [ 470.877, -991.646, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 477.477, -1000.92 , -1102.61 ], [ 477.477, -1000.92 , -1089.18 ], [ 477.477, -1000.92 , -1075.91 ], ..., [ nan, nan, nan], [ 477.477, -1000.92 , 1089.18 ], [ nan, nan, nan]], [[ nan, nan, nan], [ 484.078, -1010.19 , -1100.31 ], [ 484.078, -1010.19 , -1086.9 ], ..., [ nan, nan, nan], [ 484.078, -1010.19 , 1100.31 ], [ 484.078, -1010.19 , 1113.88 ]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ 668.892, -1269.8 , -1411.95 ], [ 668.892, -1269.8 , -1394.75 ], ..., [ nan, nan, nan], [ 668.892, -1269.8 , 1411.95 ], [ nan, nan, nan]], [[ 675.492, -1279.07 , -1440.63 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 478.906, -985.898, -1091.35 ], [ nan, nan, nan], [ 478.906, -985.898, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 485.556, -995.134, -1102.61 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 492.206, -1004.37 , -1113.88 ], [ 492.206, -1004.37 , -1100.31 ], [ 492.206, -1004.37 , -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ 671.758, -1253.75 , -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 492.262, -981.206, -1091.35 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ 492.262, -981.206, 1078.05 ], [ 492.262, -981.206, 1091.35 ]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ 499.062, -990.333, 1089.18 ], [ nan, nan, nan]], [[ 505.862, -999.459, -1113.88 ], [ nan, nan, nan], [ 505.862, -999.459, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 505.862, -999.459, 1113.88 ]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ 689.461, -1245.88 , 1400.82 ], [ 689.461, -1245.88 , 1418.1 ]], [[ nan, nan, nan], [ nan, nan, nan], [ 696.26 , -1255. , -1394.75 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ 703.06 , -1264.13 , -1405.74 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 500.165, -975.285, -1091.35 ], [ 500.165, -975.285, -1078.05 ], [ 500.165, -975.285, -1064.91 ], ..., [ 500.165, -975.285, 1064.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 507.014, -984.375, -1102.61 ], [ 507.014, -984.375, -1089.18 ], [ 507.014, -984.375, -1075.91 ], ..., [ 507.014, -984.375, 1075.91 ], [ nan, nan, nan], [ 507.014, -984.375, 1102.61 ]], [[ 513.863, -993.465, -1113.88 ], [ 513.863, -993.465, -1100.31 ], [ 513.863, -993.465, -1086.9 ], ..., [ 513.863, -993.465, 1086.9 ], [ nan, nan, nan], [ 513.863, -993.465, 1113.88 ]], ..., [[ 698.778, -1238.9 , -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 513.416, -970.305, -1091.35 ], [ 513.416, -970.305, -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 520.413, -979.282, -1102.61 ], [ 520.413, -979.282, -1089.18 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 527.409, -988.259, -1113.88 ], [ 527.409, -988.259, -1100.31 ], [ 527.409, -988.259, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ 716.306, -1230.64 , -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 723.302, -1239.62 , -1429.36 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 730.298, -1248.59 , -1440.63 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]], [[[ 521.189, -964.214, -1091.35 ], [ 521.189, -964.214, -1078.05 ], [ 521.189, -964.214, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 521.189, -964.214, 1091.35 ]], [[ 528.233, -973.153, -1102.61 ], [ 528.233, -973.153, -1089.18 ], [ 528.233, -973.153, -1075.91 ], ..., [ 528.233, -973.153, 1075.91 ], [ nan, nan, nan], [ nan, nan, nan]], [[ 535.277, -982.093, -1113.88 ], [ nan, nan, nan], [ 535.277, -982.093, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ 535.277, -982.093, 1113.88 ]], ..., [[ 725.469, -1223.46 , -1418.1 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 739.557, -1241.34 , -1440.63 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]], [[[[ 534.329, -958.947, -1091.35 ], [ 534.329, -958.947, -1078.05 ], [ 534.329, -958.947, -1064.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 541.518, -967.771, -1102.61 ], [ 541.518, -967.771, -1089.18 ], [ 541.518, -967.771, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 548.708, -976.594, -1113.88 ], [ 548.708, -976.594, -1100.31 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ 742.814, -1214.82 , -1418.1 ], [ 742.814, -1214.82 , -1400.82 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ 750.003, -1223.65 , 1411.95 ], [ nan, nan, nan]], [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ 757.192, -1232.47 , 1423.08 ], [ nan, nan, nan]]], [[[ nan, nan, nan], [ 541.968, -952.689, -1078.05 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ 541.968, -952.689, 1078.05 ], [ nan, nan, nan]], [[ nan, nan, nan], [ 549.204, -961.474, -1089.18 ], [ 549.204, -961.474, -1075.91 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 556.441, -970.258, -1113.88 ], [ 556.441, -970.258, -1100.31 ], [ 556.441, -970.258, -1086.9 ], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], ..., [[ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 759.056, -1216.23 , -1429.36 ], [ nan, nan, nan], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]], [[ 766.292, -1225.01 , -1440.63 ], [ 766.292, -1225.01 , -1423.08 ], [ nan, nan, nan], ..., [ nan, nan, nan], [ nan, nan, nan], [ nan, nan, nan]]]]]]) - segment(segment)int641, 2, ..., 5, 6
Values:
array([1, 2, 3, 4, 5, 6]) - strip(strip)int641, 2, ..., 255, 256
Values:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256]) - wire(wire)int641, 2, ..., 31, 32
Values:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32])
- (module, segment, counter, wire, strip)DataArrayViewbinned data [len=1, len=0, ..., len=0, len=0]
dim='row', content=DataArray( dims=(row: 999999), data=float64[counts], coords={'tof':int64[ns], 'wavelength':float64[Å], 'x_pos':float64[mm], 'y_pos':float64[mm], 'z_pos':float64[mm], 'radius':float64[mm]})
We have removed three event-based coordinates (voxel_x
, voxel_y
, and voxel_z
) and replaced it by a single bin-coordinate, position
. Note how the contents of the bins have changed compared to earlier in this tutorial:
[19]:
# Extra dimensions sliced out for display purposes, sc.show cannot deal with 5-D data
sc.show(
binned_logical['strip', 0]['counter', 0]['segment', 0]['module', :5].transpose()
)
Equipped with the position of every voxel, we can compute the number of neutrons counted per voxel and create a 3-D scatter plot. The “scatter points” correspond to the voxel positions. In this particular case some voxels had no associated neutrons so the computed position is invalid (binned.coords['position']
contains NaN
) and no scatter point is shown:
[20]:
counts_per_voxel = binned_logical.hist()
# The following line selects a subset of voxels based on a stride. This is to keep the size
# of the documentation HTML small. You can comment or remove it to plot all voxels.
counts_per_voxel = counts_per_voxel['counter', 0]['strip', ::4]['wire', ::2]
pp.scatter3d(counts_per_voxel, pos='position', pixel_size=20)
/home/runner/work/scipp/scipp/.tox/docs/lib/python3.10/site-packages/jupyter_client/session.py:721: UserWarning: Message serialization failed with:
Out of range float values are not JSON compliant
Supporting this message is deprecated in jupyter-client 7, please make sure your message is JSON-compliant
content = self.pack(content)
[20]:
We can also inspect an individual component such as a strip:
[21]:
strip_counts = binned_logical['strip', 200].hist()
pp.scatter3d(strip_counts, pos='position', pixel_size=10)
[21]:
Exercise 4#
Above, in Multi-dimensional logical binning, we grouped by voxel (based on 5 distinct logical indices) and then computed voxel positions.
Repeat this without binning by wire, i.e., use only module, segment, counter, and strip.
Compute the resulting mean positions from event positions analogously to before. Alternatively, you can compute these directly from the voxel positions, but note that some voxels have NaN positions, so
nanmean
must be used instead ofmean
.Create a scatter plot as before. This should yield a rough projection onto a cylinder.
Solution#
[22]:
proj = table.group('module', 'segment', 'counter', 'strip')
proj_hist = proj.hist()
proj_hist.coords['proj_pos'] = pos.nanmean('wire')
pp.scatter3d(proj_hist, pos='proj_pos', pixel_size=10, norm='log')
[22]:
Binning with edges and groups combined#
It is also possible to combine binning and grouping. Since strips roughly correspond to scattering angle, a plot against wavelength and strip may be useful.
Exercise 5#
Use group
table
by ‘strip’ and bin by ‘wavelength’.Plot the result.
Solution#
[23]:
binned_strip_wavelength = table.group('strip').bin(wavelength=1000)
binned_strip_wavelength.hist().plot(norm='log')
[23]: