--- /dev/null
+DataA_000-0000.roi ZEYS -0.000000 -60.000000 0.000000
+DataA_001-0000.roi ZEYS -0.000000 -50.000000 0.000000
+DataA_002-0000.roi ZEYS -0.000000 -40.000000 0.000000
+DataA_003-0000.roi ZEYS -0.000000 -30.000000 0.000000
+DataA_004-0000.roi ZEYS -0.000000 -20.000000 0.000000
+DataA_005-0000.roi ZEYS -0.000000 -10.000000 0.000000
+DataA_006-0000.roi ZEYS -0.000000 0.000000 0.000000
+DataA_007-0000.roi ZEYS -0.000000 10.000000 0.000000
+DataA_008-0000.roi ZEYS -0.000000 20.000000 0.000000
+DataA_009-0000.roi ZEYS -0.000000 30.000000 0.000000
+DataA_010-0000.roi ZEYS -0.000000 40.000000 0.000000
+DataA_011-0000.roi ZEYS -0.000000 50.000000 0.000000
+DataA_012-0000.roi ZEYS -0.000000 60.000000 0.000000
+DataB_000-0000.roi ZEYS -0.000000 0.000000 -60.000000
+DataB_001-0000.roi ZEYS -0.000000 0.000000 -50.000000
+DataB_002-0000.roi ZEYS -0.000000 0.000000 -40.000000
+DataB_003-0000.roi ZEYS -0.000000 0.000000 -30.000000
+DataB_004-0000.roi ZEYS -0.000000 0.000000 -20.000000
+DataB_005-0000.roi ZEYS -0.000000 0.000000 -10.000000
+DataB_007-0000.roi ZEYS -0.000000 0.000000 10.000000
+DataB_008-0000.roi ZEYS -0.000000 0.000000 20.000000
+DataB_009-0000.roi ZEYS -0.000000 0.000000 30.000000
+DataB_010-0000.roi ZEYS -0.000000 0.000000 40.000000
+DataB_011-0000.roi ZEYS -0.000000 0.000000 50.000000
+DataB_012-0000.roi ZEYS -0.000000 0.000000 60.000000
--- /dev/null
+#
+# This is a sample Makefile for electron tomography.
+#
+
+#### Input extention and listname ####
+# For mrcImageCorrelation
+IN_CORR_EXT=mask
+
+# For mrc2tiff
+IN_TIFF_EXT=fit
+
+# For mrcImageNoiseAdd
+IN_NOISE_EXT=roi
+
+# For mrcImageWindowing
+IN_MASK_EXT=nroi
+
+# For mrcImageTiltAxisSearch
+IN_TILT_EXT=roi
+
+# For Reconstruction
+#IN_3D_EXT=fit
+IN_3D_EXT=roi
+IN_LIST_EXT=roilst
+
+#### INCLUDE ####
+.SUFFIXES: .roi .nroi .mask .tiff .3dlst .3d .fit .tiltinfo .sino .sinolst .3dradon .$(IN_TIFF_EXT) .$(IN_CORR_EXT) .$(IN_NOISE_EXT) .$(IN_MASK_EXT) .$(IN_TILT_EXT) .$(IN_TILT_EXT)tmp .$(IN_3D_EXT)
+
+SHELL=/bin/bash
+
+-include IN_NOISE_LIST
+-include IN_MASK_LIST
+-include IN_CORR_LIST_plus
+-include IN_CORR_LIST_minus
+-include IN_3D_LIST
+-include IN_TIFF_LIST
+
+#### Definition ####
+
+# Initial Reference Model
+#INITIAL=Initial
+INITIAL=1WDC-shift1
+#INITIAL=1WDC-9Set
+# Target structure name
+TARGET=0000-d
+
+### For mrc3Dto2D
+# RotMode
+ROTMODE=YOYR
+#ROTMODE=ZOYS
+# Rot1
+ROT1MIN=0
+ROT1MAX=0
+ROT1D=10
+ROT1N=`expr \( $(ROT1MAX) - $(ROT1MIN) \) / $(ROT1D) + 1`
+# Rot2
+ROT2MIN=-60
+ROT2MAX=60
+ROT2D=10
+ROT2N=`expr \( $(ROT2MAX) - $(ROT2MIN) \) / $(ROT2D) + 1`
+# Rot3
+ROT3MIN=-60
+ROT3MAX=60
+ROT3D=10
+ROT3N=`expr \( $(ROT3MAX) - $(ROT3MIN) \) / $(ROT3D) + 1`
+# Expansion mode
+# 0:Mercator 1:Mollweide
+EX_MODE=1
+# Interpolation mode : Common with mrc2Dto3D
+IN_MODE=2
+
+### For mrcImageMove
+SHIFT2MAX=5
+SHIFT3MAX=10
+
+### For mrcImageNoiseAdd
+SNRATIO=3
+
+# For mrcImageWindowing
+MASK_X=0.2
+MASK_X_MAX=0.2
+MASK_Y=0.1
+MASK_Y_MAX=0.1
+MASK_MODE=18
+
+### For mrcImageCorrelation
+# mode
+COR_MODE=18
+# Reference angle: Rot2, 3 is Usually 0
+ROT1REF=$(ROT1MIN)
+ROT2REF=0
+ROT3REF=0
+
+### For mrcImageTiltAxisSearch
+TILTMIN=-10
+TILTMAX=10
+TILTN=10
+TILTITER=100
+TILTSCALE=5
+
+### For mrc2Dto3D
+# mode
+# 0:Simple Back Projection 1:Filter Back Projection
+PRJ_MODE=1
+# single (Tilt Axis)
+# 0:X-axis 1:Y-axis
+AXIS1=1
+
+### RadonTransform
+PD=2.5
+PHID=10
+THETAD=10
+RBP_MODE=1
+#RBP_OPTION=-Rmin 0.05 -Rmax 0.1
+
+#### For Works ####
+JOP_NUM=-j 3
+
+nroi:$(IN_NOISE_LIST:.$(IN_NOISE_EXT)=.nroi)
+mask:$(IN_MASK_LIST:.$(IN_MASK_EXT)=.mask)
+fit_plus:$(IN_CORR_LIST_plus:.$(IN_CORR_EXT)=.fit)
+fit_minus:$(IN_CORR_LIST_minus:.$(IN_CORR_EXT)=.fit)
+sino:$(IN_3D_LIST:.$(IN_3D_EXT)=.sino)
+tiff:$(IN_TIFF_LIST:.$(IN_TIFF_EXT)=.tiff)
+
+IN_NOISE_LIST::
+ touch IN_NOISE_LIST
+ echo "IN_NOISE_LIST=\\" > IN_NOISE_LIST
+ ls -1 *.$(IN_NOISE_EXT) | sed s/$(IN_NOISE_EXT)/$(IN_NOISE_EXT)\\\\/ >> IN_NOISE_LIST
+ echo "" >> IN_NOISE_LIST
+
+IN_MASK_LIST::
+ touch IN_MASK_LIST
+ echo "IN_MASK_LIST=\\" > IN_MASK_LIST
+ ls -1 *.$(IN_MASK_EXT) | sed s/$(IN_MASK_EXT)/$(IN_MASK_EXT)\\\\/ >> IN_MASK_LIST
+ echo "" >> IN_MASK_LIST
+
+IN_TILT_LIST::
+ touch IN_TILT_LIST
+ rm IN_TILT_LIST
+ ls -1 *.$(IN_TILT_EXT) >> IN_TILT_LIST
+
+IN_3D_LIST::
+ touch IN_3D_LIST
+ echo "IN_3D_LIST=\\" > IN_3D_LIST
+ ls -1 *.$(IN_3D_EXT) | sed s/$(IN_3D_EXT)/$(IN_3D_EXT)\\\\/ >> IN_3D_LIST
+ echo "" >> IN_3D_LIST
+
+IN_TIFF_LIST::
+ touch IN_TIFF_LIST
+ echo "IN_TIFF_LIST=\\" > IN_TIFF_LIST
+ ls -1 *.$(IN_TIFF_EXT) | sed s/$(IN_TIFF_EXT)/$(IN_TIFF_EXT)\\\\/ >> IN_TIFF_LIST
+ echo "" >> IN_TIFF_LIST
+
+#### Commands ####
+Help::
+ @echo "This is a sample Makefile for electron tomography."
+
+TestData::
+ @for (( rot1 = $(ROT1MIN); rot1 <= $(ROT1MAX); rot1 += $(ROT1D) )) \
+ do \
+ for (( rot2 = $(ROT2MIN), shift2 = -$(SHIFT2MAX); rot2 <= $(ROT2MAX); rot2 += $(ROT2D), shift2 = ( ( $$rot2 + $(ROT2D) ) * $(SHIFT2MAX) ) / ( $(ROT2MAX) + 1 ) )) \
+ do \
+ for (( rot3 = $(ROT3MIN), shift3 = -$(SHIFT3MAX); rot3 <= $(ROT3MAX); rot3 += $(ROT3D), shift3 = ( ( $$rot3 + $(ROT3D) ) * $(SHIFT3MAX) ) / ( $(ROT3MAX) + 1 ) )) \
+ do \
+ echo $$rot1, $$rot2, $$rot3, $$shift2, $$shift3; \
+ mrc3Dto2D -i $(INITIAL).3d -o $(TARGET)-$$rot1-$$rot2-$$rot3.roitmp \
+ -InterpolationMode $(IN_MODE) -EulerMode $(ROTMODE) \
+ -Rot1 $$rot1 $$rot1 1 \
+ -Rot2 $$rot2 $$rot2 1 \
+ -Rot3 $$rot3 $$rot3 1 ; \
+ mrcImageMove -i $(TARGET)-$$rot1-$$rot2-$$rot3.roitmp -o $(TARGET)-$$rot1-$$rot2-$$rot3.roi \
+ -x $$shift2 \
+ -y $$shift3; \
+ rm $(TARGET)-$$rot1-$$rot2-$$rot3.roitmp; \
+ done \
+ done \
+ done
+
+NoiseAdd::
+ make IN_NOISE_LIST;
+ make $(JOP_NUM) nroi;
+
+All::
+ make Windowing;
+ make CorFit1;
+ make CorFit2;
+# make TiltFit;
+ make 3D;
+ make Radon3D;
+
+Windowing::
+ make IN_MASK_LIST;
+ make $(JOP_NUM) mask;
+
+CorFit1::
+ cp $(TARGET)-$(ROT1REF)-$(ROT2REF)-$(ROT3REF).$(IN_CORR_EXT) $(TARGET)-$(ROT1REF)-$(ROT2REF)-$(ROT3REF).fit
+ cp $(TARGET)-$(ROT1REF)-$(ROT2REF)-$(ROT3REF).$(IN_CORR_EXT) $(TARGET).tmp;
+ make IN_CORR_LIST1;
+ make fit_plus;
+ make fit_minus;
+ rm $(TARGET).tmp;
+
+IN_CORR_LIST1::
+ touch IN_CORR_LIST_plus;
+ rm IN_CORR_LIST_plus;
+ echo "IN_CORR_LIST_plus=\\" > IN_CORR_LIST_plus;
+ @for (( rot2 = $(ROT2REF) + $(ROT2D) ; rot2 <= $(ROT2MAX); rot2 += $(ROT2D) )) \
+ do \
+ echo $(TARGET)-$(ROT1REF)-$$rot2-$(ROT3REF).$(IN_CORR_EXT) | sed s/$(IN_CORR_EXT)/$(IN_CORR_EXT)\\\\/ >> IN_CORR_LIST_plus; \
+ done
+ echo "" >> IN_CORR_LIST_plus;
+
+ touch IN_CORR_LIST_minus;
+ rm IN_CORR_LIST_minus;
+ echo "IN_CORR_LIST_minus=\\" > IN_CORR_LIST_minus;
+ @for (( rot2 = $(ROT2REF) - $(ROT2D) ; rot2 >= $(ROT2MIN); rot2 -= $(ROT2D) )) \
+ do \
+ echo $(TARGET)-$(ROT1REF)-$$rot2-$(ROT3REF).$(IN_CORR_EXT) | sed s/$(IN_CORR_EXT)/$(IN_CORR_EXT)\\\\/ >> IN_CORR_LIST_minus; \
+ done
+ echo "" >> IN_CORR_LIST_minus;
+
+CorFit2::
+ @for (( rot2 = $(ROT2MIN) ; rot2 <= $(ROT2MAX); rot2 += $(ROT2D) )) \
+ do \
+ export rot2; \
+ make IN_CORR_LIST2; \
+ cp $(TARGET)-$(ROT1REF)-$$rot2-$(ROT3REF).fit $(TARGET).tmp; \
+ make fit_plus; \
+ make fit_minus; \
+ done
+ rm $(TARGET).tmp;
+
+IN_CORR_LIST2::
+ touch IN_CORR_LIST_plus;
+ rm IN_CORR_LIST_plus;
+ echo "IN_CORR_LIST_plus=\\" > IN_CORR_LIST_plus;
+ @for (( rot3 = $(ROT3REF) + $(ROT3D) ; rot3 <= $(ROT3MAX); rot3 += $(ROT3D) )) \
+ do \
+ echo $(TARGET)-$(ROT1REF)-$(rot2)-$$rot3.$(IN_CORR_EXT) | sed s/$(IN_CORR_EXT)/$(IN_CORR_EXT)\\\\/ >> IN_CORR_LIST_plus; \
+ done
+ echo "" >> IN_CORR_LIST_plus
+
+ touch IN_CORR_LIST_minus;
+ rm IN_CORR_LIST_minus;
+ echo "IN_CORR_LIST_minus=\\" > IN_CORR_LIST_minus;
+ @for (( rot3 = $(ROT3REF) - $(ROT3D) ; rot3 >= $(ROT3MIN); rot3 -= $(ROT3D) )) \
+ do \
+ echo $(TARGET)-$(ROT1REF)-$(rot2)-$$rot3.$(IN_CORR_EXT) | sed s/$(IN_CORR_EXT)/$(IN_CORR_EXT)\\\\/ >> IN_CORR_LIST_minus; \
+ done
+ echo "" >> IN_CORR_LIST_minus;
+
+TiltFit::
+ make IN_TILT_LIST;
+ @cp $(TARGET)-$(ROT1REF)-$(ROT2REF)-$(ROT3REF).$(IN_TILT_EXT) $(TARGET).$(IN_TILT_EXT)tmp;
+ make $(TARGET).tiltinfo;
+
+3D::
+ make 3DList;
+ make $(TARGET).3d;
+
+3DList::
+ touch $(TARGET).3dlst;
+ touch $(TARGET).tiltinfo;
+ rm $(TARGET).3dlst;
+ @for (( rot1 = $(ROT1MIN); rot1 <= $(ROT1MAX); rot1 += $(ROT1D) )) \
+ do \
+ for (( rot2 = $(ROT2MIN); rot2 <= $(ROT2MAX); rot2 += $(ROT2D) )) \
+ do \
+ for (( rot3 = $(ROT3MIN); rot3 <= $(ROT3MAX); rot3 += $(ROT3D) )) \
+ do \
+ echo $(TARGET)-$$rot1-$$rot2-$$rot3.$(IN_3D_EXT) $(ROTMODE) `cat $(TARGET).tiltinfo`0 $$rot2 $$rot3 >> $(TARGET).3dlst; \
+ done \
+ done \
+ done
+
+Radon3D::
+ make RadonList;
+ make $(JOP_NUM) sino;
+ make $(TARGET).3dradon;
+ make $(TARGET).3d;
+
+RadonList::
+ touch IN_3D_LIST;
+ echo "IN_3D_LIST=\\" > IN_3D_LIST;
+ awk '{printf("%s\n"), $$1}' $(TARGET).$(IN_LIST_EXT) | sed -e s/.$(IN_3D_EXT)/.$(IN_3D_EXT)\\\\/ >> IN_3D_LIST;
+ echo "" >> IN_3D_LIST;
+ sed -e s/.$(IN_3D_EXT)/.sino/ $(TARGET).$(IN_LIST_EXT) > $(TARGET).sinolst;
+
+Tiff::
+ make IN_TIFF_LIST;
+ make $(JOP_NUM) tiff;
+
+3DTiff::
+ make $(TARGET).tiff
+
+Test::
+ make Radon3D;
+
+
+##### Commands(Input to Output) #####
+.$(IN_NOISE_EXT).nroi:
+ mrcImageNoiseAdd -i $*.$(IN_NOISE_EXT) -o $*.nroi -SN $(SNRATIO);
+
+.$(IN_MASK_EXT).mask:
+ mrcImageWindowing -i $*.$(IN_MASK_EXT) -o $*.mask -m $(MASK_MODE) -W $(MASK_X) $(MASK_X_MAX) $(MASK_Y) $(MASK_Y_MAX) 2> /dev/null;
+
+.$(IN_CORR_EXT).fit:
+ mrcImageCorrelation -i $*.$(IN_CORR_EXT) -r $(TARGET).tmp -s $*.fit 2> /dev/null;
+ cp $*.fit $(TARGET).tmp
+
+.$(IN_TILT_EXT)tmp.tiltinfo:
+ @tiltmax=`expr "scale=$(TILTSCALE); $(TILTMAX)" | bc -l`; \
+ tiltmin=`expr "scale=$(TILTSCALE); $(TILTMIN)" | bc -l`; \
+ tiltw=`expr "scale=$(TILTSCALE); $$tiltmax - $$tiltmin" | bc -l`; \
+ for (( iter = 1; iter <= $(TILTITER); iter += 1 )) \
+ do \
+ tiltd=`expr "scale=$(TILTSCALE); $$tiltw / $(TILTN)" | bc -l`; \
+ mrcImageTiltAxisSearch -I IN_TILT_LIST -r $(TARGET).$(IN_TILT_EXT)tmp -o $(TARGET).tilt -O $(TARGET).tiltinfo -range $$tiltmin $$tiltmax $$tiltd 2> /dev/null; \
+ tmp_p=`cat $(TARGET).tiltinfo`; \
+ echo $$tmp_p; \
+ tiltmin=`expr "scale=$(TILTSCALE); $$tmp_p - ( $$tiltw / 2 )" | bc -l`; \
+ tiltmax=`expr "scale=$(TILTSCALE); $$tmp_p + ( $$tiltw / 2 )" | bc -l`; \
+ done;
+
+.3dlst.3d:
+ mrc2Dto3D -I $*.3dlst -o $*.3d -InterpolationMode $(IN_MODE) -m $(PRJ_MODE) -single $(AXIS1);
+# mrc2Dto3D -I $*.3dlst -o $*.3d -InterpolationMode $(IN_MODE) -m $(PRJ_MODE) -Double;
+
+.$(IN_3D_EXT).sino:
+ mrcImageSinogramCreate -i $*.$(IN_3D_EXT) -o $*.sino -dphi $(PHID);
+
+.sinolst.3dradon:
+ mrcRadon2Dto3D -I $*.sinolst -o $*.3dradon -ow $*.3dradonw -dp $(PD) -dtheta $(THETAD) -dphi $(PHID) -InterpolationMode $(IN_MODE);
+
+.3dradon.3d:
+ mrcImageInverseRadonTransform -i $*.3dradon -o $*.3d -bpm $(RBP_MODE) $(RBP_OPTION);
+
+.$(IN_TIFF_EXT).tiff:
+ mrc2tiff -i $*.$(IN_TIFF_EXT) -o $*.tiff 2> /dev/null;
+
+.3d.tiff:
+ @for (( loop_num = 0; loop_num <= 2; loop_num += 1 )) \
+ do \
+ mrcImageProjection -i $(TARGET).3d -o $(TARGET).tmp -m $$loop_num; \
+ mrc2tiff -i $(TARGET).tmp -o $(TARGET)$$loop_num.tiff; \
+ done;
+ rm $(TARGET).tmp;