#
#	This is Makefile for CTF Correction Demo.
#


#### Input extention ####
CTF_INFO_EXT=ctfinfo

#### Suffixes rule ####

#### INCLUDE ####
-include ../../TIPS/LoopCommand/Makefile.config
-include ../CTFCorrection2/Makefile

#### Definition ####
## For define varioable

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

##### Commands #####
all4::
	make InitialSiemensStar;
	make ProcessForInputLoop;
	make ProcessForInfoLoop;
	make PRECTF2GIF;
	make PRECTF2FFT;
	make FFT2GIF;
	make FFT2CTF;
	make CTF2GIF;

ProcessForInputLoop::
	EXE_COMMAND=mrcImageCTFObservation \
	FIXED_OPTION="-i $(INPUT).$(INPUT_2D_EXT) -ctfMode $(CTF_MODE) -kV $(CTF_KV) -Cs $(CTF_CS) -Ain $(CTF_AIN)" \
	VARIABLE_OPTION="-o $(INPUT)$(CALC_S)$(VAR)+100000$(CALC_E).$(CTF_2D_EXT) -df $(VAR)" \
	VARIABLE_OPTION=$(CALC_VAR) \
	LOOP_MIN=0 \
	LOOP_MAX=54000 \
	LOOP_DELTA=1000 \
	make LoopCommand;

ProcessForInfoLoop::
	EXE_COMMAND=echo \
	FIXED_OPTION= \
	VARIABLE_OPTION="\"$(VAR)	$(CTF_CS) $(CTF_KV) $(CTF_AIN)\" > $(INPUT)$(CALC_S)$(VAR)+100000$(CALC_E).$(CTF_INFO_EXT)" \
	VARIABLE_OPTION=$(CALC_VAR) \
	LOOP_MIN=0 \
	LOOP_MAX=54000 \
	LOOP_DELTA=1000 \
	make LoopCommand;

PRECTF2FFT::
	INPUT_EXT=prectf \
	OUTPUT_EXT=fft \
	make LoopCommandEachFile;

PRECTF2GIF::
	mkdir -p _PRECTF;
	INPUT_EXT=prectf \
	OUTPUT_EXT=prectf.gif \
	make LoopCommandEachFile;

FFT2CTF::
	INPUT_EXT=fft \
	OUTPUT_EXT=ctf \
	make LoopCommandEachFile;

FFT2GIF::
	mkdir -p _FFT;
	INPUT_EXT=fft \
	OUTPUT_EXT=fft.gif \
	make LoopCommandEachFile;

CTF2GIF::
	mkdir -p _CTF;
	INPUT_EXT=ctf \
	OUTPUT_EXT=ctf.gif \
	make LoopCommandEachFile;

##### Commands(Input to Output) #####
.prectf.fft:
	mrcImageFFT -i $*.prectf -o $*.fft

.fft.ctf:
	mrcImageCTFCompensation -i $*.fft -info $*.ctfinfo -o $*.ctf -m 1

.prectf.prectf.gif:
	mrc2gif -i $*.prectf -o _PRECTF/$*.prectf.gif

.fft.fft.gif:
	mrcFFTExpression -i $*.fft -o $*.fftex -m 1;
	mrc2gif -i $*.fftex -o _FFT/$*.gif

.ctf.ctf.gif:
	mrc2gif -i $*.ctf -o _CTF/$*.ctf.gif
