# UPDATE | HERMiNe: A neural network for kinetic Mie polarimetry - particle size diagnostics in nanodusty plasmas

**HERMiNe** is a deep neural network for solving the kinetic Mie problem of light, scattered by nanoparticles. The polarization state (depicted as the ellipsometric angles Ψ, Δ) of the scatterd light is used as in-situ diagnostics for the size and refractive index of the nanoparticles.

For the kinetic Mie polarimetry to work, it is necessary for the particles to change in size (eg. via growth or etching process), while the refractive index is assumed to be constant in time. This way, each refractive index gives rise to an unique Δ(Ψ) curve.

The present network is intended to be used with a-C:H particles grown from a reactive Argon-Acytelene plasma as discussed in the article cited below.

Given a time series input of the ellipsometric angles Ψ and Δ, the network predicts the best fitting refractive index n, from which the particle radii can be calculated via Mie theory. The network accepts a (2 × k) matrix as input, where k is the number of data points of the time series. The first row contains the Ψ values, whereas the second row are the Δ values. The network output is a complex scalar, which is the prediction of the refractive index.

**Notice:**

When using the network without the recommended wrapper script (see below), be aware that the imaginary part in the raw output is raised by a factor of 10 for numerical reasons.

A detailed treatise on the theory, network properties and uncertainties can be found in: A neural network approach to kinetic Mie polarimetry for particle size diagnostics in nanodusty plasmas by Schmitz et al. (DOI 10.1088/1361-6463/aceb71).

**Repository data:**

**I) **The network itself is provided as:

- MATALB DAGNetwork format. Requires the MATLAB Deep Learning Toolbox (version 2022a or newer).
- ONNX format for the use with other, open frameworks, such as Pytorch etc.

**II) **Wrapper script for MATLAB

For the MATLAB framework, the wrapper script `'predictN.m' `

is provided to faciliate the operation of the network. It takes two vectors of polarization data as input and returns the refractive index as vector elements. The vectors must be of equal length. Example:

` n = predictN(Psi,Delta);`

% n is the complex refractive index a+i*b

By default, the wrapper script loads the HERMiNe network from the same folder as the script. When making a large number of function calls, it is advantageous to instead pass the net as a function argument. In this case, the network is taken from the workspace and the file loading process is omitet. Example:

` % 'net' is the network's variable name in the workspace`

n = predictN(Psi,Delta,net);

Detailed documentation is also available via the standard Matlab command `'doc predictN'`

**III) **Particle size estimater

The MATLAB script `'getParticleSize.m' `

gives the particle radii of a Psi-Delta curve, given the corresponding complex refractive index and the light's wavelength. The calculation is done as pointwise a best-fit of the input data to the respective reverence curve defined by N. Usage:

` A = getParticleSize(Psi,Delta,N,lambda)`

### Cite

**Citation style:**

### Rights

**Use and reproduction:**

ODbL 1.0 - Open Database License