# Large-Scale Permanent Slide Imaging and Image Analysis for Diatom Morphometrics
## Appendix C  
The Shapiro-Wilk and the Lilliefors (Kolmogorov-Smirnov) normality tests do not support the hypothesis that the symmetrical distribution of transapical axis length is normal (see R output below). R console output:  
```
>shapiro.test(fkergdata$Height, 5000))#->verylowp-value,notnormally distributed
``` ```
```

Shapiro-Wilknormalitytest data:fkergdata$Height, 5000) W=0.99782,p-value=1.589e-06
```  
```
>lillie.test(fkergdata$Height)#verylowp-value,->notnormallydistributed
``` ```
Lilliefors(Kolmogorov-Smirnov)normalitytest data:fkergdata$Height D=0.015253,p-value=1.72e-06
```

## Appendix D

For each MIS we found valves exceeding the size ranges reported before (see Figures 1 and 2). Figure A1: Valve dimensions for different sampling depths; coloured lines depict the convex hull around the corresponding data points. Especially during MIS 5, extremely large valves were found. The dashed rectangle depicts the range of valve sizes previously reported in the literature. ## Appendix E

Modelling apical vs. transapical valve axis length. A third-order polynomial gave the best result regarding R\({}^{2}\), Akaike and Bayesian information criteria (see the green curve in Figure A3). Figure A3: Models of apical vs. transapical valve axis length. The polynomial model of order three (green) gives the lowest value of the Akaike (AIC) and of the Bayesian information criterion (BIC). The polynomial model of order four (brown) does not provide a significant improvement. ## 1 Statistical assessment of polynomial model order one:

R console output:

> ## modelling valve transapical vs. apical length > x <- fkergdataWidth # apical axis lengths > y <- fkergdataHeight # transapical axis lengths > # poly(1) model > lmWidthHeightPolyl = lm(y- x) > summary(lmWidthHeightPolyl) Call: lm(formula = y - x) Residuals: Min 10 Median 30 Max -6.5225 -0.8975 -0.0182 0.8838 4.7325 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 6.4029050 0.0365284 175.29 <2e-16 *** x 0.0762691 0.0009571 79.69 <2e-16 ***... Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1'' 1 Residual standard error: 1.31 on 11857 degrees of freedom Multiple R-squared: 0.3488, Adjusted R-squared: 0.3487 F-statistic: 6350 on 1 and 11857 DF, p-value: <2.2e-16

> anova(lmWidthHeightPolyl) Analysis of Variance Table Response: y Df Sum Sq Mean Sq F value Pr(>F) x 1 10900 10899.5 6349.7 <2.2e-16 *** Residuals 11857 20353 1.7... Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1'1

## 2 Statistical assessment of polynomial model order two:

R console output:

> ## poly(2) model > lmWidthHeightPolyl2 = lm(y- x + I(x^2)) > summary(lmWidthHeightPolyl2) Call: lm(formula = y - x + I(x^2)) Residuals: Min 10 Median 30 Max -4.5560 -0.8131 -0.0312 0.7789 6.0982 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.481e+00 7.707e-02 32.19 <2e-16 *** x 2.765e-01 3.668e-03 75.37 <2e-16 *** I(x^2) -2.260e-03 4.028e-05 -56.11 <2e-16 ***...

Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1'' 1 Residual standard error: 1.165 on 11856 degrees of freedom

Multiple R-squared: 0.4854, Adjusted R-squared: 0.4853

F-statistic: 5592 on 2 and 11856 DF, p-value: <2.2e-16

> anova(lmWidthHeightPoly2)

Analysis of Variance Table

Response: y

Df Sum Sq Mean Sq F value Pr(>F)

x 1 10899.5 10899.5 8035.2 <2.2e-16 ***

I(x^2) 1 4270.5 4270.5 3148.2 <2.2e-16 ***

Residuals 11856 16082.4 1.4

...

Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1'1

## 3 Statistical assessment of polynomial model order three:

R console output:

> # poly(3) model

> lmWidthHeightPoly3 = lm(y- x + I(x^2) + I(x^3))

> summary(lmWidthHeightPoly3)

Call:

lm(formula = y - x + I(x^2) + I(x^3))

Residuals:

Min 10 Median 30 Max

-4.4314 -0.7984 -0.0278 0.7729 4.3329

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 3.553e-01 1.576e-01 2.254 0.0242 *

x 4.350e-01 1.091e-02 39.879 <2e-16 ***

I(x^2) -5.806e-03 2.335e-04 -24.869 <2e-16 ***

I(x^3) 2.372e-05 1.539e-06 15.415 <2e-16 ***

...

Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.'