#
#	This is Main Makefile for CTF Correction Demo.
#

#### Root Makefile ####
MAKE_ROOT=CTFCorrection6

#### Input extention ####
# These extensions must all be different.
INI_MRC_EXT=inimrc
INPUT_2D_EXT=2d
CTF_2D_EXT=prectf
FFT_2D_EXT=fft
CTF_INFO_EXT=ctfinfo
OUT_CTF_EXT=ctf

#### Suffixes rule ####

#### INCLUDE ####
-include ${EOS_HOME}/tutorial/TIPS/Help/Makefile/Makefile-lib
-include Makefile.config

#### Definition ####
CCD=14.0

# Input FileName
INPUT=Input

### For mrcImageNoiseAdd
NSRATIO=0
#NSD=1

### For mrcImageSiemensStar
SSTAR_SHAPE=1

## For mrcImageCTFObservation
CTF_KV=200
CTF_CS=2.1
CTF_DEFOCUS=27000
CTF_AIN=0.1	#need CTF_MODE +32
CTF_MODE=32

#### For Works ####
JOP_NUM=-j 3

#### Rules of the list created ####

##### Commands #####
help_CTFCorrection6::
	@echo "This is Main Makefile for CTF Correction Demo."

all6::
	make InitialCTFDataFromMRC;
	make ProcessForInput;
	make ProcessForInfoLoop;
	make NoiseAddLoop;
	make PRECTF2GIF;
	make PRECTF2FFT;
	make FFT2GIF;
	make FFT2CTF;
	make CTF2GIF;

all6S::
	make InitialSiemensStar;
	make ProcessForInput;
	make ProcessForInfoLoop;
	make NoiseAddLoop;
	make PRECTF2GIF;
	make PRECTF2FFT;
	make FFT2GIF;
	make FFT2CTF;
	make CTF2GIF;

NoiseAddLoop::
	mv $(INPUT).$(CTF_2D_EXT) $(INPUT).$(CTF_2D_EXT)org;
	if [ ! -z $(NSD) ] ; then \
		OPTION="$$OPTION -SD $(NSD)"; \
	fi; \
	EXE_COMMAND=mrcImageNoiseAdd \
	FIXED_OPTION="-i $(INPUT).$(CTF_2D_EXT)org $(NSD)" \
	VARIABLE_OPTION="-o $(INPUT)$(CALC_S)$(VAR)+1000$(CALC_E).$(CTF_2D_EXT) -NS $(CALC_S)$(VAR)/10$(CALC_E) $$OPTION" \
	VARIABLE_OPTION=$(CALC_VAR) \
	LOOP_MIN=0 \
	LOOP_MAX=20 \
	LOOP_DELTA=1 \
	make LoopCommand;

ProcessForInfoLoop::
	touch $(INPUT).$(CTF_INFO_EXT);
	echo "$(CTF_DEFOCUS)	$(CTF_CS) $(CTF_KV) $(CTF_AIN)" > $(INPUT).$(CTF_INFO_EXT);
	EXE_COMMAND=ln \
	FIXED_OPTION="-s $(INPUT).$(CTF_INFO_EXT)" \
	VARIABLE_OPTION="$(INPUT)$(CALC_S)$(VAR)+1000$(CALC_E).$(CTF_INFO_EXT)" \
	VARIABLE_OPTION=$(CALC_VAR) \
	LOOP_MIN=0 \
	LOOP_MAX=20 \
	LOOP_DELTA=1 \
	make LoopCommand;

##### Commands(Input to Output) #####
