- added user documentation for lipase imagej plugins

- the lipase manual pdf document is now released
This commit is contained in:
Guillaume Raffy 2020-03-31 18:57:36 +02:00
parent e3ab3b6140
commit 87e70aba22
3 changed files with 97 additions and 5 deletions

View File

@ -1,6 +1,9 @@
RAW_IMAGES_ROOT_PATH:=$(shell echo ~/work/lipase/raw-images)
# pdflatex is called twice to ensure cross references are found
lipase.pdf: lipase.tex graphics
pdflatex lipase.tex
pdflatex lipase.tex; pdflatex lipase.tex
# command used to convert traps sequences in the visible into png with maximum contrast
TRAPS_VISIBLE_CONVERTER=convert -contrast-stretch 2%x1% -resize 25%

View File

@ -6,19 +6,106 @@
\usepackage[english, french]{babel}
\usepackage[margin=0.5in]{geometry} % default margins are too big for my taste: too much wasted space http://kb.mit.edu/confluence/pages/viewpage.action?pageId=3907057
\usepackage{amsmath} % provides underset
\usepackage{dirtree} % provides \dirtree
\usepackage{hyperref} % provides \url
\hyphenation{tu-yau}
\title{lipase}
\title{lipase manual}
\author{Guillaume Raffy \and Véronique Vié }
\begin{document}
\selectlanguage{english}
\maketitle
\section{lipase imagej plugin user guide}
This section describes how to use the lipase imagej plugin.
\subsection{lipase imagej plugin menu items}
\subsubsection{Ipr/Lipase/Define raw images root}
This action will let the user choose the directory that contains the input sequences. This directory is called \texttt{raw\_images\_root\_path}, and its value is stored in the user's home directory, in a file named \texttt{\textasciitilde/.fr.univ-rennes1.ipr.lipase.json}. This \texttt{raw\_images\_root\_path} is used by some other lipase imagej plugin menu items, so it's probably the first action the user is expeted to perform. Unless the user has multiple image databases, this action only requires to be performed once.
The directory chosen as is expected to contain sequences of images, with the proper accompanying metadata files (\texttt{display\_and\_comments.txt} and \texttt{metadata.txt}) saved by micromanager\footnote{\url{https://micro-manager.org/}}. An example of sequence database is shown in figure \ref{fig:input_images_layout}.
\begin{figure}[htbp]
\dirtree{%
.1 \texttt<raw\_images\_root\_path>.
.2 res\_soleil2018.
.3 dark.
.4 dark\_40x\_60min\_1 im pae min\_1.
.5 pos0.
.6 ...
.6 metadata.txt.
.5 display\_and\_comments.txt.
.4 dark\_40x\_zstack\_vis\_327-353\_1.
.5 pos0.
.6 ...
.6 metadata.txt.
.5 display\_and\_comments.txt.
.3 ggh.
.4 ggh\_2018\_cin2\_phig\_l\_327\_vis\_-40\_1.
.5 pos0.
.6 img\_0000000000\_dm300\_327-353\_fluo\_000.tif.
.6 img\_0000000001\_dm300\_327-353\_fluo\_000.tif.
.6 ...
.6 img\_0000000039\_dm300\_327-353\_fluo\_000.tif.
.6 img\_0000000000\_dm300\_nofilter\_vis\_000.tif.
.6 img\_0000000001\_dm300\_nofilter\_vis\_000.tif.
.6 ...
.6 img\_0000000039\_dm300\_nofilter\_vis\_000.tif.
.6 metadata.txt.
.5 pos1.
.6 ...
.6 metadata.txt.
.5 display\_and\_comments.txt.
.3 white.
.4 ...
}
\caption{example of input images database}
\label{fig:input_images_layout}
\end{figure}
\subsubsection{Ipr/Lipase/Display Sequence}
This action allows the user to display a sequence he interactively chooses from the catalog of sequences.
\subsubsection{Ipr/Lipase/Compute globules area}
This action performs a detection of globules in the given sequence, and for each image in the sequence, computes the area aof all globules. At the end of the computation, a graph showing the area of globules along time is displayed. Figure \ref{fig:trap_sequence1} shows an example sequence that can be processed with this action.
\begin{itemize}
\item Input data:
\begin{description}
\item [input image stack] the sequence of images containing particle-like globules evolving with time over a static background.
\item [background image] the image that will be used as a background image. This background image is expected to contain everything but the particles that we want to detect. If in your sequence, one of the images has no particle at all, it could be used as a background image.
\item [particle threshold] the threshold used to detect particles, expressed in grey levels.
\begin{itemize}
\item if set too high, the area of particles will be underestimated, as some particles will be either undetected or detected smaller than they actually are.
\item if set too low, the area of particles will be overestimated, as some of the background will be wrongly detected as particles, because the background is never completely static (noise, changes in illumination, etc.).
\end{itemize}
\end{description}
\item Output data:
\begin{description}
\item [area over time] this 1D-data shows the evolution of the detected globules area for each frame in the sequence. Note that the globules area is expressed as a coverage ratio of the detected globules in each image (its value is therefore in the range $[0;1]$).
\end{description}
\end{itemize}
Here's how it works:
\begin{itemize}
\item the sequence \texttt{diff} is computed by sustracting \texttt{background image} from \texttt{input image stack}
\item the sequence \texttt{abs\_diff} is computed as the absolute value of \texttt{diff}
\item the sequence \texttt{is\_globule} is computed by performing a threshold operator on \texttt{abs\_diff} with the threshold value {particle threshold}
\item \texttt{area over time} is computed by counting the number of non zero pixel values in each frame of \texttt{is\_globule}
\end{itemize}
\section{catalog images}
Images have been acquired on the telemos microscope\footnote{\url{https://www6.inrae.fr/pfl-cepia/content/download/3542/34651/version/1/file/notes_TELEMOS.pdf}}.
image prefix :
\selectlanguage{french}
\begin{description}
@ -97,6 +184,7 @@
\caption{Example of trap sequence (\texttt{res\_soleil2018/GGH/GGH\_2018\_cin2\_phiG\_I\_327\_vis\_-40\_1/Pos0})}
\label{fig:trap_sequence1}
\end{figure}
\end{document}

View File

@ -1,5 +1,6 @@
#!/bin/bash
LIPASE_PACKAGE_FILE_PATH=$(ls lipase*.zip)
LIPASE_USER_MANUAL_PATH=$(pwd)/doc/lipase.pdf
echo "LIPASE_PACKAGE_FILE_PATH=$LIPASE_PACKAGE_FILE_PATH"
if [ "$GRAFFY_OWNCLOUD_JENKINS_PWD" = '' ]
then
@ -11,5 +12,5 @@ virtualenv ./python.virtualenv
source ./python.virtualenv/bin/activate
pip install pyocclient # installs python owncloud module
python -c "import owncloud; oc = owncloud.Client('https://cloud.ipr.univ-rennes1.fr'); oc.login('graffy','$GRAFFY_OWNCLOUD_JENKINS_PWD'); oc.put_file('downloads/$LIPASE_PACKAGE_FILE_PATH', r'$LIPASE_PACKAGE_FILE_PATH')"
python -c "import owncloud; oc = owncloud.Client('https://cloud.ipr.univ-rennes1.fr'); oc.login('graffy','$GRAFFY_OWNCLOUD_JENKINS_PWD'); oc.put_file('downloads/$LIPASE_PACKAGE_FILE_PATH', r'$LIPASE_PACKAGE_FILE_PATH'); oc.put_file('downloads/lipase-manual.pdf', r'$LIPASE_USER_MANUAL_PATH');