Commit 42a5e505 authored by Turnhout, M.C. van's avatar Turnhout, M.C. van
Browse files

add some background

parent 2878491b
function [amounts, P, Q, R] = clrdecon(dyes, im)
function [amounts, P, Q, R, RGB, A, K] = clrdecon(dyes, im)
% dyes: 3by2 or 3by3 matrix with a column with RGB values for each dye
if size(dyes, 2) < 3, dyes(3, 3) = 0; end
amounts = zeros(size(im));
P = amounts; Q = P; R = P;
P = amounts; Q = P; R = P; RGB = P;
% dye OD columns: a*k
A = -log( (dyes + 1)/256 ); % add one to avoid taking log(0) (which would be bad)
......@@ -33,12 +33,15 @@ for r = 1:size(im, 1)
% dye contributions: 3 by 1 column
% amounts = inv(K)*Ap
ap = K\Ap; % is faster in Matlab
% ap = subplus(ap) % set negative amounts to zero
amounts(r, c, :) = ap;
% reconstruct pixels RGB contributions
P(r, c, :) = 256*exp(-ap(1)*K(:, 1))-1;
Q(r, c, :) = 256*exp(-ap(2)*K(:, 2))-1;
R(r, c, :) = 256*exp(-ap(3)*K(:, 3))-1;
RGB(r, c, :) = 256*exp(-K*ap)-1;
end
end
......
......@@ -4,17 +4,11 @@ Leonardo da Vinci had already suggested that the eye worked much like a camera o
\end{savequote}
\chapter{Background}\label{background}
\begin{figure}[b!]
\subfloat[\label{colouradd}]{%
\def\svgwidth{0.47\linewidth}\includesvg{../pics/ColourAdd}}\hfill
\subfloat[\label{coloursub}]{%
\def\svgwidth{0.47\linewidth}\includesvg{../pics/ColourSub}}\\
\caption{Colour mixing: the secondary colours of additive mixing are the primary colours for subtractive mixing, vice versa. With \textbf{(a)} additive (RGB, screens, cameras, eye, fluorescence), and \textbf{(b)} subtractive (paint, printing, histology). \label{colourmixing}}
\end{figure}
\section{`RGB'}
\subsection{Pixels}
\subsection{Camera pixels}
Pixels on a camera chip count photons. And pixels do not discriminate between photons of different wavelengths (`colours'): when a photon comes in, it is counted; whether the photon is red, green, blue or black, if it comes in, it is counted.
......@@ -25,4 +19,107 @@ The pixel value, `grey value of a pixel', `pixel intensity', is therefore a dir
\subsection{RGB -pixels}
In a way, there is no such thing a `colour camera'. That is: there are no 'colour pixels'.
In a way, there is no such thing a `colour camera'. That is: there are no 'colour pixels'.
A colour camera uses three of `the same' pixels as a grey-scale camera for `a single pixel' in the (colour) image. The three pixels may be labelled `R', `G', `B', but the pixels themselves still do not discriminate between wavelengths. The camera therefore has to split or filter the light before it can enter the camera so that only `red light' hits the `R' pixel, etc.
A colour camera still records intensity, albeit now in three separated (by wavelength) `channels'. When you separate these channels (by wavelength) in time, you can collect the same data/information/`colour image' with a grey-scale camera: first measure the intensity of only the `red' light (put a filter in front the camera), next measure the intensity of only the `green' light (change filter), and last \dots
Stack those three intensity images in `RGB'-channels and you have the same `colour' image as with a camera that has the filters built in and uses three pixels instead of one pixel thrice.
\subsection{A digital image}
So, a (digital) `RGB'-image contains a stack of three matrices (or a 3D matrix): one for `R', one for `G' and one for `B'. Each entry in a matrix corresponds to a pixel in the image and holds the intensity of light for that `colour': red, green, or blue.
Common house-hold equipment uses a single byte, 8\,bits, per pixel value to store intensity values: 0 to 255. This is because ``[\dots] the dynamic range of [\dots] the eye is a meager 5--7 bits'' \cite{Murphy2012}. `Scientific grade' cameras often use 12\,bits per pixel (0 to 4095), or nowadays even 16\,bits: 0 to 65\,535.
These pixel values are always integers (there is no pixel value `0.5' or `1.3') and always positive (there is no `negative intensity'). The data type of a digital image is thus a `unsigned integer' of one or two bytes.
\section{Colour}
Colour is weird, and frankly: does not exist.
Photons do not have have a colour: there are no `green' photons or `blue photons'. Photons have a certain energy (or a certain `wavelength' in the wave description of light, figure \ref{spectrum}).
\begin{figure}[h]
\def\svgwidth{\linewidth}
\tiny
\includesvg{../pics/visiblespectrum}
\caption{The `visible spectrum' ranges from wavelengths of about 400\,nm to about 700\,nm. Photon energy (white line in the spectrum) is $E = \frac{hc}{\lambda}$with $h=6.63\cdot 10^{-34}$\,Js (Planck's constant), $c \equiv 299\,792\,458$\,m/s (the speed of light, by definition), and $\lambda$: the wavelength of the light.\label{spectrum}}
\end{figure}
In our eyes, we have four variations of light sensitive cells, three variations for `colour vision'. Each variation is most sensitive to a particular and different range of photon energies (or wavelengths, figure \ref{eyeRGB}). When photons with a energy of about $4.42\cdot 10^{-19}$\,J (450\,nm) enter the eye, it is mostly/only one of the variations that responds and we say: `blue'.
\begin{figure}[h]
\center
\includegraphics[width=0.7\linewidth]{../pics/Murphy2012_fig0208.png}\\
\caption{The human eye has variations of light sensitive cells. The three different `cone' cells have peak sensitivities for blue, green and red and form an `RGB'-scheme for colour vision. In the dark, the cone cells do not respond anymore (too little photons) and we get our information from the `rod' cells. These `rod' cells come only in one variation (`rhodopsin'), and thus `colour'. What they lack in wavelength discrimination however, they make up in sensitivity: about $40\times$ as good as that of the `cones'. Figure taken from \cite[figure 2.8]{Murphy2012}.\label{eyeRGB}}
\end{figure}
It was Thomas Young who discovered the variations in `colour'-sensitivity and who discovered how the eye uses an `RGB'-model to see other colours than red, green and blue \cite{Young1801,Young1802}. Our familiar RGB colour model that is used for (digital) images, modern LCD or LED screens and old-fashioned TV's, projectors etc., has come to life to suit / match the working of the (human) eye.
\section{Colour mixing}
When you send sunlight (`white light') through a prism, it will be split into its different `colours': the familiar rainbow. When you take a second prism, you can bring those different colours back in to one beam again, and, as Newton showed us, that gives you back the original white light.
Hence: `white light contains all colours'. And indeed, when the R, G and B channels of a colour pixel of an image have equal intensities, it is white. And when your TV needs to broadcast 'white', it sends out equal amounts of red, green and blue.
Yet, when you mix red, green and blue paint together, you do not get white paint. The difference is that between additive and subtractive colour mixing (figure \ref{colourmixing}).\\
\begin{figure}[h]
\subfloat[\label{colouradd}]{%
\def\svgwidth{0.47\linewidth}\includesvg{../pics/ColourAdd}}\hfill
\subfloat[\label{coloursub}]{%
\def\svgwidth{0.47\linewidth}\includesvg{../pics/ColourSub}}\\
\caption{Colour mixing: the secondary colours of additive mixing are the primary colours for subtractive mixing, vice versa. With \textbf{(a)} additive (RGB, screens, cameras, eye, fluorescence), and \textbf{(b)} subtractive (paint, printing, ink, histology). \label{colourmixing}}
\end{figure}
\noindent Our eyes register intensities, amounts of red, green and blue light, and add these intensities to compose colours: the RGB-model uses additive mixing.
When our eye receives `equal amounts of `red' and `green' light, the `red' and `green' cones are stimulated equally and we perceive `yellow'. And when `yellow' light enters a colour camera, half of it goes to the `red' pixel and half of it to the `green' pixel and we get equal RGB values for R and G (figure \ref{colouradd}).\\
\noindent Paint (pigment, ink, \dots) mixing is subtractive colour mixing. Red paint is not red because it sends out (produces) red light, it is red because it absorbs all light except red. And when you mix a substance that absorbs everything but red with a substance that absorbs everything but green, there is nothing left. The result is not yellow, but 'black' (figure \ref{coloursub}).\\
\noindent So objects that \textsl{emit} light (sun, screens, projectors, fire, \dots) or \textsl{register} light (eyes, cameras) use additive colour mixing; and objects that passively reflect, scatter, absorb or transmit light, use subtractive colour mixing.
\section{Consequences}
The consequence so far is that interpreting RGB values in terms of `amounts of various absorbing pigments' may require some mental gymnastics, particularly when you look at RGB images that were obtained by shining (white) light through a sample.
For starters: twice as much pigment does not mean `twice as high a pixel value', on the contrary. More pigment means more absorption and thus \textsl{less} (transmitted) light. Furthermore, when 10\,\% of the light is absorbed, intensity is 90\,\%, and when 20\,\%, twice as much, light is absorbed intensity is 80\,\%: there is a factor 2, but that is not apparent from (the fraction of) the intensity values.
To investigate the effects of `amounts of pigments' on recorded RGB values, we first have to switch to subtractive colour mixing or `absorption space'. The RGB (nominalized) intensity values for yellow are $y_I = [1 1 0]$. Thus, to produce yellow with a pigment we have remove all light but the blue: the RGB \textsl{absorption} values are $y_A = [0 0 1]$.
In other words: we have to switch from `transmission space' (Intensity, RGB) to `absorption space'.
\section{It gets worse}
It get worse: the relation ship between transmission and absorption is not linear. If a certain amount of pigment absorbs 10\,\% of the light, and I double the amount of pigment, then\dots\ intensity is not $100\,\% - 2\cdot 10\,\% = 80\,\%$, but $(100\,\% - 10\,\%)^2 = 81\,\%$.
\begin{figure}[b!]
\tiny
\def\svgwidth{\linewidth}\includesvg{../pics/taintedglass}
\caption{Decrease of intensity through increasing amounts of tainted sheets of glass is exponential. Each bar represents a sheet of glass of 1\,cm that absorbs 10\,\% of the light and the height and grey value of the bars are scaled with the intensity of the light after the sheet that it represents (i.e.\ the first bar has height and intensity 0.9 because 10\,\% of the light is absorbed by this first sheet). When you make the bars thinner and thinner, you will end up with the blue line $I = 0.9^x$ that describes intensity as function of glass thickness $x$.\label{taintedglass}}
\end{figure}
\noindent Suppose I have sheet of tinted glass that is 1\,cm thick and absorbs 10\,\% of the light. When you shine through this sheet with a laser of 1\,mW, intensity of the light after the sheet is thus 0.9\,mW.
Now add another sheet of 1\,cm (`double the amount of pigment').
This second sheet will also absorb 10\,\% of `the light', but `the light' is now only 0.9\,mW due to the first sheet. So intensity after the second sheet is $1\,\mathrm{mW}\cdot 0.9 \cdot 0.9 = 0.81$\,mW. After the third sheet, intensity is $1\,\mathrm{mW}\cdot 0.9 \cdot 0.9 \cdot 0.9 = 0.73$\,mW; and after the $n$\ap{th} sheet, intensity is (figure \ref{taintedglass}):
\begin{equation}
I_n = I_0\cdot T^n = I_0\cdot (1 -a)^n
\end{equation}
with $T$ the transmission coefficient (0.9 for 10\,\% absorption) and $a$ the absorption coefficient (0.1 for 10\,\% absorption).
Similarly, the transmission through a single sheet that is 2\,cm thick instead of 1\,cm is (also) $0.9/\mathrm{cm} \cdot 0.9/\mathrm{cm} = 0.81$, or: $I = I_0\cdot (1 -a)^x$ with $x$ the thickness of, or the distance in, the tainted glass.
Now, this equation $I = I_0\cdot (1 -a)^x$ can be inconvenient: for one pigment you will have to work $0.9^x$ and for another one with $0.85^x$. It is common practice to write these equations with a common mantissa for the exponent, often e or 10:\footnote{For transmission/absorption 10 is more common, but I prefer e. The `half time' of radio-activity uses 2.}
\begin{equation}
b^x = \mathrm{e}^{x \ln b} = 10^{x \log_{10}b}
\end{equation}
Thus
\begin{equation}
I_n = I_0\cdot \mathrm{e}^{x(1-a)\ln (1-a)} = I_0\cdot \mathrm{e}^{cx}
\end{equation}
With $c = (1-a)\ln (1-a)$ a constant that depends on the `strength' of absorption $a$.
\ No newline at end of file
......@@ -102,4 +102,43 @@ and the public domain program NIH image.},
timestamp = {2014.07.21},
}
@Book{Murphy2012,
title = {{F}undamentals of {L}ight {M}icroscopy and {E}lectronic {I}maging},
publisher = {Wiley-Blackwell},
year = {2012},
author = {Murphy, Douglas B. and Davidson, Michael W.},
edition = {2\ap{nd}},
month = {October},
note = {Artwork available at: \href{https://www.wiley.com/go/murphy/lightmicroscopy}{https://www.wiley.com/go/murphy/lightmicroscopy}},
doi = {10.1002/9781118382905},
owner = {tue},
timestamp = {2014.07.01},
}
@Article{Young1801,
author = {Young, Thomas},
title = {{T}he {B}akerian {L}ecture: {O}n the {M}echanism of the {E}ye},
journal = {Philosophical Transactions of the Royal Society of London},
year = {1801},
volume = {91},
pages = {23--88},
month = {January},
doi = {10.1098/rstl.1801.0004},
owner = {tue},
timestamp = {2014.10.12},
}
@Article{Young1802,
author = {Young, Thomas},
title = {{B}akerian {L}ecture: {O}n the {T}heory of {L}ight and {C}olours},
journal = {Philosophical Transactions of the Royal Society of London},
year = {1802},
volume = {92},
pages = {12--49},
month = {January},
doi = {10.1098/rstl.1802.0004},
owner = {tue},
timestamp = {2014.10.12},
}
@Comment{jabref-meta: databaseType:bibtex;}
clear all; close all
R = zeros(3, 3, 3);
G = R; B = R;
R(:, :, 1) = eye(3);
G(:, :, 2) = eye(3);
B(:, :, 3) = eye(3);
figure
imshow(R)
figure
imshow(G)
figure
imshow(B)
figure
imshow(R+G+B)
\ No newline at end of file
clear all; close all
N = 30; % nummer of windows
a = 0.1; % absorbtion coefficient
figure('defaultlinelinewidth', 2, 'position', [115 482 1000 423])
hold on
for n = 1:N
I = (1-a)^n;
patch([n-1 n n n-1 n-1], [0 0 I I 0], [I I I], 'linestyle', 'none')
end
x = linspace(0, 30, 100);
y = exp(log(0.9)*x);
plot(x, y)
xlabel('thickness\,[cm]')
ylabel('intensity\,[mW]')
\ No newline at end of file
%% Creator: Inkscape inkscape 0.92.5, www.inkscape.org
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
%% Accompanies image file 'taintedglass.pdf' (pdf, eps, ps)
%%
%% To include the image in your LaTeX document, write
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics{<filename>.pdf}
%% To scale the image, write
%% \def\svgwidth{<desired width>}
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics[width=<desired width>]{<filename>.pdf}
%%
%% Images with a different path to the parent latex file can
%% be accessed with the `import' package (which may need to be
%% installed) using
%% \usepackage{import}
%% in the preamble, and then including the image with
%% \import{<path to file>}{<filename>.pdf_tex}
%% Alternatively, one can specify
%% \graphicspath{{<path to file>/}}
%%
%% For more information, please see info/svg-inkscape on CTAN:
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
%%
\begingroup%
\makeatletter%
\providecommand\color[2][]{%
\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
\renewcommand\color[2][]{}%
}%
\providecommand\transparent[1]{%
\errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
\renewcommand\transparent[1]{}%
}%
\providecommand\rotatebox[2]{#2}%
\newcommand*\fsize{\dimexpr\f@size pt\relax}%
\newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}%
\ifx\svgwidth\undefined%
\setlength{\unitlength}{921.94782832bp}%
\ifx\svgscale\undefined%
\relax%
\else%
\setlength{\unitlength}{\unitlength * \real{\svgscale}}%
\fi%
\else%
\setlength{\unitlength}{\svgwidth}%
\fi%
\global\let\svgwidth\undefined%
\global\let\svgscale\undefined%
\makeatother%
\begin{picture}(1,0.41976779)%
\lineheight{1}%
\setlength\tabcolsep{0pt}%
\put(0,0){\includegraphics[width=\unitlength,page=1]{taintedglass.pdf}}%
\put(0.0650906,0.01771467){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 0 \end{tabular}}}}%
\put(0.2163152,0.01771467){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 5 \end{tabular}}}}%
\put(0.36144203,0.01771467){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 10 \end{tabular}}}}%
\put(0.51266663,0.01771467){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 15 \end{tabular}}}}%
\put(0.66389122,0.01771467){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 20 \end{tabular}}}}%
\put(0.81511582,0.01771467){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 25 \end{tabular}}}}%
\put(0.96634041,0.01771467){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 30 \end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=2]{taintedglass.pdf}}%
\put(0.04882075,0.03019043){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 0 \end{tabular}}}}%
\put(0.03052745,0.10656785){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 0.2 \end{tabular}}}}%
\put(0.03052745,0.18294528){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 0.4 \end{tabular}}}}%
\put(0.03052745,0.2593227){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 0.6 \end{tabular}}}}%
\put(0.03052745,0.33570012){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 0.8 \end{tabular}}}}%
\put(0.04882075,0.41207755){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 1 \end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=3]{taintedglass.pdf}}%
\put(0.45168897,0.00036011){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} thickness\,[cm] \end{tabular}}}}%
\put(0.02036451,0.18805186){\rotatebox{90}{\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} intensity\,[mW] \end{tabular}}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=4]{taintedglass.pdf}}%
\end{picture}%
\endgroup%
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 576 432"
height="432pt"
width="576pt"
version="1.1"
id="svg173"
sodipodi:docname="taintedglass.svg"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
<metadata
id="metadata177">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>gl2ps_renderer figure</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1006"
id="namedview175"
showgrid="false"
inkscape:zoom="0.81944444"
inkscape:cx="97.57913"
inkscape:cy="181.95826"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1"
inkscape:current-layer="svg173" />
<title
id="title2">gl2ps_renderer figure</title>
<desc
id="desc4">
Creator: GL2PS 1.4.0, (C) 1999-2017 C. Geuzaine
For: Octave
CreationDate: Sun Sep 27 17:39:08 2020
</desc>
<defs
id="defs6">
<clipPath
id="cp00576432">
<polygon
id="polygon12"
points="576,432 576,0 0,0 0,432 " />
</clipPath>
</defs>
<g
id="g169"
clip-path="url(#cp00576432)"
transform="matrix(1.8739407,0,0,1,-503.38983,0)">
<polygon
style="fill:#ffffff;shape-rendering:crispEdges"
id="polygon15"
points="74.88,32.4 74.88,384.48 521.28,384.48 521.28,32.4 " />
<polyline
style="fill:none;stroke:#262626;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter"
id="polyline17"
points="74.88,384.48 74.88,380.015" />
<polyline
style="fill:none;stroke:#262626;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter"
id="polyline19"
points="149.28,384.48 149.28,380.015" />
<polyline
style="fill:none;stroke:#262626;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter"
id="polyline21"
points="223.68,384.48 223.68,380.015" />
<polyline
style="fill:none;stroke:#262626;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter"
id="polyline23"
points="298.08,384.48 298.08,380.015" />
<polyline
style="fill:none;stroke:#262626;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter"
id="polyline25"
points="372.48,384.48 372.48,380.015" />
<polyline
style="fill:none;stroke:#262626;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter"
id="polyline27"
points="446.88,384.48 446.88,380.015" />
<polyline
style="fill:none;stroke:#262626;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter"
id="polyline29"
points="521.28,384.48 521.28,380.015" />
<text
style="font-style:normal;font-weight:normal;font-size:10px;font-family:FreeSans"
id="text33"
transform="translate(71.88,399.982)"
font-size="10"
font-weight="normal"
xml:space="preserve"
font-style="normal"> <tspan
style="fill:#262626"
id="tspan31"
x="0"
y="0">0</tspan> </text>
<text
style="font-style:normal;font-weight:normal;font-size:10px;font-family:FreeSans"
id="text37"
transform="translate(146.28,399.982)"
font-size="10"
font-weight="normal"
xml:space="preserve"
font-style="normal"> <tspan
style="fill:#262626"
id="tspan35"
x="0"
y="0">5</tspan> </text>
<text
style="font-style:normal;font-weight:normal;font-size:10px;font-family:FreeSans"
id="text41"
transform="translate(217.68,399.982)"
font-size="10"
font-weight="normal"
xml:space="preserve"
font-style="normal"> <tspan
style="fill:#262626"
id="tspan39"
x="0 6"
y="0">10</tspan> </text>
<text
style="font-style:normal;font-weight:normal;font-size:10px;font-family:FreeSans"
id="text45"
transform="translate(292.08,399.982)"
font-size="10"
font-weight="normal"
xml:space="preserve"
font-style="normal"> <tspan
style="fill:#262626"
id="tspan43"
x="0 6"
y="0">15</tspan> </text>
<text
style="font-style:normal;font-weight:normal;font-size:10px;font-family:FreeSans"
id="text49"
transform="translate(366.48,399.982)"
font-size="10"
font-weight="normal"
xml:space="preserve"
font-style="normal"> <tspan
style="fill:#262626"
id="tspan47"
x="0 6"
y="0">20</tspan> </text>
<text
style="font-style:normal;font-weight:normal;font-size:10px;font-family:FreeSans"
id="text53"
transform="translate(440.88,399.982)"
font-size="10"
font-weight="normal"
xml:space="preserve"
font-style="normal"> <tspan
style="fill:#262626"
id="tspan51"
x="0 6"
y="0">25</tspan> </text>
<text
style="font-style:normal;font-weight:normal;font-size:10px;font-family:FreeSans"
id="text57"
transform="translate(515.28,399.982)"
font-size="10"
font-weight="normal"
xml:space="preserve"
font-style="normal"> <tspan
style="fill:#262626"
id="tspan55"
x="0 6"
y="0">30</tspan> </text>
<polyline
style="fill:none;stroke:#262626;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter"
id="polyline59"
points="74.88,384.48 79.348,384.48" />
<polyline
style="fill:none;stroke:#262626;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter"
id="polyline61"
points="74.88,314.064 79.348,314.064" />
<polyline
style="fill:none;stroke:#262626;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter"
id="polyline63"
points="74.88,243.648 79.348,243.648" />
<polyline
style="fill:none;stroke:#262626;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter"
id="polyline65"
points="74.88,173.232 79.348,173.232" />
<polyline
style="fill:none;stroke:#262626;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter"
id="polyline67"
points="74.88,102.816 79.348,102.816" />
<polyline
style="fill:none;stroke:#262626;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter"
id="polyline69"
points="74.88,32.4 79.348,32.4" />
<text
style="font-style:normal;font-weight:normal;font-size:10px;font-family:FreeSans"
id="text73"
transform="translate(63.8755,388.48)"
font-size="10"
font-weight="normal"
xml:space="preserve"
font-style="normal"> <tspan
style="fill:#262626"
id="tspan71"
x="0"
y="0">0</tspan> </text>
<text
style="font-style:normal;font-weight:normal;font-size:10px;font-family:FreeSans"
id="text77"
transform="translate(54.8755,318.064)"
font-size="10"
font-weight="normal"
xml:space="preserve"
font-style="normal"> <tspan
style="fill:#262626"
id="tspan75"
x="0 6 9"
y="0">0.2</tspan> </text>
<text
style="font-style:normal;font-weight:normal;font-size:10px;font-family:FreeSans"
id="text81"
transform="translate(54.8755,247.648)"
font-size="10"
font-weight="normal"
xml:space="preserve"
font-style="normal"> <tspan
style="fill:#262626"
id="tspan79"
x="0 6 9"
y="0">0.4</tspan> </text>
<text
style="font-style:normal;font-weight:normal;font-size:10px;font-family:FreeSans"
id="text85"
transform="translate(54.8755,177.232)"
font-size="10"
font-weight="normal"
xml:space="preserve"
font-style="normal"> <tspan
style="fill:#262626"
id="tspan83"
x="0 6 9"
y="0">0.6</tspan> </text>
<text
style="font-style:normal;font-weight:normal;font-size:10px;font-family:FreeSans"
id="text89"
transform="translate(54.8755,106.816)"
font-size="10"
font-weight="normal"
xml:space="preserve"
font-style="normal"> <tspan
style="fill:#262626"
id="tspan87"
x="0 6 9"
y="0">0.8</tspan> </text>
<text
style="font-style:normal;font-weight:normal;font-size:10px;font-family:FreeSans"
id="text93"
transform="translate(63.8755,36.4)"
font-size="10"
font-weight="normal"
xml:space="preserve"
font-style="normal"> <tspan
style="fill:#262626"
id="tspan91"
x="0"
y="0">1</tspan> </text>
<polyline
style="fill:none;stroke:#262626;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:16, 0"
id="polyline95"
points="74.88,384.48 521.28,384.48" />
<polyline
style="fill:none;stroke:#262626;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:16, 0"
id="polyline97"
points="74.88,384.48 74.88,32.4" />
<text
style="font-style:normal;font-weight:normal;font-size:11px;font-family:FreeSans"
id="text101"
transform="translate(262.08,415.982)"
font-size="11"
font-weight="normal"
xml:space="preserve"
font-style="normal"> <tspan
style="fill:#262626"
id="tspan99"
x="0 3 9 11 17 23 29 35 40 45 48 51 54 60 69"
y="-2">thickness\,[cm]</tspan> </text>
<text
style="font-style:normal;font-weight:normal;font-size:11px;font-family:FreeSans"
id="text105"
transform="rotate(-90,146.40775,96.53225)"