added a figure to show another sequence type (globules without trap)

This sequence  `soleil2016/GGHL_rDGL_SGF55_lambda_Em_cinsuite_1/Pos0` needs to be processed for the article so I wanted to describe why the preprocessing doesn't give ideal results on it and how to improve it.
This commit is contained in:
Guillaume Raffy 2022-03-08 18:32:20 +01:00
parent af6fdffdd3
commit fcd9dde587
2 changed files with 119 additions and 7 deletions

View File

@ -9,6 +9,15 @@ lipase.pdf: lipase.tex graphics
TRAPS_VISIBLE_CONVERTER=convert -contrast-stretch 2%x1% -resize 25% TRAPS_VISIBLE_CONVERTER=convert -contrast-stretch 2%x1% -resize 25%
GENERATED_GRAPHICS=\ GENERATED_GRAPHICS=\
graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000000_DM300_nofilter_vis_000.png \
graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000019_DM300_nofilter_vis_000.png \
graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000039_DM300_nofilter_vis_000.png \
graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000000_DM300_327-353_fluo_000.png \
graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000019_DM300_327-353_fluo_000.png \
graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000039_DM300_327-353_fluo_000.png \
graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000000_DM300_420-480_fluo_000.png \
graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000019_DM300_420-480_fluo_000.png \
graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000039_DM300_420-480_fluo_000.png \
graphics/res_soleil2018_GGH_GGH_2018_cin2_phiG_I_327_vis_-40_1_Pos0_img_000000000_DM300_nofilter_vis_000.png \ graphics/res_soleil2018_GGH_GGH_2018_cin2_phiG_I_327_vis_-40_1_Pos0_img_000000000_DM300_nofilter_vis_000.png \
graphics/res_soleil2018_GGH_GGH_2018_cin2_phiG_I_327_vis_-40_1_Pos0_img_000000019_DM300_nofilter_vis_000.png \ graphics/res_soleil2018_GGH_GGH_2018_cin2_phiG_I_327_vis_-40_1_Pos0_img_000000019_DM300_nofilter_vis_000.png \
graphics/res_soleil2018_GGH_GGH_2018_cin2_phiG_I_327_vis_-40_1_Pos0_img_000000039_DM300_nofilter_vis_000.png graphics/res_soleil2018_GGH_GGH_2018_cin2_phiG_I_327_vis_-40_1_Pos0_img_000000039_DM300_nofilter_vis_000.png
@ -16,17 +25,49 @@ GENERATED_GRAPHICS=\
.PHONY: graphics .PHONY: graphics
graphics: $(GENERATED_GRAPHICS) graphics: $(GENERATED_GRAPHICS)
graphics/res_soleil2018_GGH_GGH_2018_cin2_phiG_I_327_vis_-40_1_Pos0_img_000000000_DM300_nofilter_vis_000.png : $(RAW_IMAGES_ROOT_PATH)/res_soleil2018/GGH/GGH_2018_cin2_phiG_I_327_vis_-40_1/Pos0/img_000000000_DM300_nofilter_vis_000.tif # creates a rule to list min and max of imanges in an info file for the given sequence
$(TRAPS_VISIBLE_CONVERTER) "$<" "$@" # creates a rule to convert tif images into png for the given sequence
# $1 : dir_path : eg soleil2016/GGHL_rDGL_SGF55_lambda_Em_cinsuite_1
# $2 : pos_dir : eg Pos0
# $3 : channel_suffix : eg 420-480_fluo_000
# $4 : min_value : the maximum pixel value for this channel (eg 631)
# $5 : max_value : the maximum pixel value for this channel (eg 1441)
# eg it will create graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_%.png from $(RAW_IMAGES_ROOT_PATH)/soleil2016/GGHL_rDGL_SGF55_lambda_Em_cinsuite_1/Pos0/%.tif
define GENERATE_CHANNEL_IMAGES_CONVERSION_RULE
graphics/$(subst /,_,$(1))_$(2)_$(3).info:
convert $(RAW_IMAGES_ROOT_PATH)/$(1)/$(2)/*$(3).tif -format "%[filename] %[min] %[max]\n" info: 2>/dev/null > "$$@"
graphics/res_soleil2018_GGH_GGH_2018_cin2_phiG_I_327_vis_-40_1_Pos0_img_000000019_DM300_nofilter_vis_000.png : $(RAW_IMAGES_ROOT_PATH)/res_soleil2018/GGH/GGH_2018_cin2_phiG_I_327_vis_-40_1/Pos0/img_000000019_DM300_nofilter_vis_000.tif graphics/$(subst /,_,$(1))_$(2)_%$(3).png : $(RAW_IMAGES_ROOT_PATH)/$(1)/$(2)/%$(3).tif graphics/$(subst /,_,$(1))_$(2)_$(3).info
$(TRAPS_VISIBLE_CONVERTER) "$<" "$@" convert -level $(4)x$(5) -resize 25% "$$<" "$$@"
endef
# creates a rule to convert tif images into png for the given sequence
# $1 : dir_path : eg soleil2016/GGHL_rDGL_SGF55_lambda_Em_cinsuite_1
# $2 : pos_dir : eg Pos0
# eg it will create graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_%.png from $(RAW_IMAGES_ROOT_PATH)/soleil2016/GGHL_rDGL_SGF55_lambda_Em_cinsuite_1/Pos0/%.tif
define GENERATE_TRAP_SEQUENCE_IMAGES_CONVERSION_RULE
graphics/$(subst /,_,$(1))_$(2)_%.png : $(RAW_IMAGES_ROOT_PATH)/$(1)/$(2)/%.tif
$(TRAPS_VISIBLE_CONVERTER) "$$<" "$$@"
endef
graphics/res_soleil2018_GGH_GGH_2018_cin2_phiG_I_327_vis_-40_1_Pos0_img_000000039_DM300_nofilter_vis_000.png : $(RAW_IMAGES_ROOT_PATH)/res_soleil2018/GGH/GGH_2018_cin2_phiG_I_327_vis_-40_1/Pos0/img_000000039_DM300_nofilter_vis_000.tif # manually worked out sensible min and max values from graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_nofilter_vis_000.info
$(TRAPS_VISIBLE_CONVERTER) "$<" "$@" SEQ_GGHL_RDGL_SGF55_VIS_MIN_VALUE = 13000
SEQ_GGHL_RDGL_SGF55_VIS_MAX_VALUE = 65535 # yes, the images are saturated!
$(eval $(call GENERATE_CHANNEL_IMAGES_CONVERSION_RULE,soleil2016/GGHL_rDGL_SGF55_lambda_Em_cinsuite_1,Pos0,nofilter_vis_000,$(SEQ_GGHL_RDGL_SGF55_VIS_MIN_VALUE),$(SEQ_GGHL_RDGL_SGF55_VIS_MAX_VALUE)))
# manually worked out sensible min and max values from graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_327-353_fluo_000.info
SEQ_GGHL_RDGL_SGF55_F340_MIN_VALUE = 631
SEQ_GGHL_RDGL_SGF55_F340_MAX_VALUE = 1441
$(eval $(call GENERATE_CHANNEL_IMAGES_CONVERSION_RULE,soleil2016/GGHL_rDGL_SGF55_lambda_Em_cinsuite_1,Pos0,327-353_fluo_000,$(SEQ_GGHL_RDGL_SGF55_F340_MIN_VALUE),$(SEQ_GGHL_RDGL_SGF55_F340_MAX_VALUE)))
# manually worked out sensible min and max values from graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_420-480_fluo_000.info
SEQ_GGHL_RDGL_SGF55_F450_MIN_VALUE = 700
SEQ_GGHL_RDGL_SGF55_F450_MAX_VALUE = 1800
$(eval $(call GENERATE_CHANNEL_IMAGES_CONVERSION_RULE,soleil2016/GGHL_rDGL_SGF55_lambda_Em_cinsuite_1,Pos0,420-480_fluo_000,$(SEQ_GGHL_RDGL_SGF55_F450_MIN_VALUE),$(SEQ_GGHL_RDGL_SGF55_F450_MAX_VALUE)))
$(eval $(call GENERATE_TRAP_SEQUENCE_IMAGES_CONVERSION_RULE,res_soleil2018/GGH/GGH_2018_cin2_phiG_I_327_vis_-40_1,Pos0))
.PHONY: clean .PHONY: clean
clean: clean:
rm -f $(GENERATED_GRAPHICS) rm -f $(GENERATED_GRAPHICS) graphics/*.info
rm -f lipase.pdf lipase.aux lipase.fls lipase.log lipase.fdb_latexmk lipase.dvi; rm -f lipase.pdf lipase.aux lipase.fls lipase.log lipase.fdb_latexmk lipase.dvi;

View File

@ -258,6 +258,77 @@
\label{fig:trap_sequence1} \label{fig:trap_sequence1}
\end{figure} \end{figure}
\begin{figure}
\centering
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=1.0\textwidth]{graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000000_DM300_nofilter_vis_000.png}
%\includegraphics[width=\textwidth]{1.png}
\caption{Frame 0}
%\label{fig:1}
\end{subfigure}
~
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=1.0\textwidth]{graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000019_DM300_nofilter_vis_000.png}
%\includegraphics[width=\textwidth]{1.png}
\caption{Frame 19}
%\label{fig:1}
\end{subfigure}
~
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=1.0\textwidth]{graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000039_DM300_nofilter_vis_000.png}
%\includegraphics[width=\textwidth]{1.png}
\caption{Frame 39}
%\label{fig:1}
\end{subfigure}
\\
\centering
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=1.0\textwidth]{graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000000_DM300_327-353_fluo_000.png}
%\includegraphics[width=\textwidth]{1.png}
\caption{Frame 0, 327nm - 353nm}
%\label{fig:1}
\end{subfigure}
~
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=1.0\textwidth]{graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000019_DM300_327-353_fluo_000.png}
%\includegraphics[width=\textwidth]{1.png}
\caption{Frame 19, 327nm - 353nm}
%\label{fig:1}
\end{subfigure}
~
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=1.0\textwidth]{graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000039_DM300_327-353_fluo_000.png}
%\includegraphics[width=\textwidth]{1.png}
\caption{Frame 39, 327nm - 353nm}
%\label{fig:1}
\end{subfigure}
\\
\centering
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=1.0\textwidth]{graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000000_DM300_420-480_fluo_000.png}
%\includegraphics[width=\textwidth]{1.png}
\caption{Frame 0, 420nm - 480nm}
%\label{fig:1}
\end{subfigure}
~
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=1.0\textwidth]{graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000019_DM300_420-480_fluo_000.png}
%\includegraphics[width=\textwidth]{1.png}
\caption{Frame 19, 420nm - 480nm}
%\label{fig:1}
\end{subfigure}
~
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=1.0\textwidth]{graphics/soleil2016_GGHL_rDGL_SGF55_lambda_Em_cinsuite_1_Pos0_img_000000039_DM300_420-480_fluo_000.png}
%\includegraphics[width=\textwidth]{1.png}
\caption{Frame 39, 420nm - 480nm}
%\label{fig:1}
\end{subfigure}
\caption{Example of trap sequence (\texttt{soleil2016/GGHL\_rDGL\_SGF55\_lambda\_Em\_cinsuite\_1/Pos0})}
\label{fig:sequence_gghl1}
\end{figure}
\subsection{computing the circularness image} \subsection{computing the circularness image}
\label{sec:circularness} \label{sec:circularness}