#
#	This is Makefile for CTF Correction Demo.
#

#### Input extention ####

#### Suffixes rule ####
.SUFFIXES: .ctfinfoauto2 .ctfinfo1

#### INCLUDE ####
#-include ../CTFCorrection1/Makefile
-include ../CTFCorrection2/Makefile
#-include Makefile.common
#-include Makefile.common2
-include CTFAuto2List
-include CTFInfo1List

#### Definition ####
## For mrcImageCTFObservation 2
CTF2_KV=200
CTF2_CS=2.1
CTF2_DEFOCUS=9000
CTF2_AIN=0.3	#need CTF2_MODE +32
CTF2_MODE=0

#### Rules of the list created ####
ctfinfoauto2:  $(FFTS:.fft=.ctfinfoauto2)
ctfinfo1:      $(CTFAuto2List:.ctfinfoauto2=.ctfinfo1)

CTFAuto2List::
	echo "CTFAuto2List=\\" > CTFAuto2List
	ls -1 *.ctfinfoauto2 | sed s/ctfinfoauto2/ctfinfoauto2\\\\/ >> CTFAuto2List
	echo "" >> CTFAuto2List

CTFInfo1List::
	echo "CTFInfo1List=\\" > CTFInfo1List
	ls -1 *.ctfinfo1 | sed s/ctfinfo1/ctfinfo1\\\\/ >> CTFInfo1List
	echo "" >> CTFInfo1List

##### Commands #####
all1::
#	make InitialCTFDataFromPDB;
	make InitialSiemensStar;
#	make InitialCTFDataFromMRC;
	make ProcessForInput;
	make ProcessForInput2;
	make TIF2CTF2;
	make $(INPUT).tiff
	make $(INPUT)-2.tiff
	make ImageAverage;

ProcessForInput2::
	mrcImageCTFObservation -i $(INPUT).$(INPUT_2D_EXT) -o $(INPUT)-2.$(CTF_2D_EXT) -ctfMode $(CTF2_MODE) \
							-kV $(CTF2_KV) -Cs $(CTF2_CS) -df $(CTF2_DEFOCUS) -Ain $(CTF2_AIN);
	ln -s $(INPUT)-2.$(CTF_2D_EXT) $(INPUT)-2.mrc;
	mrc2tiff -i $(INPUT)-2.$(INPUT_2D_EXT) -o $(INPUT)-2_org.tiff;
	mrc2tiff -i $(INPUT)-2.$(CTF_2D_EXT) -o $(INPUT)-2_i.tiff -I;
	mrc2tiff -i $(INPUT)-2.$(CTF_2D_EXT) -o $(INPUT)-2.tif;

TIF2CTF2::
	make TIFS; make $(JN) mrc;
	make MRCS; make $(JN) cen;
	make CENS; make $(JN) nor;
	make NORS; make $(JN) fft;
	make FFTS;
	make $(JN) ctfinfoauto2;
	make CTFAutoList; make ctfinfo;
#	touch $(INPUT).ctfinfo
#	touch $(INPUT)-2.ctfinfo
	make CTFInfoList; make $(JN) ctf;
#	make CTFS;
	
ImageAverage::
	touch CTF_LIST;
	rm CTF_LIST;
	ls -1 *.ctf >> CTF_LIST;
	mrcImageAverage -i CTF_LIST -o $(INPUT).avg;
	mrc2tiff -i $(INPUT).avg -o $(INPUT)_avg.tiff;

##### Commands(Input to Output) #####
.fft.ctfinfoauto2:
	ctfDetermine -i $*.fft -o $*.ctfinfoauto2 -D 27000 \
				 -CutLow 0.025 -CutHigh 0.15 -d 3 -Cc 0.7 -Cs 2.1 \
				 -BofMTF 1 -Ai 0.14 -Noise 0.2 -I0 1.3;
	mv $*.ctfinfoauto2  $*.ctfinfoauto;

.ctfinfoauto2.ctfinfo1:
	cat $*.ctfinfoauto2 >> $*.ctfinfo1 ;
	mv $*.ctfinfo1 $*.ctfinfo;
	