# Kraken Output Formats

## Output GeoJSON of Detection Algorithms

GeoJSON with a `FeatureCollection`

where each `Feature`

represents an
individual detection. All features have geometry of type `Polygon`

and
`properties`

which are specific to algorithm which this is result of.

`geometry`

of each region is its minimum-area bounding rectangle.

Note

Minimum-area bounding rectangles can have any orientation, i.e. they are
not necessarily aligned with parallels and meridians or the feature’s
`orientation`

property.

Note

Detections are included if their centroid lies in requested area. This removes the need for detection de-duplication when the tiles are aggregated on client side.

```
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"class": "ships",
"area": 7.6,
"count": 1,
"orientation": -28.5,
"aspectRatio": 0.22,
"confidence": 0.95
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[153.12104687732085, -27.388643101636596],
[153.12137530696452, -27.389043532193686],
[153.12076821186633, -27.389436088316238],
[153.12043978372787, -27.389035658966332],
[153.12104687732085, -27.388643101636596]
]
]
}
}
]
}
```

### Object Detection Feature Properties

`area`

– area of detected object in \(m^2\);*always present*.`areaPercentage`

– ratio of the object area and the area of its bounding box;*may be unavailable*.`aspectRatio`

– ratio between longer side and shorter side of the oriented rectangle;*may be unavailable*.`bboxArea`

– area of the object’s bounding box in \(m^2\);*may be unavailable*.`class`

– determines object classification;*always present*.`confidence`

– a number between 0 and 1;*may be unavailable*.`count`

– number of objects represented by the`Feature`

;*always present*.`eccentricity`

- a float number between 0 and 1 (inclusive). It measures region linearity, where 1 means the region has very linear (eccentric) shape (e.g. narrow straight road).*may be unavailable*.`latLonCenter`

– latitude and longitude of the region’s centroid;*may be unavailable*.`max`

– maximum over pixel probabilities of the region;*may be unavailable*.`mean`

– mean of region’s pixel probabilities;*may be unavailable*.`median`

– median of region’s pixel probabilities;*may be unavailable*.`min`

– minimum over pixel probabilities of the region;*may be unavailable*.`orientation`

– angle between y-axis of an image and axis of a detected object given in degrees (counter-clockwise); present only if`count`

is 1;*may be unavailable*.`solidity`

– a float number between 0 and 1 (inclusive). It measures compactness, where 1 means the region has fully convex shape. (e.g. circle);*may be unavailable*.`std`

– standard deviation of region’s pixel probabilities;*may be unavailable*.`shorterSide`

length of shorter side of the oriented rectangle in meters*may be unavailable*.`longerSide`

– length of longer side of the oriented rectangle in meters*may be unavailable*.

## Metadata

Metadata file contains one or more of following parts:
`areasM2`

, `bandStatistics`

, `analysisMetadata`

and `normalizationStd`

depending on Map Type. For imagery and heat maps only
`bandStatistics`

are provided. For segmentation Map Types
`analysisMetadata`

and `areasM2`

are provided. For change
heat maps `bandStatistics`

and `areasM2`

are provided. `normalizationStd`

is only provided in SAR change algorithms that have `adaptiveThreshold`

.

Example of WRUNC Map Type:

```
{
"areasM2":
{
"water": 1161.74,
"roads": 0.0,
"urban": 0.0,
"nonurban": 2857.35,
"clouds": 0.0
},
"analysisMetadata":
{
"sScore": 1.22,
"algoVersion": "148"
}
}
```

### Area of Segmentation and Change Algorithms

Area calculated by segmentation algorithms contains square meters of area covered by each segmentation class.

Area calculated by change algorithms contains the area in square meters of significant change between the subsequent image acquisitions.

Example:

```
{
"areasM2":
{
"water": 1161.74,
"roads": 0.0,
"urban": 0.0,
"nonurban": 2857.35,
"clouds": 0.0
}
}
```

### Statistics for Band Pixel Intensities

Per band statistics computed from band pixel intensities (currently, only
arithmetic mean). Note that mean might not be available if the analyzed area
does not contain any valid data (i.e. `analyzedAreaM2`

is equal to zero).

Example:

```
{
"bandStatistics":
{
"heatmap":
{
"analyzedAreaM2": 932515.2,
"meanHeat": 0.013828165152889
}
}
}
```

`analyzedAreaM2`

- Area of analyzed region in \(m^2\).`meanRadiance`

- Mean flux power per unit of solid angle (see Radiance and Reflectance) computed inside the analyzed area.*Only available for datasets with radiance coefficients.*`meanHeat`

- Arithmetic mean of structural dissimilarity (in range \([0, 1]\)) for change detection or normalized difference index, e.g. NDVI, (in range \([-1,1]\)) computed inside the analyzed area.*Available for all heatmap map types*.

### Analysis Metadata

Analysis Metadata has the following properties:

`sScore`

– s-score is a value between 0 and infinity that indicates suitability of imagery for analysis by the particular algorithm; s-score lower than 1 signifies imagery of superior quality. Values higher than 3.5 indicate imagery of inferior quality and less representative results.`algoVersion`

– version of the algorithm that produced this analysis. Note that each algorithm (potentially on each dataset) is versioned independently.`binarizationMethod`

– method determines process of converting probabilities into predictions. Possible choices are [“bepThreshold”, “argmax”, “argmaxBackground”, “adaptiveThreshold”, “fixedThreshold”].`bepThreshold`

– break even point threshold. Must be in <0, 1> when binarizationMethod is set to “bepThreshold”, not specified otherwise.`adaptiveThreshold`

– thresholding with respect to the scene statistics. Is a multiple of standard deviation. Must be of type`float`

when binarizationMethod is set to “adaptiveThreshold”, not specified otherwise.`fixedThreshold`

– threshold directly specified by value. Used when binarizationMethod is set to “fixedThreshold”, not specified otherwise.`binarized`

– boolean flag indicating if the SKI went through binarization process.

Example:

```
{
"analysisMetadata":
{
"sScore": 1.22,
"algoVersion": "148",
"bepThreshold": 0.55,
"binarizationMethod": "bepThreshold"
}
}
```

### Normalization standard deviation

This metadatum is found only in metadata of SAR change algorithms that use adaptive threshold so that we are able to actually find out the threshold that was used for given analysis. It is mainly useful for tuning of normalization areas for analyses.

Example:

```
{
"normalizationStd": 0.123
}
```

## Segmentation SKI

Segmentation SKI files have a separate band for each detection
class. The bands are named after the classes, for example band with cloud
segmentation is called `clouds`

. Bands are `uint8`

where “1” means that the
particular pixel belongs to the class and “0” means the opposite.

Apart from geo-referencing metadata the SKI may also contain analysis metadata.

## Analysis GeoTIFF

Analysis GeoTIFFs can be used as a standard output of our algorithms. GeoTIFFs are created from our proprietary SKI file format.

## Visualization GeoTIFF

Visualizations are created as colored version of results of our algorithms, GeoTIFFs have 4 (RGBA) or 2 bands (grayscale, alpha) based on input imagery. JPEG lossy compression is used, thus the visualization GeoTIFFS should be used only for viewing purposes, not analytical ones.

## Polygon Statistics

Polygon Statistics file is a JSON with basic statistics computed on geometry per band. All statistics are computed only on valid pixels which are inside the given geometry. Basic statistics comprise of:

pixelCount \(\sum_{t=1}^{N}1\)

valueSum \(\sum_{t=1}^{N}x_{t}\)

errorSquareSum \(\sum_{t=1}^{N} \|x_{t} - x_{mean}\|^2\)