Skip to content
Snippets Groups Projects
document.tex 9.7 KiB
Newer Older
  • Learn to ignore specific revisions
  • Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    \documentclass[a4paper,12pt]{article}
    
    \usepackage[czech]{babel}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{listings}
    \usepackage{hyperref}
    \usepackage{enumitem}
    \usepackage{mathrsfs}
    \usepackage{enumitem}
    \usepackage{amsmath}
    \usepackage{amssymb}
    \usepackage{graphicx}
    \usepackage{dirtytalk}
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    \usepackage{siunitx}
    
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    %\usepackage{titlesec}
    %\newcommand{\sectionbreak}{\clearpage}
    %\setlist{nosep}
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    \newcommand{\image}[4]{\begin{figure}[h!] \centering \includegraphics[width=#1\linewidth]{figures/#2} \caption{#4} \label{#3} \end{figure}}
    \newcommand{\bThreed}{B$^3$D }
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    
    \author{Moravec Vojtěch}
    
    \title{Metody komprese bioinformatických dat pro přenos na HPC infrastrukturu}
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    \date{2018/2019}
    
    \begin{document}
    
    \maketitle
    \newpage
    
    \section{Úvod}
    \textit{TODO}
    \newpage
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    
    \section{ZISRAW (CZI) formát}
    
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    Vše co bude v této sekci uvedeno vychází z oficiální specifikace formátu CZI \cite{czi_spec}, společnosti Carl Zeiss ZEN software. 
    
    Formát CZI je určen pro ukládání obrazů a metadat, které popisují jak samotný obraz tak i způsob získání obrazů, například v jakých podmínkách byl snímek získán. 
    CZI vychází z obecnějšího formátu ZISRAW, jehož hlavním cílem je umožnit streamování velkých dat a metadat v binární podobě. Metadata jsou ukládány ve formátu XML
    s kódováním UTF-8. Metadata v souberech CZI vycházejí ze specifikace OME (Open Microscopy Environment) \cite{omeweb}.
    
    Struktůra ZISRAW/CZI formátu byla navržena tak, aby dovolovala streamování velkého množství dat, proto se ZISRAW/CZI soubory skládají ze segmentů.
    Každý segment je identifikován svou hlavičkou, která obsahuje informace o jaký segment se jedná a jaká je jeho velikost. Za hlavičkou následuje část s daty. 
    V souboru nalezneme speciální segmenty, které fungují jako adresáře pro segmenty s obrazy a přílohami. 
    Tyto adresáře odkazují na pozice v souboru, kde se nachází požadované segmenty, což umožňuje načítání pouze těch částí, které jsou potřeba.
    
    Obrazy se nacházejí v segmentech, označené jako \mbox{ZISRAWSUBBLOCK}. Kromě samotných pixelů zde najdeme i metadata, specifické pro daný obraz.
    Specifickými metadaty mohou být např. minimální a maximální hodnoty pixelů, počet bitů na pixel a seznam dvojic klíč/hodnota, udávající libovolnou informaci o obrazu (datum pořízení, pozice mikroskopu v \SI{}{\micro\metre}).
    
    
    Formát CZI dovoluje různé typy pixelu, jak pro barevné tak i černobílé obrazy, seznam všech podporovaných typů najdeme v Tabulce \ref{tab:pixelTypes}.
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    
    \begin{figure}[h!]
        \centering
        \begin{tabular}{| l | c | l |}
            \hline
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
            Typ                 & Byte/Pixel    &  Poznámka \\\hline
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
            Gray8               &     1         &  8 bit unsigned            \\\hline
            Gray16              &     2         &  16 bit unsigned   \\\hline
            Gray32Float         &     4         &  32 bit IEEE float   \\\hline
            Bgr24               &     3         &  3 $\times$ 8 bit unsigned   \\\hline
            Bgr48               &     6         &  3 $\times$ 16 bit unsigned   \\\hline
            Bgr96Float          &     12        &  3 $\times$ IEEE float   \\\hline
            Bgra32              &     4         &  4 $\times$ 8 bit unsigned   \\\hline
            Gray64ComplexFloat  &     8         &  2 $\times$ IEEE float (komplexní a reálná část)   \\\hline
            Bgr192ComplexFloat  &     24        &  8 $\times$ IEEE float (komplexní a reálná část)   \\\hline
            Gray32              &     4         &  32 bit signed \textit{planovaný} \\\hline
            Gray64              &     8         &  64 bit float \textit{planovaný} \\\hline
        \end{tabular}
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
        \caption{Tabulka podporovaných typů pixelu v CZI}
        \label{tab:pixelTypes}
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    \end{figure}
    
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    Informaci o typu pixelu nalezneme v metadatech, které jsou společné pro všechny obrazy nacházející se v CZI souboru. 
    Mimo typ pixelu, nalezneme v těchto společných vlastnostech další zajímavé informace, některé jsou uvedeny v Tabulce \ref{tab:imageMetadata}, 
    nutno podotknout, že soubor nemusí tyto informace obsahovat.
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    \begin{figure}[h!]
        \centering
        \begin{tabular}{| l | l |}
            \hline
            Klíč                & Význam \\\hline
            SizeX               & Šířka obrázku \\\hline
            SizeY               & Výška obrázku \\\hline
            SizeC               & Počet kanálů \\\hline
            SizeZ               & Počet řezů ve směru Z \\\hline
            SizeT               & Počet časových bodů \\\hline
            SizeH               & Počet fází \\\hline
            SizeR               & Počet různých úhlu, ze kterých byl obraz získán \\\hline
            SizeS               & Počet různých scén \\\hline
            SizeI               & Počet různých nasvícení \\\hline
            SizeM               & Počet dílů mozaiky \\\hline
            SizeB               & Počet snímání jednoho obrazu \\\hline
            SizeV               & Počet různých pohledů \\\hline
            PixelType           & Typ pixelu \\\hline
            Dimensions          & Dodatečné informace k dimenzím \\\hline
        \end{tabular}
        \caption{Základní informace o obrazech v souboru CZI}
        \label{tab:imageMetadata}
    \end{figure}
    
    Šířka, výška obrázku, počet kanálů, řezů, fází atd. to vše jsou \say{dimenze} obrázku, pro které mohou být uvedeny dodatečné informace. Taktéž, kanály se mohou lišit
    typem pixelu, počtem bitů na komponentu, metodou získaní atd., proto i pro ně najdeme specifická metadata.
    
    Data pixelu mohou být v CZI souborech jak komprimovaná tak nekomprimovaná. Specifikací jsou povolené komprese
    LZW, JPEG a JPEG-XR. Všechny tyto komprese jsou specifikací omezeny na 2D obrazy. LZW je bezztrátová komprese a momentálně se nepoužívá pro
    širokopásmovou mikroskopii. JPEG je ztrátová komprese a JPEG-XR je modernější variantou JPEG, která nabízí lepší kompresní poměry a také bezztrátovou kompresi.
    
    \newpage
    
    \section{Kompresní metody}
    V této sekci si popíšeme kompresní metody, které jsme vyzkoušeli na bioinformatických datech. 
    Nejprve uvedeme 3 metody, které se používají pro bezztrátovou kompresi dat všech druhů. Tyto 3 metody se stali \emph{de facto} standardem 
    pro bezztrátovou kompresi. Následně popíšeme kompresi \bThreed, která se přímo zaměřuje na kompresi obrazů, získaných z
    mikroskopů.
    
    \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,
    aby byly nezávislé na typy procesoru, operačním systému nebo souborovém systému. Tato nezávislost dovoluje přenesitelnost mezi různými stroji. 
    
    Soubory jsou komprimací převáděny do jiných formátů, zaobalující komprimovaná data. Příkladem může být jeden z jednodušších formátů a to \emph{gzip} \cite{gzip},
    používá se například i pro HTTP kompresi. Tento formát využívá zřejmě nejrozšířeněšjší 
    metodu komprese DEFLATE \cite{deflate_spec}. DEFLATE kombinuje algoritmus LZ77 \cite{LZ77} and Huffmanovo kódování. 
    DEFLATE je nejpouživanějším typem komprese v \emph{zip} souborech.
    
    LZMA algoritmus kombinuje více druhů algoritmů, LZ77 \cite{LZ77}, aritmetické kódování a využívá Markuv model predikce. Tento algoritmus se využívá v programu
    \emph{7-Zip}.
    
    Třetí algoritmem je bzip2, stejně jako LZMA využívá více metod, Run-Length kódování, Huffmanovo kódování a Block-Sorting kompresi \cite{block_sorting}.
    
    Z těchto tří uvedených, slibuje LZMA největší kompresní poměr.
    
    \subsection{Komprese obrazů z mikroskopu, knihovna \bThreed}
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    Tato sekce vychází z \cite{Balazs164624}, taktéž grafy jsou přebrány z této práce.
    \bThreed  je Open Source knihovna, řešící problém komprese obrazů z mikroskopu. Je napsána v jazyce C++ a využívá CUDA architekturu. 
    Slibovaná rychlost komprese je více než 1 GB/s. Tato knihovna nabízí jak ztrátovou tak i bezztrátovou kompresi, kde ztrátová zohledňuje fakt,
    že se jedná o obrazy z mikroskopu a uživatel si může zvolit maximální chybu, kterou bude tolerovat.
    Autoři knihovny definuji tzv. WNL (\emph{within noise level}) mód ztrátové komprese, kde kvantizační krok je roven šumu v obraze. 
    V tomto módu je chyba, vzniklá ztrátovou kompresí, mnohem menší než šum nacházející se v obraze.
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    Kompresní poměry bezztrátové a WNL komprese můžeme vídět na Obrázku \ref{img:compressionComp}.
    
    \image{0.65}{compressionComparsionBars.pdf}{img:compressionComp}{Porovnání kompresních poměrů různých vzorků}
    
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    Vliv ztrátové komprese na obraz byl testován na datasetu embrya octomilky obecné, metodou segmentačního překrývání. Byl testován komprimovaný obraz s originálním
    obrazem, a hodnota 1 znamená, že se obrazy dokonale překrývají. V grafu na Obrázku \ref{img:segoverlap}, můžeme vidět, že překryv klesá až při velkých 
    kompresních poměrech. Překryv pro WNL mód je téměř dokonalý 0,996.
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    
    \image{0.65}{noise_overlap.pdf}{img:segoverlap}{Vliv ztrátové komprese na kvalitu obrazu}
    
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    Použitý bezztrátový algoritmus se skládá ze dvou částí. V první části se provede predikce hodnoty pixelu vzhledem k hodnotám jeho sousedních pixelů a v 
    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).
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    \bibliography{citations}
    \bibliographystyle{ieeetr}
    
    Vojtěch Moravec's avatar
    Vojtěch Moravec committed
    
    \end{document}