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

update up to dcel

parent fa727990
......@@ -411,7 +411,7 @@ labdef = DMA_labconfig; % Courtesy of Douglas
% and finally:
labdef.DMAlabUrl = 'https://gitlab.tue.nl/STEM/DMAlab';
labdef.DMAlabBranch = 'testing'; % Update to 'master' before merge!
labdef.DMAlabVersion = '0.03-beta'; % Update *before* merge!
labdef.DMAlabVersion = '0.03-beta+'; % Update *before* merge!
end
......
......@@ -93,7 +93,7 @@ Default answers are picked up from the current DMAlab configuration and are prov
If said configuration file does not exist, this question is skipped.
\item[line\,4] Asks for the bit-range of the camera, e.g.\ 12\,bits, or 16\,bits. This value is used to scale the image data (chapter \ref{hood}), so if you store your 14\,bits microscopy data as a 8\,bits tif-file, your answer should be `8'. \\ Sets \param{nbit} (line\,23).
\item[line\,5] Asks for the index of the brightfield image in the image stack. I.e.\ if every time point in the image stack contains $n$ images, which one is the brightfield image?\\ Sets \param{BF} (line\,24).
\item[line\,6] Asks for the indices of the fluorescence images in the image stack. I.e.\ if every time point in the image stack contains $n$ images, which ones are the fluorescence images?\\ Sets \param{fluo} (line\,25) and \param{nchan} = \texttt{numel(}\param{fluo}\texttt{)} + 1.
\item[line\,6] Asks for the indices of the fluorescence images in the image stack. I.e.\ if every time point in the image stack contains $n$ images, which ones are the fluorescence images? Note that the \textsl{last index} should be of the \textsl{dying/dead cell channel}.\warning\\ Sets \param{fluo} (line\,25) and \param{nchan} = \texttt{numel(}\param{fluo}\texttt{)} + 1.
\item[line\,8] Asks for the minimum and maximum radii for the circle detection, in pixels (section \ref{dropdetect}). Note that you can set these also interactively with a GUI by replying `\texttt{y}' to the question in line\,15.\\ Sets \param{circrad} (line\,30).
\item[line\,10] Asks for the maximum allowed movement between frames for circle detection, expressed in the circle radius (section \ref{droptrace}).\\ Sets \param{maxmove} (line\,31).
\item[line\,11] Asks if you wish to perform cell detection with the raw fluorescence intensities, or with those of the top-hat filtered image from \DMA{preprocessfluo} (section \ref{cellcounting}).\\ Sets \param{minIraw} (line\,34).
......@@ -105,22 +105,19 @@ And that basically sets up the experiment for now. The updated \texttt{param}-st
With those follow-up question (lines\,15--17), you can choose to proceed with verification or tuning of the droplet detection parameters (\DMA{setBFparam}, section \ref{secsetBFparam}); to proceed with verification or tuning of the image processing and cell detection parameters (\DMA{setfluoparam}, section \ref{secsetfluoparam}); and/or proceed with processing of the data, here and now (\DMA{processdir}). Finally (line\,18), \DMA{prepexp} assumes that you are not done, yet.
\noindent Note that as of yet, \dmalab{} doesn't know, or indeed: care, which fluorescence channel is used for your dead and dying cells: all fluorescence channels get the same treatment.
But if, in future development for e.g.\ post-processing of `events' such knowledge becomes relevant, \dmalab{} will expect to find the dead and dying cells in \warning\textsl{the last} of the fluorescence channels. You may (already) wish to account for that in your indexing of the fluorescence channels (lines\,6--7).
\section{Processing and results}\label{process}
\subsection{Processing}
Processing of a stack consists of three steps
Processing of a stack consists of four steps
\begin{enumerate}
\item analysis of the brightfield images in the stack for droplet detection and tracing \\ (\DMA{analyseFoV}, section \ref{dropdetect})
\item image pre-processing of the fluorescence channels for cell identification\\ (\DMA{preprocessfluo}, section \ref{fluoprep})
\item identifying and counting cells \\ (\DMA{countfluo}, section \ref{cellcounting})
\item identifying and counting cells in the droplets \\ (\DMA{countfluo}, section \ref{cellcounting})
\item parsing droplet cell counts for `events' (which cell died, when) \\ (\DMA{analyseevents}, section \ref{eventparsing})
\end{enumerate}
\DMA{analyseFoV} first performs step\,1 for all brightfield images in the stack. And then it loops over the fluorescence channels to perform steps\,2\&3. The number of brightfield images (or time points) is inferred from the number of analysis channels (\param{nchan}) and the total number of images in the stack.
\DMA{analyseFoV} first performs step\,1 for all brightfield images in the stack. Then it loops over the fluorescence channels to perform steps\,2\&3, and then it parses those results for step\,4. The number of brightfield images (or time points) is inferred from the number of analysis channels (\param{nchan}) and the total number of images in the stack.
If you call \DMA{analyseFoV} without input arguments:
\begin{lstlisting}[numbers=none, language=DMAlab]
......@@ -139,7 +136,7 @@ And then it will simply call \DMA{analyseFoV} with the obtained settings on all
\subsection{Results}\label{flowresults.bf}
\DMA{analyseFoV} writes four files to disk. The filenames will be the same as that of the analysed image stack, but with \texttt{.bf}, \texttt{.fluo}, \texttt{.ncel} or \texttt{.csv} substituted for the extension \texttt{.tif}. These are all just and regular text files.
\DMA{analyseFoV} writes a number of files to disk for each analysed image stack in the directory defined by \param{odir}. The filenames will be the same as that of the analysed image stack, but with e.g.\ \texttt{.bf}, \texttt{.fluo}, \texttt{.ncel} or \texttt{.csv} substituted for the extension \texttt{.tif}. These are all just and regular text files.
\subsubsection{Droplet tracing, \texttt{.bf}}
......@@ -171,9 +168,17 @@ The \texttt{.bgi}-file contains the mean pixel intensity of the background. For
The \texttt{.csv}-file collects the results of \texttt{.ncel} in a different format (and probably opens in your spreadsheet program, it's still text though!). This file contains a row for each fluorescence channel for each detected droplet. Each row starts with the droplet index (row reference for \texttt{.bf}, \texttt{.fluo} and \texttt{.ncel}) and is followed by the cell count for that channel for each time point.
Its size thus ((number of detected droplets)$\cdot$((\text{\param{nchan}}-1))$\times$((number of time points)+1), and results for the $n$\ap{th} channel of the $d$\ap{th} droplet are in row $(\text{\param{nchan}}-1)d+n$.
Its size is thus ((number of detected droplets)$\cdot$((\text{\param{nchan}}-1))$\times$((number of time points)+1), and results for the $n$\ap{th} channel of the $d$\ap{th} droplet are in row $(\text{\param{nchan}}-1)d+n$.
\subsubsection{Dead cell counts, \texttt{.dcel}}
The \texttt{.dcel}-file contains the number of detected cell(s) that have died during the experiment (cells that were already dead at the start of the experiment are not counted). For each detected droplet with at least one cell appearing in the `dead cell' fluorescence channel (last index in \param{fluo}), it contains \param{nchan}-1 rows with dead cell counts for each time point.
Each row starts with the droplet index (row reference for \texttt{.bf}, \texttt{.fluo} and \texttt{.ncel}). The first \param{nchan}-2 rows are for the fluorescence channels with (initially) living cells and contain with the count of the number of cells that have died in that droplet and channel . The last row for each droplet contains the total number
Its size is thus (number of detect droplets)$\times$((number of fluorescence channels)$\cdot$(number of time points)), and the results of the $n$\ap{th} time point can be found at positions $(\text{\param{nchan}}-1)(n-1)+1$ through $(\text{\param{nchan}}-1)n$ in each row.
\subsubsection{Individual cell properties, \texttt{.ob}(IxyA)}
The \texttt{.ob}(IxyA)-files contain the individual data for \param{maxcells} detected cell(s) per fluorescence channel per droplet. These files contain (number of detected droplets)$\cdot$\param{maxcells} rows with \param{nchan}-1 values for each time point for each droplet in \texttt{.bf}. Their size is thus ((number of detect droplets)$\cdot$(\param{maxcells}))$\times$((number of fluorescence channels)$\cdot$(number of time points)), and the results of the $n$\ap{th} time point for the $d$\ap{th} droplet can be found at positions $(\text{\param{nchan}}-1)(n-1)+1$ through $(\text{\param{nchan}}-1)n$ in rows \param{maxcells}$(d-1)+1$ through \param{maxcells}$d$.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment