I am trying to compute the pairwise distances between all points in two binary areas/volume/hypervolume in Tensorflow.

E.g. In 2D the areas are defined as binary tensors with ones and zeros:

```
input1 = tf.constant(np.array([[1,0,0], [0,1,0], [0,0,1]))
input2 = tf.constant(np.array([[0,1,0], [0,0,1], [0,1,0]))

```

`input1` has 3 points and `input2` has 2 points.

So far I have managed to convert the binary tensors into arrays of spatial coordinates:

```
coord1 = tf.where(tf.cast(input1, tf.bool))
coord2 = tf.where(tf.cast(input2, tf.bool))

```

Where, coord1 will have `shape=(3,2)` and coord2 will have `shape=(2,2)`. The first dimension refers to the number of points and the second to their spatial coordinates (in this case 2D).

The result that I want is a tensor with `shape=(6, )` with the pairwise Euclidean distances between all of the points in the areas.
Example (the order of the distances might be incorrect): 

```
output = [1, sqrt(5), 1, 1, sqrt(5), 1]

```

Since TensorFlow isn't great with loops and in my real application the number of points in each tensor is unknown, I think I might be missing some linear algebra here.