Covariance calculation

This is a brief document describing where we learn how to access how we can calculate and use the covariance and weight properties of the quadtree. More, detailed information how kite calculates the covariance matrix can be found at the module docmentation kite.Covariance.

Accessing the covariance

In this example we will access the covariance attributes of a pre-configured scene.

from kite import Scene
import matplotlib.pyplot as plt

# Assume we have a existing kite.Scene with defined quadtree parametrized
scene = Scene.load('acquila_2016.yml')

ax = plt.gca()
# Inspect the noise data which is used to calculate the covariance
ax.imshow(scene.covariance.noise_data)
plt.show()

# Inspect the focal-point (quick mode) covariance matrix
ax.imshow(scene.covariance.covariance_matrix_focal)

# Inspect the full covariance matrix
ax.imshow(scene.covariance.covariance_matrix)

# Get the full weight matrix
ax.imshow(scene.covariance.weight_matrix)

# Get the covariance and weight between two leafes
leaf_1 = scene.quadtree.leaves[0]
leaf_2 = scene.quadtree.leaves[0]

scene.covariance.getLeafCovariance(leaf_1, leaf_2)
scene.covariance.getLeafWeight(leaf_1, leaf_2)

Inspection and configuration of the covariance

The covariance can be manipulated through spool. More information here Covariance parametrisation.

Manual covariance configuration

The covariance can be manipulated by editing the .yml file. Or by changing the covariance parameters during runtime:

scene.covariance.a = 1.412e-4
scene.covariance.b = 1.2521

# Will show the updated covariance
plt.imshow(scene.covariance.covariance_focal)

# calculate the covariance matrix and save the scene
scene.covariance
scene.save('filename.yml')