The grey-level run length matrix (GLRLM) gives the size of homogeneous runs for each grey level. This matrix is computed for the 13 different directions in 3D (4 in 2D) and for each of the 11 texture indices derived from this matrix, the 3D value is the average over the 13 directions in 3D (4 in 2D). The element \((i,j)\) of GLRLM corresponds to the number of homogeneous runs of \(j\) voxels with intensity \(i\) in an image and is called \(GLRLM(i,j)\) thereafter.

**vs. pyRadiomic.**

We must highlight that comparisons of results with other software supporting texture analysis should be performed with great care. The calculation of the texture indices resulting from the matrix GLRLM can differ between software. For instance, in pyRadiomics (v1.1.1), after the calculation of the matrix GLRLM and before the extraction of the textural indices, the matrix is cropped (grey-level axis of GLRLMs cropped between minimum and maximum observed grey-levels and run-length axis of GLRLMs cropped to maximum observed run-length). This moves indexes \((i,j)\) of the matrix and thus the values of the resulting textural indices.

In LIFEx, we do not to shift the index so that \(i\) corresponds to grey level \(i\), and \(j\) corresponds to the number of run \(j\) and to comply with the formulations defined below.

**GLRLM_SRE, GLRLM_LRE**, Short-Run Emphasis or Long-Run Emphasis is the distribution of the short or the long homogeneous runs in an image.

\begin{equation}

GLRLM\_SRE=Average~over~13~directions \left(\frac{1}{H} \sum_{i} \sum_{j} \frac{GLRLM(i,j)}{j^{2}} \right)

\end{equation}

\begin{equation}

GLRLM\_LRE=Average~over~13~directions \left(\frac{1}{H} \sum_{i} \sum_{j} GLRLM(i,j)\cdot j^{2} \right)

\end{equation}

where \(H\) corresponds to the number of homogeneous runs in the Volume of Interest.

**GLRLM_LGRE, GLRLM_HGRE**, Low Gray-level Run Emphasis or High Gray-level Run Emphasis is the distribution of the low or high grey-level runs.

\begin{equation}

GLRLM\_LGRE=Average~over~13~directions \left(\frac{1}{H} \sum_{i} \sum_{j} \frac{GLRLM(i,j)}{i^{2}} \right)

\end{equation}

\begin{equation}

GLRLM\_HGRE=Average~over~13~directions \left(\frac{1}{H} \sum_{i} \sum_{j} GLRLM(i,j)\cdot i^{2} \right)

\end{equation}

**GLRLM_SRLGE, GLRLM_SRHGE**, Short-Run Low Gray-level Emphasis or Short-Run High Gray-level Emphasis is the distribution of the short homogeneous runs with low or high grey-levels.

\begin{equation}

GLRLM\_SRLGE=Average~over~13~directions \left( \frac{1}{H} \sum_{i} \sum_{j} \frac{GLRLM(i,j)}{i^{2}\cdot j^{2}} \right)

\end{equation}

\begin{equation}

GLRLM\_SRHGE=Average~over~13~directions \left(\frac{1}{H} \sum_{i} \sum_{j} \frac{GLRLM(i,j)\cdot i^{2}}{j^{2}} \right)

\end{equation}

**GLRLM_LRLGE, GLRLM_LRHGE**, Long-Run Low Gray-level Emphasis or Long-Run High Gray-level Emphasis is the distribution of the long homogeneous runs with low or high grey-levels.

\begin{equation}

GLRLM\_LRLGE=Average~over~13~directions \left(\frac{1}{H} \sum_{i} \sum_{j} \frac{GLRLM(i,j)\cdot j^{2}}{i^{2}} \right)

\end{equation}

\begin{equation}

GLRLM\_LRHGE=Average~over~13~directions \left(\frac{1}{H} \sum_{i} \sum_{j} GLRLM(i,j)\cdot i^{2} \cdot j^{2} \right)

\end{equation}

**GLRLM_GLNUr, GLRLM_RLNU**, Gray-Level Non-Uniformity for run or Run Length Non-Uniformity is the non-uniformity of the grey-levels or the length of the homogeneous runs.

\begin{equation}

GLRLM\_GLNUr=Average~over~13~directions \left(\frac{1}{H} \sum_{i} \left( \sum_{j} GLRLM(i,j)\right) ^{2} \right)

\end{equation}

\begin{equation}

GLRLM\_RLNU=Average~over~13~directions \left(\frac{1}{H} \sum_{j} \left( \sum_{i} GLRLM(i,j)\right) ^{2} \right)

\end{equation}

**GLRLM_RP**, Run Percentage, measures the homogeneity of the homogeneous runs.

\begin{equation}

GLRLM\_RP=Average~over~13~directions \left(\frac{H}{\sum_{i} \sum_{j}(j\cdot GLRLM(i,j))} \right)

\end{equation}