# Descriptors

In this document, you will find a short description of all the descriptors in Breeze.

**Classification of categories**

##### Description

Classifies object into categories using one of the following models:

**PLS-DA****SMICA****Machine Learning****Curve Separation**

##### Parameters

###### Model

Select the model created for the classification of the samples.'

###### Classification type

**Object average spectrum**Classifies the object by taking the average spectrum from all pixels included in the object.

**Pixel class majority**Classifies the object by the majority of the pixels in the object.

###### Pixel prediction

**True**Includes prediction of each pixel and visualization of the pixel prediction on the object.

**False**Do not include the prediction or visualization

###### Weights

Only when Pixel class majority are selected

Decides the importance of the pixels for the classification using pixel class majority.

**Quantification of properties**

##### Description

Quantification of properties in a sample using one of the following quantification models:

**PLS****Machine Learning**

##### Parameters

###### Model

Choose a user-created quantification model.

###### Property

Choose which property from the quantification model to visualize in the table view.

###### Smooth

**None**No Smoothing prediction.

**Low**Smoothing using median filter kernel with 5x5 pixel box

**Medium**Smoothing using median filter kernel with 10x10 pixel box

**High**Smoothing using median filter kernel with 15x15 pixel box

**Classification of categories using expression**

##### Description

Use expressions to calculate properties of individual classes in a category.

The last Expression can be `true`

which will imply that the last expression will always be assigned if all above evaluates as false

##### Parameters

###### Category

Choose which classification category to use.

###### Expression

The expressions are applied in order top-down

Choose a class from the category and write the expression for it.

The operators that can be used:

And -

`&`

Or -

`|`

Less than -

`<`

Less or equal -

`<=`

Larger than -

`>`

Larger or equal -

`>=`

Different from

`!=`

The parameters that can be used:

`Area`

`Length`

`Width`

`Circumference`

`Regularity`

`Roundness`

`Angle`

`D1`

`D2`

`X`

`Y`

`MaxBorderDistance`

`BoundingBoxArea`

###### Pretreatments

Select any pretreatments to apply to the spectrum prior to expression evaluation, see Pretreatments

**Update classification of categories using expression**

##### Description

Update or add custom-created classes. The update or new class will be assigned if the expression is satisfied.

The last Expression can be `true`

which will imply that the last expression will always be assigned if all above evaluates as false

##### Parameters

###### Classification descriptor

Choose the classification descriptor to modify.

###### Expression

Choose a class from the category and write the expression for it.

The operators that can be used:

And -

`&`

Or -

`|`

Less than -

`<`

Less or equal -

`<=`

Larger than -

`>`

Larger or equal -

`>=`

Different from

`!=`

The parameters that can be used:

`Area`

`Length`

`Width`

`Circumference`

`Regularity`

`Roundness`

`Angle`

`D1`

`D2`

`X`

`Y`

`MaxBorderDistance`

`BoundingBoxArea`

###### Pretreatments

Apply one or more pretreatments to spectrum, see Pretreatments

##### Example

###### Example Spatial descriptor

**Expression: **

`roundness < 10 & area >5`

###### Example Bands

**Expression:**

`(b10 >1.5 | b15 < 2) & b20 <= 1.2`

###### Example Number

**Expression:**

`[class A][ number > 10]`

-> Number of pixels of Class A more than 10

`[class B][ precentClassA <= 10]`

-> Number of pixels of Class A less or equal to 10

###### Example Percent

**Expression:**

`[class A][ percent > 0.5]`

-> percent of pixels of Class A more than 50%

`[class B][ precentClassA <= 0.5]`

-> percent of pixels of Class A less or equal to 50%

###### Example Connected

**Expression:**

`[class A][ connected > 10]`

-> Number of connected pixels of Class A more than 10

`[class B][ connectedClassA <= 10]`

-> Number of connected pixels of Class A less or equal to 10

###### Example: Wire detection

**Syntax: **

`iswire + kernel size`

, default is 3.

**Expression:**

`iswire, iswire3, iswire5`

###### Example Variables

For assigning variables values that can be updated in Breeze Runtime. The default value will be restored after each play run.

**Syntax: **

`var("Variable name", Default value)`

**Expression: **

`var("Variable A", 10)`

**Area of subsamples by a given class**

##### Description

Calculate the area of the given class in a sub-sample.

##### Parameters

###### ID

Select the ID of the subsample.

###### Class

Select the class corresponding to the selected ID.

###### Percent

**True**Represents the result in percent.

**False**Do not represent the result in percent.

**Combine properties, categories and descriptors using expression**

##### Description

Combine properties, categories, or descriptors using expression to calculate new properties and display them in the table view. The descriptor needs to be located at the same level in the Analyse Tree as the properties, categories, or descriptors that are supposed to be calculated.

##### Parameters

###### Expression

Write the expression for which properties to combine.

The spatial parameters that can be used:

`Area`

`Length`

`Width`

`Circumference`

`Regularity`

`Roundness`

`Angle`

`D1`

`D2`

`X`

`Y`

`MaxBorderDistance`

`BoundingBoxArea`

You can also use descriptors such as classification or quantification models. To make sure that no conflict is created always use an alias on the descriptors you want to use.

User-defined categories or properties using “Add Variable Id” can also be used just to write the header of the categories/properties.

Other expressions that can be used are bands or wavelengths to create you can find examples of them in the example section.

###### Type

**Object**Applies the expression on objects.

**Pixel**Applies the expression on individual pixels.

###### Smooth

**None**No Smoothing prediction.

**Low**Smoothing using median filter kernel with 5x5 pixel box

**Medium**Smoothing using median filter kernel with 10x10 pixel box

**High**Smoothing using median filter kernel with 15x15 pixel box

##### Examples

###### Example Properties

**Expression: **

`(property1 + property2) * property3`

###### Example Spatial descriptor

**Expression:**

`circumference / area`

`(y / length) + (x / width)`

###### Example Band

**Expression:**

`(b10 + 1.5)/ b15`

###### Example Wavelength

**Expression: **

`(w980 + 1.5) / w1024 `

**Constrained Spectral Unmixing**

##### Description

Use the spectral information from pure samples imported as end members to gain information about the objects and display them in the table view

##### Parameters

###### Type

Choose to use constrained spectral unmixing for quantification or classification.

###### Method

Use one of the following regression methods to compare the end member spectrum to the measurements:

**None Negative Least Squares****Sum To One Least Squares**

###### Scatter correction

**None**No scatter correction applied.

**Baseline**A constant scatter correction is applied.

**Slope**A linear scatter correction is applied.

**Parabola**A quadratic scatter correction is applied.

###### Expression (Optional)

To include extra expression.

###### Property

**Baseline**Use the end member as the property and depict the result in the table view.

**R2**Shows the R” value in the table view

**Expression**Shows the expression stated in the “Expression (Optional)” in the table view.

###### Range

Write in the wavelength range to use. If left empty all wavelengths are included.

###### End Members

Select files containing End members for each pure sample.

###### Smooth

**None**No Smoothing prediction.

**Low**Smoothing using median filter kernel with 5x5 pixel box

**Medium**Smoothing using median filter kernel with 10x10 pixel box

**High**Smoothing using median filter kernel with 15x15 pixel box

## Distribution of subsamples

##### Description

Calculates the distribution of the subsamples in the measurement.

##### Parameters

###### Grid

State the grid size in columns x rows

###### Output

**Distribution**Calculates the distribution of subsamples in each grid and depending on if each grid contains the same amount of subsamples the value displayed in the table view is 100.

**Balance**Calculates the balance of the subsample.

Ex: The matrix below represents the subsample. The balance value in the table would be 100 since the matrix is balanced.

**Direction**Determines the direction of the subsample with respect to the concentration of the subsample.

## Distribution statistics of pixels(quantification of properties)

##### Description

Calculate distribution statistics of quantification models.

##### Parameters

###### Model

Choose which quantification model to use.

###### Property

Select the property corresponding to the quantification model you want to analyze.

###### Grid

State the grid in columns x rows.

###### Output

**Distribution**Calculates the distribution of subsamples in each grid and depending on if each grid contains the same amount of subsamples the value displayed in the table view is 100.

**Balance**Calculates the balance of the subsample.

Ex: The matrix below represents the subsample. The balance value in the table would be 100 since the matrix is balanced.

**Direction**Determines the direction of the subsample with respect to the concentration of the subsample.

## Metadata from measurement

##### Description

Displays metadata in the table view.

##### Parameters

Choose which one of the following metadata to display in the table view:

`Frames`

`Max signal`

`Frame rate`

`Wavelength`

`Integration time`

`Length`

`Pixels per line`

`Field of view`

`Resolution`

`Speed`

`Dropped frames`

`File Size`

## Number of pixels by given class

##### Description

Calculate the number of pixels from a selected class in the objects.

##### Parameters

###### Model

Choose which classification model to use.

###### Class

Choose which class to look at.

###### Percent

**True**Show the number of pixels from the selected

**False**Show the number of pixels.

###### Connected

**True**Show the number of connected pixels from the class in the object.

**False**Show all of the pixels connected to the class in the object.

## Number of subsamples

##### Description

Counts the number of samples in the measurement at different depths of the analyze tree. The result is displayed in the table view.

##### Parameters

###### Depth

State at which level of the analyze tree the calculation should occur.

## Number of subsamples by a given class

##### Description

Counts the number of objects in a given class from a specified subsample.

##### Parameters

###### Id

Select Id of the subsample.

###### Class

Select the class corresponding to the selected Id.

###### Percent

**True**Represents the result in percent.

**False**Do not represent the result in percent.

## Python script

##### Description

Include an external python file.

See Python script for more information.

##### Parameters

###### Python file

Select the python file.

###### Type

**Object**Applies the python file content on the objects.

**Pixels**Applies the python file content on the pixels.

## Row- or column-major order index

##### Description

Create an index for row-major or column-major order when objects are arranged in a grid. The descriptor values are sort-able in the table view

##### Parameters

###### Max difference (0-100%)

Max difference between largest and smallest grid allowed.

###### Output

**Row-major order**

1 | 2 | 3 |

4 | 5 | 6 |

7 | 8 | 9 |

**Column-major order**

1 | 4 | 7 |

2 | 5 | 8 |

3 | 6 | 9 |

**Row**

1 | 1 | 1 |

2 | 2 | 2 |

3 | 3 | 3 |

**Column**

1 | 2 | 3 |

1 | 2 | 3 |

1 | 2 | 3 |

## Saturated pixels

##### Description

Show the saturation for each pixel in the table view and the value corresponding to the pixel with the highest saturation value.

##### Parameters

###### Type

**Raw****Reflectance**

###### Smooth

**None -**No Smoothing prediction.**Low -**Smoothing using median filter kernel with 5x5 pixel box**Medium -**Smoothing using median filter kernel with 10x10 pixel box**High -**Smoothing using median filter kernel with 15x15 pixel box

###### Output

**Max****Percent**

## Segmentation label

##### Description

Using the text file containing the names of the objects a machine learning model has been trained on categorizing the detected objects from the names in the text file. Should be used in connection with the Segmentations | Deep-Learning-image-segmentation.

See ONNX image segmentation for more information on creating and applying Deep Learning image segmentation.

##### Parameters

###### File

Select the file containing the names of the objects in the machine learning model used for the “Machine learning image segmentation”.

###### Output

**Value**The label name of the detected objects.

**Confidence**The confidence value the model has on the detected objects.

## Spatial values from sample

##### Description

Calculate the spatial value from samples in mm or by pixels for some predetermine spatial output.

##### Parameters

###### SI Units

**True**Calculates the selected output in

**SI Type**using the camera field of view as reference. (See below)

**False**Calculate the selected output and state the result in pixels.

###### SI Type

Only applicable when **SI Units** is **True**

**Mm**Calculates the selected output in mm using the camera field of view as reference.

**Meter (m)**Same as calculation as above, displayed in meter(s)

**Feet (ft)**Same as calculation as for mm, displayed in feets

**Inches (“)**Same as calculation as for mm, displayed in inches

###### Output

The different outputs that can be calculated are:

`Area`

`Length`

`Width`

`Circumference`

`Regularity`

`Roundness`

`Angle`

`D1`

`D2`

`X`

`Y`

`MaxBorderDistance`

`BoundingBoxArea`

## Spectral angle mapper (SAM) classification

##### Description

Use spectral angle maps for object classification. See Spectral angle mapper (SAM) guide for more information. Also see Create end members on how to create your own spectral library.

##### Parameters

###### Regions

Write in the wavelength range to use. If left empty all wavelengths are included.

###### Example

`460:600;660:800`

This will include all wavelengths from `w460`

to `w600`

and from `w660`

to `w800`

###### End Members

Select files containing End members for each pure sample.

###### Threshold

Write the threshold angle in radians. The angle is the difference between the end member angle and the angle from the spectrum in each pixel.

###### Weights

Weights for the importance of the pixels in the objects. The higher the value the more importance they have.

###### Example

`1,2,4`

This means that the first pixels at the border have 1/4 of the importance of the pixels in the middle of the objects.

###### Pretreatments

Apply one or more pretreatments to spectrum, see Pretreatments

###### Smooth

**None**No Smoothing prediction.

**Low**Smoothing using median filter kernel with 5x5 pixel box

**Medium**Smoothing using median filter kernel with 10x10 pixel box

**High**Smoothing using median filter kernel with 15x15 pixel box

###### Output

**Type****Value**This shows the calculated value in the table view.

## Summary of subsamples

##### Description

Subsample are summarized and displayed in the table view.

##### Parameters

###### Id

Select Id for the subsample.

###### Summary

**SUM**Calculates the sum of each object in the subsample set.

**AVERAGE**Calculates the average of the subsample set.

**MIN**Displays the minimum value of the subsample set.

**MAX**Displays the maximum value of the subsample set.

###### Percent

**True**Represents the result in percent.

**False**Do not represent the result in percent.

## Summary statistics of pixels (quantification of properties)

##### Description

Summaries the pixel statistics of the objects.

##### Parameters

###### Model

Choose a quantification model.

###### Property

Choose property.

###### Output:

**Average**Make an average of the pixels in the objects.

**Min**Displays the lowest pixel value.

**Max**Displays the highest pixel value.

**Std**Standard deviation of all pixel values in the object.

## Unique measurement or sample ID

##### Description

Displays the Id of the selected output in the table view.

##### Parameters

###### Output

**Measurement ID**Displays the measurement ID.

**Sample ID**Displays the sample ID.

**Parent ID**Displays the parent ID

## USGS PRISM MICA classification

##### Description

Use the USGS library to classify the pixels in the images.

##### Parameters

###### MICA File

Select up to 5 MICA mcf files

###### Threshold

Minimum score value required for classification of specific class

###### Rule images

TODO

###### Smooth

**None**No Smoothing prediction.

**Low**Smoothing using median filter kernel with 5x5 pixel box

**Medium**Smoothing using median filter kernel with 10x10 pixel box

**High**Smoothing using median filter kernel with 15x15 pixel box

###### Output

**Type**Depicts the classified pixels in the table view.

**Depth**Depicts how certain the model is in its classification. Values are between (0 - 1).

## Vegetation index

##### Description

Determine the vegetation index by one of several predetermined equations.

##### Parameters

###### Name & Expression

**NDVI**`(w800 - w680) / (w800 + w680)`

**NDVI705**`(w750 - w705) / (w750 + w705)`

**VOG1**`w740 / w720`

**VOG2**`(w734 - w747) / (w715 + w726)`

**VOG3**`(w734 - w747) / (w715 + w720)`

**SR**`w800 / w680`

**EVI**`2.5 * (w800 - w680) / (w800 + 6* w680 - 7.5*w450 +1)`

**WBI**`w900 / w970`

**VARI**`(w550 - w680) / (w550 + w680 - w450)`

**VIgreen**`(w550 - w680) / (w550 + w680)`

**PSSR**`w800 / w675`

**PSRI**`(w680 - w500) / w750`

**CARI**`(w700 - w670) - 0.2*(w700 - w550)`

**MCARI**`(w700 - w670) - 0.2 * (w700 - w550) * (w700 / w670)`

**CRI1**`1/w510 - 1/w550`

**CRI2**`1/w510 - 1/w700`

**ARI1**`1/w550 - 1/w700`

**ARI2**`w800 * (1/w510 - 1/w550)`

**SIPI**`(w800 - w445) / (w800 - w680)`

**PRI**`(w531 - w570) / (w531 + w570)`

**RVSI**`(w714 + w752)/2 - w733`

**NDWI**`(w857 - w1241) / (w857 + w1241)`

**NDWI**`(log(1/w1510) - log(1/w1680)) / (log(1/w1510) + log(1/w1680))`

**NDLI**`(log(1/w1754) - log(1/w1680)) / (log(1/w1754) + log(1/w1680))`

**NDII**`(w819 - w1649) / (w819 + w1649)`

**MSI**`w1599 / w819`

**CAI**`0.5*(w2000 + w2200) - w2100`

**PPR**`(w550 - w450) / (w550 + w450)`

**SAVI**`5*((w800 - w670) / (w800 + w670 + 0.5))`

**ARVI**`w810 - (2*w680 - w480) / w810 + ( 2*w680 - w480)`

**OSAVI**`1.16*((w800 - w670) / (w800 + w670 + 0.16))`

###### Smooth

**None**No Smoothing prediction.

**Low**Smoothing using median filter kernel with 5x5 pixel box

**Medium**Smoothing using median filter kernel with 10x10 pixel box

**High**Smoothing using median filter kernel with 15x15 pixel box

## White and dark reference values

##### Description

Choose a reference(dark or white) and display the selected output in the table view.

##### Parameters

###### Reference type

Select dark or white reference.

###### Output

**Min**Displays the minimum value of the selected reference type.

**Mean**Calculates the mean of the selected reference type.

**Median**Calculates the median of the selected reference type.

**Max**Displays the maximum value of the selected reference type.

**Std**Calculates the standard variation of the selected reference type.

**Stderr**Calculates the standard error of the selected reference type.