Starting with BlenSor 1.0.18 RC3 the scans can be saved in a format readable by numpy.loadtxt. This makes it very easy to process scans via python.

To save a scan in numpy format select "Save to File" in the scanner menu.

To select the numpy format use **.numpy** as the file extension, or **.numpy.gz** to save it as a compressed numpy file.

To import the data into python simply use the numpy.loadtxt method.

As of BlenSor 1.0.18 RC3 the columns in the array are as follows:

```
timestamp
yaw, pitch
distance,distance_noise
x,y,z
x_noise,y_noise,z_noise
object_id
255*color[0]
255*color[1]
255*color[2]
idx
```

Below is an example, that reads a scan and filters the points based on the distance along the Y-coordinate

```
import numpy as np
scan = np.loadtxt("/tmp/data/samplescan00000.numpy")
print ("Points {0} / Values per point {1}".format(
scan.shape[0],
scan.shape[1]))
#Filter all points with a distance along the z coordinate greater than 3.98
filtered = scan[scan[:,7] > -3.98]
print ("Points {0} / Values per point {1}".format(
filtered.shape[0],
filtered.shape[1]))
"""Output:
Points 6952 / Values per point 16
Points 3508 / Values per point 16
"""
```