Skip to content
Snippets Groups Projects
Commit 4b086f2b authored by Vojtěch Moravec's avatar Vojtěch Moravec
Browse files

Plotting.

parent 4c6f7c48
No related branches found
No related tags found
No related merge requests found
......@@ -33,6 +33,23 @@ Level_6;ZOrder;AverageCompressionRation
LLC Emerald 1.71823
16 Bit Z Stack 1.88627
-----------------------------------------------
Level_6;DifferenceNormal_VS_ZOrder
GZIP
Artemia 105.95400
Artemia Flash 109.29308
LLC Emerald 101.46799
16 Bit Z Stack 101.15722
LZMA
Artemia 103.48855
Artemia Flash 104.98964
LLC Emerald 102.23146
16 Bit Z Stack 101.92729
BZIP2
Artemia 99.84425
Artemia Flash 100.77455
LLC Emerald 99.89707
16 Bit Z Stack 98.90801
-----------------------------------------------
Level_6;NormalOrder;BitsPerPixel
GZIP
Artemia 5.99774
......
SELECT subblock, compressionRatio, compressionRatioZ
FROM LlcEmeralCherry
WHERE compression = 'BZIP2' AND level = 6
-- SELECT subblock, compressionRatio, compressionRatioZ
-- FROM LlcEmeralCherry
-- WHERE compression = 'GZIP' AND level = 6
/*
SELECT * FROM
(
SELECT ROUND(AVG(originalSize/1000000.0) / (compressionTimeZ/1000.0),5)
SELECT ROUND((AVG(compressionRatioZ) / AVG(compressionRatio))*100.0,5)
FROM ArtemiaZSect
WHERE compression = 'GZIP' AND level = 6
) a,
(
SELECT ROUND(AVG(originalSize/1000000.0) / (compressionTimeZ/1000.0),5)
SELECT ROUND((AVG(compressionRatioZ) / AVG(compressionRatio))*100.0,5)
FROM ArtemiaFlash
WHERE compression = 'GZIP' AND level = 6
) af,
(
SELECT ROUND(AVG(originalSize/1000000.0) / (compressionTimeZ/1000.0),5)
SELECT ROUND((AVG(compressionRatioZ) / AVG(compressionRatio))*100.0,5)
FROM LlcEmeralCherry
WHERE compression = 'GZIP' AND level = 6
) llc,
(
SELECT ROUND(AVG(originalSize/1000000.0) / (compressionTimeZ/1000.0),5)
SELECT ROUND((AVG(compressionRatioZ) / AVG(compressionRatio))*100.0,5)
FROM Bit16ZStack
WHERE compression = 'GZIP' AND level = 6
) b16;
*/
\ No newline at end of file
) b16;
\ No newline at end of file
No preview for this file type
......@@ -32,6 +32,18 @@
(0cm,0cm) rectangle (3pt,0.8em);},
}
}
\pgfplotsset{%
axis line origin/.style args={#1,#2}{
x filter/.append code={ % Check for empty or filtered out numbers
\ifx\pgfmathresult\empty\else\pgfmathparse{\pgfmathresult-#1}\fi
},
y filter/.append code={
\ifx\pgfmathresult\empty\else\pgfmathparse{\pgfmathresult-#2}\fi
},
xticklabel=\pgfmathparse{\tick+#1}\pgfmathprintnumber{\pgfmathresult},
yticklabel=\pgfmathparse{\tick+#2}\pgfmathprintnumber{\pgfmathresult}
}
}
\author{Moravec Vojtěch}
\title{Metody komprese bioinformatických dat pro přenos na HPC infrastrukturu}
......@@ -127,6 +139,12 @@ Nejprve uvedeme 3 metody, které se používají pro bezztrátovou kompresi dat
Následně popíšeme kompresi \bThreed, která se přímo zaměřuje na kompresi obrazů, získaných z mikroskopů.
Také zde prozkoumáme techniku přeuspořádání dat, která by mohla vést k lepším výsledkům komprese.
Komprese budou hodnoceny pomocí kompresního poměru, který je vypočten následovně:
\begin{equation*}
\text{kompresní poměr} = \frac{\text{velikost dat}}{\text{velikost komprimovaných dat}}
\end{equation*}
\noindent žádoucí jsou tedy hodnoty větší než $1.0$.
\subsection{Standartní metody}
Standartní metody, které zde uvedeme, jsou hojně využívány v nejrozšířeněšjších programech zabývající se bezztrátovou kompresí. Tyto metody jsou navrženy tak,
......@@ -239,14 +257,57 @@ druhé části jsou chyby predikce zakódovány pomocí RLE a Huffmana.
Bezztrátová komprese dosáhla kompresního poměru 2,7 kdežto ztrátová WNL komprese dosahuje kompresního poměru 5. Chyba lokalizace jediné molekuly v obrazu vstoupla pouze o 4\%. (Bylo testováno na datasetu získaném pomocí Single-Molecule Localization Microscopy, rozlišení 2-25 nm).
\newpage
\subsection{Mortonovo kódování}
Mortonovo kódování, je způsob mapování multidimenzionálních dat na jednodimenzionální data. Jedná se o přeuspořádání dat podle \emph{Z křivky}, která jimi
prochází. \emph{Z křivka} spadá do skupiny tzv. prostor vyplňujících křívek. Tyto křívky obecně prochází každým bodem prostoru v $n$-dimenzionální hyperkrychli.
Mortonovo kódování, je způsob mapování multidimenzionálních dat na jednodimenzionální. Jedná se o přeuspořádání dat podle \emph{Z křivky}, která jimi
prochází. \emph{Z křivka} spadá do skupiny tzv. prostor vyplňujících křívek, které obecně prochází každým bodem prostoru v $n$-dimenzionální hyperkrychli.
Na Obrázků \ref{fig:zCurve} můžeme vidět jak probíhá mapování 2D prostoru na 1D prostor, pro každý bod roviny je vypočtena $Z$ souřadnice,
pomocí které následně seřadíme jednotlivé body. V našem případě pomocí $Z$ souřadnice přeuspořádáme data obrazů.
pomocí které následně seřadíme jednotlivé body. $Z$ souřadnice je vypočtena prolnutím bitů $X$-ové a $Y$-ové souřadnice.
V našem případě pomocí $Z$ souřadnice přeuspořádáme data obrazů.
\image{0.5}{ZCurve.pdf}{fig:zCurve}{Mortonovo kódování}
\begin{tikzpicture}
\begin{axis}[
ybar,
%xlabel = {},
ylabel = {Procentualní změna kompresního poměru},
axis line origin={0,100},
width=0.8\linewidth,
symbolic x coords={{Artemia},{Artemia Flash}, {LLC Emerald}, {16 Bit Z Stack}},
legend pos = outer north east,
x tick label style={
rotate=90,
anchor=east,
},
xtick=data,
nodes near coords,
every node near coord/.append style={rotate=90},
]
% gzip
\addplot coordinates {
({Artemia},105.95400)
({Artemia Flash},109.29308)
({LLC Emerald},101.46799)
({16 Bit Z Stack},101.15722)
};
% lzma
\addplot coordinates {
({Artemia},103.4885)
({Artemia Flash},104.98964)
({LLC Emerald},102.23146)
({16 Bit Z Stack},101.92729)
};
% bzip2
\addplot coordinates {
({Artemia},99.84425)
({Artemia Flash},100.77455)
({LLC Emerald},99.89707)
({16 Bit Z Stack},98.90801)
};
\legend{gzip,lzma,bzip2}
\end{axis}
\end{tikzpicture}
\bibliography{citations}
\bibliographystyle{ieeetr}
......
No preview for this file type
......@@ -140,6 +140,17 @@
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
transform="scale(0.8) translate(12.5,0)" />
</marker>
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath3898">
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
id="rect3900"
width="92.597198"
height="92.59977"
x="0"
y="0" />
</clipPath>
</defs>
<sodipodi:namedview
id="base"
......@@ -148,9 +159,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4142136"
inkscape:cx="205.39342"
inkscape:cy="892.49327"
inkscape:zoom="2.0000001"
inkscape:cx="213.32306"
inkscape:cy="929.36493"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="true"
......@@ -193,18 +204,18 @@
style="display:inline">
<path
d="M 0,0 V 296.99999 M 18.520833,0 V 296.99999 M 37.041666,0 V 296.99999 M 55.562499,0 V 296.99999 M 74.083332,0 V 296.99999 M 92.604165,0 V 296.99999 M 111.125,0 V 296.99999 M 129.64583,0 V 296.99999 M 148.16666,0 V 296.99999 M 166.6875,0 V 296.99999 M 185.20833,0 V 296.99999 M 203.72916,0 V 296.99999 M 0,0 H 210 M 0,18.520833 H 210 M 0,37.041666 H 210 M 0,55.562499 H 210 M 0,74.083332 H 210 M 0,92.604165 H 210 M 0,111.125 H 210 M 0,129.64583 H 210 M 0,148.16666 H 210 M 0,166.6875 H 210 M 0,185.20833 H 210 M 0,203.72916 H 210 M 0,222.24999 H 210 M 0,240.77083 H 210 M 0,259.29166 H 210 M 0,277.81249 H 210 M 0,296.33333 h 210"
style="display:none;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="display:inline;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4548"
inkscape:connector-curvature="0"
inkscape:label="Grid" />
inkscape:label="Grid"
clip-path="url(#clipPath3898)" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.27374303;paint-order:normal"
style="display:inline;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.27374303;paint-order:normal"
d="M 27.78125,27.124992 H 46.302083 L 27.78125,45.645825 H 46.302083 L 64.822917,27.124992 H 83.34375 L 64.822917,45.645825 H 83.34375 L 27.78125,64.166658 H 46.302083 L 27.78125,82.687492 H 46.302083 L 64.822917,64.166658 H 83.34375 L 64.822917,82.687492 H 83.34375"
id="path5179"
inkscape:connector-curvature="0"
inkscape:label="ZCurve"
sodipodi:nodetypes="cccccccccccccccc"
sodipodi:insensitive="true" />
sodipodi:nodetypes="cccccccccccccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 18.475006,18.448349 74.12916,0.07768"
......@@ -273,7 +284,7 @@
y="8.868742"
x="10.816911"
id="tspan4554"
sodipodi:role="line">Y</tspan></text>
sodipodi:role="line">X</tspan></text>
<text
id="text4552"
y="17.335409"
......@@ -285,7 +296,7 @@
y="17.335409"
x="0.97151697"
id="tspan4550"
sodipodi:role="line">X</tspan></text>
sodipodi:role="line">Y</tspan></text>
<text
inkscape:label="x3"
id="text4595"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment