.SUFFIXES: .tif .dat .prectf .fft .ctf .ctfinfoauto .ctfinfo .mrc .divideroi .divideroiinfo \
	.box .roi \
	.roiinfo-coarse .roiall-coarse .roiinforef-coarse .roiallref-coarse  .roiinfoprev-coarse \
	.roiinfo        .roiall        .roiinforef        .roiallref         .roiinfoprev \
	.box2roiinfo .roiinfo2box .corinfo .divideroiinfo \
	.roilst0 .roilst .mrc3d .ds6 .mrc3dcentremed .mrc3dcentre .mrc3dcentremedpad .orimrccentre .oricorinfo .coarroi .coarroiinfo .roi2 .pad .mul


#comment#Forall
TILTAXISNUMBER=2
ORIFILE1=a
ORIFILE2=b
ZEROTILTNUM=60
MINTILTNUM=0
MAXTILTNUM=120
STEPTILTNUM=4
T=43

#comment#Fordata2mrc
RESOLUTION=1.7

#comment#For2ndAxisRotate
ROTATIONANGLE=-90

#comment#ForCOARCreate
ORISIZEX=2048
ORISIZEY=2048
CORMODE=16
ORINX=1024
ORINY=1024
ORINZ=1

#comment#Forroiinfo
ORIBASE=$(ORIFILE1)0$(ZEROTILTNUM)

#comment#ForPadAndMul
TILTAXISANGLE=0
IMAGEPADm=15
IMAGEPADV=0
IMAGEMULTIPLYINGv=-1

#comment#ForroilstCreate
EULARANGLE=ZENS
MINTILTANGLE=-60
STEPTILTANGLE=4

#comment#Fords6Create
MRC2MAPmul=1
SMOOTHr=5
SMOOTHm=1
SMOOTHM=1
CENTERNX=200
CENTERNY=200
CENTERNZ=200

all: data2mrc Smoothing 2ndAxisRotate COARCreate $(ORIBASE).roiinfo BoxCreate PadAndMul roilstCreate ds6Create
data2mrc::
	for (( j=1 ; $$j <= $(TILTAXISNUMBER) ; j=$$(($$j + 1 )))) \
		do \
			if [ $$j -eq 1 ]; then \
				orifile=$(ORIFILE1); \
			else \
				orifile=$(ORIFILE2); \
			fi ; \
			for (( i=0 ; $$i <= $(MAXTILTNUM) ; i=$$(($$i + $(STEPTILTNUM))))) \
				do \
					ori=`printf "%s%03d" $$orifile $$i`; \
					make $$ori.prectf; \
					make $$ori.divideroiinfo; \
					awk '{ printf("%s\n", $$1); }' $$ori.divideroiinfo >> dvdroilst ; \
					for divideroivaliable in `ls -1 $$ori*.divideroi` ; do \
						dividefilename=`basename $$divideroivaliable .divideroi`; \
						make $$dividefilename.fft; \
						make $$dividefilename.ctfinfo; \
						make $$dividefilename.ctf; \
					done ; \
					make $$ori.mrc ; \
				done ; \
		done 

.dat.prectf:
	emData2mrc -i $*.dat -o $*.prectf

.tif.prectf:
	tiff2mrc -i $*.tif -o $*.prectf -m 1 -r $(RESOLUTION)

.prectf.divideroiinfo:
	mrcImageDivideInfoForTomography -i $*.prectf -o $*.divideroiinfo -m 1 -d 4
	sed 's/roi/divideroi/' $*.divideroiinfo >> $*.tmproiinfo
	mv $*.tmproiinfo $*.divideroiinfo
	mrcImageROIs -i $*.prectf -o $*.mon -I $*.divideroiinfo -S 1

.divideroi.fft:
	mrcImagePad -i $*.divideroi -o $*.dividepad -W 1024 -H 1024 -m 3 ; \
	mrcImageAbnormalValueRemove -i $*.dividepad -o $*.prectfab -m 1 ; \
	mrcImageFFT -i $*.prectfab -o $*.fft ; \

.fft.ctfinfo:
	ctfDetermine -i $*.fft -o $*.ctfinfo -D 10000 -m 128 -CutLow 0.05 -CutHigh 0.2 -Ac 200 -d 3 -Cc 0.7 -Cs 1.7 -ratio 0.2 | grep defocus > CTFD ; \
	awk -v BASE=$* '{ printf("%s %s\n", BASE, $$2); }' CTFD >> $*.defocuslst ; \

.fft.ctf:
	mrcImageCTFCompensation -i $*.fft -o $*.ctf -info2 $*.ctfinfo -m 1 ; \
	mrcImageCenterGet -i $*.ctf -o $*.ctfcentre -Nx 512 -Ny 512 ; \

.prectf.mrc:
	cat $*.divideroiinfo | sed s/divideroi/ctfcentre/g > $*.divideroiinfo2
	mrcImageCTFCompensationForTiltImage -i $*.prectf -I $*.divideroiinfo2 -o $*.mrc

#.fft.ctfinfoauto:
#	ctfDetermine -i $*.fft -o $*.ctfinfoauto -D 50000 -m 163 -CutLow 0.04 -CutHigh 0.15 -Ac 200 -d 3 -Cc 0.7 -Cs 2.1	
##	awk '/^[^:]/ {print $$0};' $*.ctfinfoauto > $*.ctfinfo
##	Display2 -i $*.fft -H 1e7

#.ctfinfoauto.ctfinfo:
#	if [ ! -f $*.ctfinfo ] ; then \
		if [ -f default.ctfinfo ] ; then \
			cat default.ctfinfo >> $*.ctfinfo ; \
		else \
			cat $*.ctfinfoauto >> $*.ctfinfo ; \
		fi \
	fi 
#	ctfDisplay -i $*.fft
#	mv $@ $@.tmp
#	grep .: $@.tmp > $@
#	cp $@ default.ctfinfo

#.ctfinfo.mrc:
#	mv $*.ctfinfo $*.ctfinfotmp
#	awk '/^[^:]/ {print $$0};' $*.ctfinfotmp > $*.ctfinfo
#	mrcImageCTFCompensation -i $*.fft -o $*.mrc -info2 $*.ctfinfo -m 1	
#	Display2 -i $*.mrc -geometry 1024x1024+0+0 -Zoom 0.5 &

mrcImageSmoothing::
	for (( j=1 ; $$j <= $(TILTAXISNUMBER) ; j=$$(($$j + 1 )))) \
		do \
			if [ $$j -eq 1 ]; then \
				orifile=$(ORIFILE1); \
			else \
				orifile=$(ORIFILE2); \
			fi ; \
			for (( i=0 ; $$i <= $(MAXTILTNUM) ; i=$$(($$i + $(STEPTILTNUM))))) \
				do \
					ori=`printf "%s%03d" $$orifile $$i`; \
					mrcImageSmoothing -i $$ori.mrc -o $$ori.smth -sx 5 -sy 5 -m 1 ; \
					mv $$ori.smth $$ori.mrc ; \
				done ; \
		done

mrcImageWindowing::
	for (( j=1 ; $$j <= $(TILTAXISNUMBER) ; j=$$(($$j + 1 )))) \
		do \
			if [ $$j -eq 1 ]; then \
				orifile=$(ORIFILE1); \
			else \
				orifile=$(ORIFILE2); \
			fi ; \
			for (( i=0 ; $$i <= $(MAXTILTNUM) ; i=$$(($$i + $(STEPTILTNUM))))) \
				do \
					ori=`printf "%s%03d" $$orifile $$i`; \
					mrcImageWindowing -i $$ori.mrc -o $$ori.wnd ; \
					mv $$ori.wnd $$ori.mrc ; \
				done ; \
		done

2ndAxisRotate::
	for (( i=0 ; $$i <= $(MAXTILTNUM) ; i=$$(( $$i + $(STEPTILTNUM) )) )) \
		do \
			ori=`printf "%s%03d" $(ORIFILE2) $$i`; \
			mrcImageRotation -i $$ori.mrc -o $$ori.mrc2 -a $(ROTATIONANGLE) ; \
			mv $$ori.mrc2 $$ori.mrc ; \
		done

##sep

COARCreate::
	for (( j=1 ; $$j <= $(TILTAXISNUMBER) ; j=$$(($$j + 1 )))) \
		do \
			if [ $$j -eq 1 ]; then \
				orifile=$(ORIFILE1); \
				oribase=$(ORIFILE1)0$(ZEROTILTNUM); \
			else \
				orifile=$(ORIFILE2); \
			fi ; \
			ORIZEROFILE=$$oribase.mrc; \
			previous=$$oribase ; \
			echo "Create the zero-tilt Image ROI (same as mrc, just copy)"; \
			make $$oribase.roiinfo-coarse; echo "$$oribase.roi will be created."; \
			make $$oribase.roiall-coarse ; echo "$$oribase.roi was created." ;  \
			make $$oribase.orimrccentre  ; echo "The centre of $$oribase.roi was created." ;  \
		for delta in +$(STEPTILTNUM) -$(STEPTILTNUM) ;  do \
			echo "$$delta"; \
			previous=$$oribase; \
			TOTALX=0 ; \
			TOTALY=0 ; \
			echo "Total: $$TOTALX $$TOTALY" > $$previous.oricorinfo; \
			for (( i=$$(($(ZEROTILTNUM) + $$delta )) ; (( $(MINTILTNUM) <= $$i && $$i <= $(MAXTILTNUM)  )) ; i=$$(($$i + $$delta)) )) \
				do \
					ori=`printf "%s%03d" $$orifile $$i`; \
					echo $$i, $(MAXTILTNUM), $(MINTILTNUM); \
					echo $$previous > $$ori.prevname ; \
					ln -sf $$previous.roiinfo-coarse $$ori.roiinfoprev-coarse ; make $$ori.roiinforef-coarse ; \
					make $$ori.roiallref-coarse ; \
					make $$ori.orimrccentre ;     \
					TOTALX=`awk '/Total:/ { print $$2 }' $$previous.oricorinfo`; \
					TOTALY=`awk '/Total:/ { print $$3 }' $$previous.oricorinfo`; \
					ln -sf $$previous.orimrccentre $$ori.oriref ; make $$ori.oricorinfo ; \
					echo "TotalPrev: $$TOTALX $$TOTALY" >> $$ori.oricorinfo; \
					make $$ori.roiinfo-coarse; \
					make $$ori.roiall-coarse; \
					make $$ori.orimrccentre ; sleep 1; \
					touch $$ori.oricorinfo   ; sleep 1; \
					touch $$ori.roiinfo-coarse; sleep 1; \
					touch $$ori.roiall-coarse; sleep 1; \
					previous=$$ori; \
				done ; \
			echo $$i; \
			done ; \
		done

CleanCOARCreate::
	rm *.roiinfo-coarse

$(ORIFILE1)0$(ZEROTILTNUM).roiinfo-coarse:
	printf "%s%03d.roi Rect2 %15.6f %15.6f %15.6f %15.6f %15.6f %15.6f\n" $(ORIFILE1) $(ZEROTILTNUM) $$(($(ORISIZEX)/2)) $$(($(ORISIZEY)/2)) $(ORISIZEX) $(ORISIZEY) > $(ORIFILE1)0$(ZEROTILTNUM).roiinfo-coarse 

$(ORIFILE2)0$(ZEROTILTNUM).roiinfo-coarse:
	printf "%s%03d.roi Rect2 %15.6f %15.6f %15.6f %15.6f %15.6f %15.6f\n" $(ORIFILE2) $(ZEROTILTNUM) $$(($(ORISIZEX)/2)) $$(($(ORISIZEY)/2)) $(ORISIZEX) $(ORISIZEY) > $(ORIFILE2)0$(ZEROTILTNUM).roiinfo-coarse 

.orimrccentre.oricorinfo:
	echo "orimrccentre -> oricorinfo: SHIFT:= current.orimrccentre for prev.oirmrccentre"
	mrcImageCorrelation -i $*.orimrccentre -r $*.oriref -c $*.oricorinfo -o $*.oricormap -m $(CORMODE) -s $*.orishift

.oricorinfo.roiinfo-coarse:
	TOTALX=`awk '/TotalPrev:/ { print $$2 }' $*.oricorinfo`; \
	TOTALY=`awk '/TotalPrev:/ { print $$3 }' $*.oricorinfo`; \
	SHIFTX=`awk '/Shift:/ { print $$2 }' $*.oricorinfo`; \
	SHIFTY=`awk '/Shift:/ { print $$3 }' $*.oricorinfo`; \
	echo "$$SHIFTX,$$SHIFTY"; \
	if [ $$(($(ORINX)/2)) -lt $$SHIFTX ]; then  \
		SHIFTX=$$(($$SHIFTX - $(ORINX))) ; \
	fi ; \
	if [ $$(($(ORINY)/2)) -lt $$SHIFTY ]; then  \
		SHIFTY=$$(($$SHIFTY - $(ORINY))) ; \
	fi ; \
	TOTALX=$$(($$TOTALX + $$SHIFTX)) ; \
	TOTALY=$$(($$TOTALY + $$SHIFTY)) ; \
	echo "Total: $$TOTALX $$TOTALY" >> $*.oricorinfo; \
	printf "%s.roi Rect2 %15.6f %15.6f %15.6f %15.6f %15.6f %15.6f\n" $* $$(($(ORISIZEX)/2+$$TOTALX)) $$(($(ORISIZEY)/2+$$TOTALY)) $(ORISIZEX) $(ORISIZEY) $$TOTALX $$TOTALY > $*.roiinfo-coarse ;

.roiinfo-coarse.roiall-coarse:
	make $*.mrc
	mrcImageROIs -i $*.mrc -I $*.roiinfo-coarse 
	touch $*.roiall-coarse 

.roiinforef-coarse.roiallref-coarse:
	mrcImageROIs -i $*.mrc -I $*.roiinforef-coarse
	touch $*.roiallref-coarse

.roiinfoprev-coarse.roiinforef-coarse:
	previous=`cat $*.prevname`; \
	sed -s s/$$previous/$*/ $*.roiinfoprev-coarse  > $*.roiinforef-coarse

.roi.orimrccentre:
	echo "roi -> orimrccentre"
	mrcImageCenterGet -i $*.roi -o $*.orimrccentre -Nx $(ORINX) -Ny $(ORINY) -Nz $(ORINZ)
	mrcImageWindowing -i $*.orimrccentre -o $*.wnd -m 16
	mv $*.wnd $*.orimrccentre

$(ORIBASE).roiinfo:
	Display2 -i $*.mrc ;
#	if [ $(TILTAXISNUMBER) -eq 2 ]; then \
#		Display2 -i $(ORIFILE2)0$(ZEROTILTNUM).mrc ;\
#	fi; \
		
##sep

BoxCreate::
	for (( j=1 ; $$j <= $(TILTAXISNUMBER) ; j=$$(($$j + 1 )))) \
		do \
			if [ $$j -eq 1 ]; then \
				orifile=$(ORIFILE1); \
				oribase=$(ORIFILE1)0$(ZEROTILTNUM); \
			else \
				orifile=$(ORIFILE2); \
			fi ; \
			BASE=$$oribase; \
			make $$BASE.roiall ; \
			for delta in +$(STEPTILTNUM) -$(STEPTILTNUM) ; \
				do \
					echo $$delta,$$BASE ;  \
					previous=$$BASE	; \
					for (( i=$$(($(ZEROTILTNUM)+$$delta)) ; (( $(MINTILTNUM) <= $$i && $$i <= $(MAXTILTNUM) )) ; i=$$(($$i + $$delta)) )) \
						do  \
							name=`printf "%s%03d" $$orifile $$i`; \
							echo ">>>> $$name $$i start: $(ZEROTILTNUM) $$(($(ZEROTILTNUM)+$$delta))"; \
							echo $$previous > $$name.prevname; \
							ln -sf $$previous.roiinfo $$name.roiinfoprev ; make $$name.roiinforef ; \
							make $$name.roiinfo ; \
							make $$name.roiall ; \
							previous=$$name ; \
						done  ; \
				done ; \
		done

CleanBoxCreate::
	rm *.roiall *.roiinfoprev *.roiinforef

.roiinfo.roiall:
	make $*.roi
	mrcImageROIs -i $*.roi -I $*.roiinfo
	touch $*.roiall

.roiinforef.roiallref:
	mrcImageROIs -i $*.roi -I $*.roiinforef
	touch $*.roiallref

.roi.corinfo:
	mrcImageCorrelation -i $*.roi -r $*.ref -c $*.corinfo 

.roiinforef.roiinfo:
	# Extract ROIs using roiinfo of previous image (roiinforef)
	previous=`cat $*.prevname`; \
	echo $$previous; \
	echo "start initial ROI"; \
	make $*.roiallref ; \
	ROINUM=`wc -l $*.roiinforef | awk '{print $$1}'` ; \
	echo $$ROINUM ; \
	rm -f $*.roiinfo ; \
	for (( j=0 ; $$j < $$ROINUM ; j=$$(($$j+1)))) \
	do  \
		input=`printf "%s-%04d" $*         $$j`; \
		refer=`printf "%s-%04d" $$previous $$j`; \
		echo $$input, $$refer ; \
		ln -sf $$refer.roi $$input.ref ; make $$input.corinfo ; \
		SHIFTX=`awk '/Shift:/ { print $$2 }' $$input.corinfo`; \
		SHIFTY=`awk '/Shift:/ { print $$3 }' $$input.corinfo`; \
		echo "$$SHIFTX,$$SHIFTY,$$input"; \
		awk -v SHIFTXAWK0=$$SHIFTX -v SHIFTYAWK0=$$SHIFTY -v NAMEAWK=$$input -v BASEAWK=$* \
		 ' /'"$$input"'/ { \
			SizeX = int(sqrt(($$5-$$3)*($$5-$$3)+( $$6-$$4)*( $$6-$$4))+0.5)+1; \
			SizeY = int(sqrt(($$9-$$3)*($$9-$$3)+($$10-$$4)*($$10-$$4))+0.5)+1; \
		 	if(SizeX/2<SHIFTXAWK0) { \
				SHIFTXAWK0 -= SizeX ; \
			} \
			if(SizeY/2<SHIFTYAWK0) { \
				SHIFTYAWK0 -= SizeY ; \
			} \
			Angle = atan2($$6-$$4, $$5-$$3) ; \
			SHIFTXAWK = +1*( SHIFTXAWK0*cos(Angle) - SHIFTYAWK0*sin(Angle)); \
			SHIFTYAWK = +1*( SHIFTXAWK0*sin(Angle) + SHIFTYAWK0*cos(Angle)); \
			printf("%s-%04d.roi Rect %15.6f %15.6f %15.6f %15.6f %15.6f %15.6f %15.6f %15.6f %15.6f %15.6f %15.6f %15.6f %15.6f\n", BASEAWK, FNR-1, $$3+SHIFTXAWK, $$4+SHIFTYAWK, $$5+SHIFTXAWK, $$6+SHIFTYAWK, $$7+SHIFTXAWK, $$8+SHIFTYAWK, $$9+SHIFTXAWK, $$10+SHIFTYAWK, SHIFTXAWK, SHIFTYAWK, Angle*180/3.141592653589793238, SizeX, SizeY);}' \
		 $*.roiinforef | tee -a $*.roiinfo ; \
	done ; 

.roiinfoprev.roiinforef:
	previous=`cat $*.prevname`; \
	sed -s s/$$previous/$*/ $*.roiinfoprev  > $*.roiinforef

##sep

PadAndMul::
	for (( k=1 ; $$k <= $(TILTAXISNUMBER) ; k=$$(($$k + 1 )))) \
		do \
			if [ $$k -eq 1 ]; then \
				orifile=$(ORIFILE1); \
				oribase=$(ORIFILE1)0$(ZEROTILTNUM); \
			else \
				orifile=$(ORIFILE2); \
				oribase=$(ORIFILE2)0$(ZEROTILTNUM); \
			fi ; \
			roiNum=`wc -l  $$oribase.roiinfo | awk '{print $$1}' `; \
			for ((i=$(MINTILTNUM);i<=$(MAXTILTNUM);i=$$(($$i+$(STEPTILTNUM))) )) \
				do \
					for((j=0 ; j < $$roiNum ; j = $$(($$j+1)))) \
						do \
							name=`printf "%s%03d-%04d" $$orifile $$i $$j` ; \
							echo $$(($$i-$(ZEROTILTNUM))) > $$name.tilt ; \
							ln -sf $$name.roi $$name.roi2 ; make $$name.pad ; \
							make $$name.mul ; \
						done ; \
				done ; \
		done

CleanPadAndMul::
	rm *.pad

.roi2.pad:
	tilt=`cat $*.tilt` ; \
	echo $$tilt ; \
	mrcImagePad -i $*.roi2 -o $*.pad -Tilt $(TILTAXISANGLE) $$tilt -m $(IMAGEPADm) -V $(IMAGEPADV)

.pad.mul:
	mrcImageMultiplying -i $*.pad -o $*.mul -v $(IMAGEMULTIPLYINGv)

roilstCreate::
	for (( j=1 ; $$j <= $(TILTAXISNUMBER) ; j=$$(($$j + 1 )))) \
		do \
			if [ $$j -eq 1 ]; then \
				orifile=$(ORIFILE1); \
				oribase=$(ORIFILE1)0$(ZEROTILTNUM); \
				echo "$(ORIFILE1)" > roilstorifile.txt; \
			else \
				orifile=$(ORIFILE2); \
				oribase=$(ORIFILE2)0$(ZEROTILTNUM); \
				echo "$(ORIFILE2)" > roilstorifile.txt; \
			fi ; \
			roiNum=`wc -l  $$oribase.roiinfo | awk '{print $$1}' `;\
			echo $$roiNum; \
			for (( i=0 ; $$i < $$roiNum ; i=$$(($$i + 1)))) \
				do \
					tiltnum=`printf "%s%04d" $$orifile $$i`; \
					echo "$$i" > $$tiltnum.roilst0; \
					make $$tiltnum.roilst ; \
				done ; \
		done ; \
		roiNum=`wc -l  $$oribase.roiinfo | awk '{print $$1}' `;\
		echo $$roiNum; \
		for (( i=0 ; $$i < $$roiNum ; i=$$(($$i + 1)))) \
			do \
				tiltnum=`printf "%04d" $$i`; \
				echo "$$i" > $$tiltnum.roilst0; \
				cat $(ORIFILE1)$$tiltnum.roilst >> $$tiltnum-d.roilst ; \
				cat $(ORIFILE2)$$tiltnum.roilst >> $$tiltnum-d.roilst ; \
			done

Cleanroilst::
	rm *.roilst

.roilst0.roilst:
		i=`cat $*.roilst0`; \
		orifile=`cat roilstorifile.txt`; \
		oribase=`printf "%s%03d" $$orifile $(ZEROTILTNUM)`; \
		num=`printf "%04d" $$i`; \
		roiname=`printf "%s-%04d" $$oribase $$i`; \
		echo "$$roiname in $$oribase.roiinfo"; \
		if [ $$orifile = a ]; then \
			echo "$*.roilst creating" ; \
			ls -1 $$orifile*-$$num.mul | awk -v eularangle=$(EULARANGLE) ' BEGIN {angle=$(MINTILTANGLE)} {printf("%s %s %f %f %f\n",$$1, eularangle, 0, angle, 0); angle+=$(STEPTILTANGLE); if (angle == 0 ) { angle+=$(STEPTILTANGLE)} }' > $*.roilst ; \
		else \
			echo "$*.roilst creating" ; \
			ls -1 $$orifile*-$$num.mul | awk -v eularangle=$(EULARANGLE) ' BEGIN {angle=$(MINTILTANGLE)} {printf("%s %s %f %f %f\n",$$1, eularangle, angle, 0, 0); angle+=$(STEPTILTANGLE); if (angle == 0 ){ angle+=$(STEPTILTANGLE)} }' > $*.roilst ; \
		fi
##sep

ds6Create::
	roiNum=`ls -1 *-d.roilst | wc -l `; \
	echo $$roiNum; \
	for (( i=0 ; $$i < $$roiNum ; i=$$(($$i + 1)) )) \
	do \
		tiltnum=`printf "%04d-d" $$i`; \
		make $$tiltnum.mrc3d ; \
		make $$tiltnum.mrc3dcentre ; \
		make $$tiltnum.mrc3dcentremed ; \
		make $$tiltnum.mrc3dcentremedpad ; \
		make $$tiltnum.ds6 ; \
	done ;
	for (( j=1 ; $$j <= $(TILTAXISNUMBER) ; j=$$(($$j + 1 )))) \
		do \
			if [ $$j -eq 1 ]; then \
				orifile=$(ORIFILE1); \
			else \
				orifile=$(ORIFILE2); \
			fi ; \
	roiNum=`ls -1 $$orifile*.roilst | wc -l `; \
	echo $$roiNum; \
	for (( i=0 ; $$i < $$roiNum ; i=$$(($$i + 1)) )) \
		do \
			tiltnum=`printf "%s%04d" $$orifile $$i`; \
			make $$tiltnum.mrc3d ; \
			make $$tiltnum.mrc3dcentre ; \
			make $$tiltnum.mrc3dcentremed ; \
			make $$tiltnum.mrc3dcentremedpad ; \
			make $$tiltnum.ds6 ; \
		done ; \
	done

Cleands6::
	rm *.mrc3d

.roilst.mrc3d:
	mrc2Dto3D -I $*.roilst -o $*.mrc3d -single 0 -InterpolationMode 2 -m 1 
	
.mrc3dcentremedpad.ds6:
	mrc2map -i $*.mrc3d -o $*.ds6 -mul $(MRC2MAPmul)
	mrc2map -i $*.mrc3dcentre -o $*.centre.ds6 -mul $(MRC2MAPmul)
	mrc2map -i $*.mrc3dcentremed -o $*.centremed.ds6 -mul $(MRC2MAPmul)
	mrc2map -i $*.mrc3dcentremedpad -o $*.centremedpad.ds6 -mul $(MRC2MAPmul)

.mrc3dcentre.mrc3dcentremed:
	mrcImageSmoothing -i $*.mrc3dcentre -o $*.mrc3dcentremed -r $(SMOOTHr) -m $(SMOOTHm) -M $(SMOOTHM)

.mrc3d.mrc3dcentre:
	mrcImageCenterGet -i $*.mrc3d -o $*.mrc3dcentre -Nx $(CENTERNX) -Ny $(CENTERNY) -Nz $(CENTERNZ)

.mrc3dcentremed.mrc3dcentremedpad:
	 mrcImage3DPad -i $*.mrc3dcentremed -o $*.mrc3dcentremedpad -r 90 -m 1 -M 1 -v 0

