ELECTRON DIFFRACTION PATTERN PROGRAMS
               -------------------------------------

1.  BACKAUTO:
------------
     PROGRAM TO CALCULATE THE MEAN RADIAL DENSITY (BACKGROUND)
     OF AN ELECTRON DIFFRACTION PATTERN - any size rectangular area.
	The new version has options to carry out automatic centre
	determination, and update of the header into the invisible IEXTRA 
	records used by the subsequent program PICKYCOR.

     VX2.0	RH	22-Mar-1992

     Plots three possible background raster choices for PICKYCOR
	- only if IEXTRA entries in header are set for DX1,DY1,DX2,DY2
     Plots radial background curve
     Plots X-average, Y-average, and perimeter Y-average (YCOR)


	Data input cards :

		0.	IREF,IPLOT	if IREF.eq.'F' no automatic centring
					if IPLOT.eq.F' no plots done.
		1.	CX,CY		Centre coords relative to centre of film
		2.	NPLATE		Film number used to identify outputs
		3.	TITLE		Title for same purpose
		4.	NPNTS		smoothing over 2*NPNTS+1 in radial curve
		5.	IRMAX,IRMIN	max and min limits for X,Y-average plots
		6.	IRMAXC,IRMINC	max and min limits for YCORRECTION

2.  AUTOINDEX:
-------------
  This program reads in a digitized electron diffraction pattern, to which 
     background correction has already been applied, searches for peaks, 
     averages the image areas centred on each peak, then performs a radial 
     spiral search until the two shortest base vectors are found.  
     These are the A- and B-axes.
        In subroutine REINDEX, which can be a dummy subroutine, the base vector
     indexing can be rearranged to fit with a crystal-specific scheme defined
     by the user.   For example, purple membrane hk requires I(4,3) >> I(3,4).
        The lattice parameters together with suggested integration and 
     background raster sizes are put into the header records of the input file 
     and the output average picture file.

     VX1.0	RH	22-Mar-1992	original program
     VX1.1	RH	 8-Apr-1992	various debugs
     VX1.2	RH	13-Apr-1992	more debugs
     VX1.3	RH	19-May-1992	CX,CY debug
     VX1.4	RH	21-Mar-1993	default NSTEP=4

     Output, for cosmetic examination only, is average picture near an average 
     spot, together with the assigned indexing, on OUT
     There is also a plot file showing the selected rasters on FOR008

     For input, requires only the file name of the background-corrected 
     pattern, on IN


3.  PICKAUTO:
------------
	VX3.00	25.3.92		RH
	VX3.01	08.4.92		RH	radii in Angstroms, rather than pixels.
	VX3.02	22.5.92		RH	resolution statistics
   derived from PICKYCOR  much modified program for e.d. spot integration.
     NOW DOES A YCORRECTION TO REMOVE DENSITOMETER OD DRIFT (JMB) APPROX 1984.
     WITH ADDITIONS TO DEAL AUTOMATICALLY W. TLTAXA,TLTANG 25.6.82.
     READS RADIAL AVERAGE BACKGROUND CURVE WITH STANDARD DEVIATIONS
     TESTS POINTS IN BACKGROUND RASTERS AGAINST MEAN AND STNDEV AT
     APPROPRIATE RADIUS; REPLACES VALUE BY MEAN VALUE AT THIS RADIUS 
     IF DEVIATION IS MORE THAN 3*STNDEV; KEEPS COUNT OF NUMBER OF
     SUCH POINTS -- MAY 82 .JMB.
     NOW PLOTS RESIDUAL SPOT C.OF G. VECTOR ON UNIT 8, 14.1.81
     OFFSET R**3 DISTORTION CORRECTION AND AUTOMATIC MAXRAD CUTOFF 14.1.81
     B3 NOW SEARCHED WITHOUT OFFSET -MAY 82- MORE STABLE ALGORITHM.
     PICKTILT WITH RADIAL BACKGROUND CORRECTION, 19.5.80
     PICKOFF, JOYCE-LOEBL AND NIKON VERSION 29.11.79
     CORRECTS FOR CURVED EWALD SPHERE ROUGHLY, 20.1.81
     PROGRAM TO INTEGRATE SPOTS ON A LATTICE, STARTING FROM A RECTANGULAR
     RASTER SCAN OF THE AREA . EG . OUTPUT FROM ROYAL OBSERVATORY SCANNER

    DATA CARDS ARE
    1.  A,B,G,ANGDIS,SHRINK,TILTDIR,KV,LPRINT
         REAL SPACE CELL DIMENSIONS AND GAMMA ANGLE, ANGLE ON FILM
         PERPENDICULAR TO WHICH A SHRINKAGE BY FACTOR SHRINK IS TO BE
         APPLIED BEFORE CALCULATING FINAL TLTAXIS AND TILTANGLE.
	  TILTDIR - DIRECTION OF TILT ON MICROSCOPE, 
		    -1 = CLOCKWISE
		    +1 = COUNTERCLOCKWISE
	  LPRINT  - T=PRINT ALL REFLECTION INFORMATION
    2.  J,K 
         LOOK-UP TABLE FOR OPTICAL DENSITY; LOOKUP(J)=K
         THIS IS LINEARLY INTERPOLATED FOR J=1,1500.  THE FIRST CARD MUST
         HAVE J=1 AND THE LAST J=1500.
    3.  TITLE FOR LOOK-UP TABLE  
    4.  NPLATE
         PLATE NUMBER            
    5.  TITLE
          TITLE OF DIFFRACTION PATTERN, FOR USE ON OUTPUT FILE.
    6.  B1, B3  
         RADIAL DISTORTION PARAMETERS, ONLY B3 USED CURRENTLY.
    7.  X0,Y0,
    7a. TLTAXA,TLTANG  
         COORDINATES OF CENTRE, POSITION OF TILTAXIS (ANGLE FROM TILTAXIS
         TO A-AXIS IN DIRECTION A TO B POSITIVE), SIZE OF TILTANGLE,
         TLTAXA,TLTANG OVERRIDE VALUES CALCULATED INTERNALLY, UNLESS = 0.
         NOTE-----TLTAXA HERE IS ANGLE BETWEEN TILTAXIS AND ASTAR ON FILM.
    8.  DX1,DY1,DX2,DY2  
        POSITION OF (1,0) AND (0,1) RELATIVE TO CENTRE. IF ZERO, THESE
        ARE TAKEN FROM INPUT FILE HEADER. 
    9.  ROUT,RIN,PRPMAX  
         OUTER AND INNER RADII ; MAXIMUM PERPENDICULAR DISTANCE FROM
         TILT AXIS FOR SPOTS TO BE INTEGRATED
    10. NXM,NYM,NSM,NXB,NYB,NSB,NPOS (TWICE),NTYPE  
        NXMT,NYMT, ETC.
         PEAK AND BACKGROUND RASTERS AND POSITION OF BACKGROUND.
         THESE NUMBERS PUT IN TWICE IF IT IS A TILTED DIFFRACTION
         PATTERN, TO GIVE RASTER SIZE, ETC AT MOST BLURRED PART OF PATTERN.
         NPOS=1 IS AT CENTROID OF TRIANGLE, NPOS=2 IS TWICE AS NEAR SPOTS, ETC.
         NTYPE=0,OR 1 DETERMINES POSITION OF 6 BCKGROUNDS AS SHOWN IN
         OUTPUT OF BCKGROUND PROGRAM
         NTYPE=2 GIVES 4 BCKGROUNDS AT CENTRES OF LATTICE; 
    11.  FRACT,ABSOL,XAMINE,NCYC,NCYC1  
         REFLECTIONS WITH FRIEDEL DIFFERENCES GREATER THAN FRACT AND ABSOL
         ARE REJECTED.  WEAK REFLECTIONS ARE REJECTED FROM CENTRE OF GRAV.
         AND LATTICE PARAMETER CALCULATIONS BY A CRITERION USING XAMINE.
      NCYC=N FOR FIXED NUMBER OF CYCLES=N
      NCYC=0 MEANS GO STRAIGHT TO DATA ASSESSMENT USING INPUT PARAMETERS
      NCYC1=1 FOR PRINT ALL CENTERING RASTERS ON FIRST CYCLE
    12.  NELIM
         IF +VE, NUMBER OF REFLECTIONS TO BE EXCLUDED FROM LATTICE 
         REFINEMENT; IF -VE, -NUMBER OF REFLECTIONS WHOSE RASTERS
         ARE TO BE DISPLAYED
    13.  NELH(I),NELK(I),I=1,8
         UP TO 8 INDICES OF REFLECTIONS TO BE EXCLUDED FROM REFINE; OR
         UP TO 8 INDICES OF REFLECTIONS TO BE DISPLAYED;
         OMIT THIS CARD IF NELIM=0

 INPUT AND OUTPUT*************************

  UNIT 1 : INPUT DENSITOMETERED FILM ARRAY, any size 
  UNIT 2 : OUTPUT OF INTEGRATED BACKGROUND SUBTRACTED INTENSITIES.
  UNIT 3 : INPUT RADIAL DENSITY CURVE FOR BACKGROUND CORRECTION.
  UNIT 4 : INPUT Y-AXIS DENSITOMETER DRIFT CURVE FOR BACKGROUND CORRECTION.
  UNIT 5 : INPUT DATASTREAM.
  UNIT 6 : OUTPUT DATASTREAM.
  UNIT 8 : PLOTTER OUTPUT OF SPOT POSNS. AND C.OF G. DEVIATIONS.
  UNIT 9 : INPUT header of image file with autoindexed lattice parameters



4.  MERGEDIFF:              last update 30-Apr-1986
-------------
                 FOR MERGING HIGH RESOLUTION ELECTRON DIFFRACTION
                 DATA IN THREE DIMENSIONS.

   THIS VERSION IS SUPPOSED TO CARRY OUT ALL ACTIVITIES RELATED TO HANDLING
   ELECTRON DIFFRACTION INTENSITY DATA FROM 3D (TILTED) E.D. PATTERNS IN
   ANY TWO-DIMENSIONAL SPACE GROUP.  IT CAN :-
       1.  READ IN AND PRODUCE A SORTED, MERGED LIST OF ROUGHLY SCALED DATA
           FROM ANY NUMBER OF FILMS, EITHER INDIVIDUALLY AND/OR FROM A 
           PREVIOUSLY MERGED LIST.
       2.  FIT CURVES TO THE MERGED DATA AND PLOT THE WHOLE THING LATTICE
           LINE BY LINE, WITH THE POINTS,THE FITTED CURVE AND ITS S.D.
           THIS OPTION IS CURRENTLY DONE BY SEPARATE PROGRAM 'SYNCFIT'
           TAKING AS INPUT THE DATASET PRODUCED BY MERGHIGH ON UNIT 3
       3.  PERFORM PROPER SCALING (S.F. AND TEMPF) AGAINST A PREVIOUSLY
           CALCULATED SET OF CURVES.
       4.  REFINES TILTAXIS AND TILTANGLE AGAINST PREVIOUS CURVES
       5.  DETERMINES AND CORRECTS TWIN PROPORTIONS IN P3 CRYSTALS
       4.  THE INPUT IS TYPICALLY EXPECTED TO COME FROM PICKAUTO (E.D. PATT.
           PROCESSING PROGRAM) AND OUTPUT TO GO STRAIGHT INTO THE NORMAL
           CRYSTALLOGRAPHIC SYSTEM.

           ############################

                  CARD INPUT

   0  NSER,TITLER (SER NO. AND TITLE FOR THIS JOB)          (I10,10A4)

   1  LIST,SORT,NFILE3,NFILE4,IGUIDE,LSUMMARY (IO CONTROL)      (*)

   2  LREF,LCURVES,BCURVES (REFERENCE DATA SPECS)	         (*)

   3  SCFDET,TA_REFMT,DETWIN,MASK,LMODMSK (OPERATIONAL OPTIONS) (*)

   4  ISPGRP,ALNG,BLNG,CLNG,WIDTH,ANG,RRESMAX (STR PARMS)       (*)

   5  LCF,LMODSIG,ORESMIN,ORESMAX,
                    AIMIN,AIMAX,DCUTOFF,LPRINT,CCRMAX           (*)
   5a  TITLE IF LCF IS TRUE

 FOR EACH FILM TO BE PROCESSED...

   (i)    IFILM                                                 (*)

   (ii)   NIN,TAXA,TANGL				         (*)

   (iii)  SCALE,LBISO,TFPAR,TFPERP,
	    SGNXCH,ROT180,HKREV,WIN,RESIN		         (*)

   (iv)   MASK(1),MASK(2),MASK(3),MASK(4),TP1,TP2,TP3,TP4       (*)

        (     LFILM,TITLET                                   (I5,18A4)
        (
 ON NIN (     IH,IK,I,DELI                                   (2I5,2I6)
        (
        (     IH>=900  ---> ENDS THE SET OF REFLECTIONS.

    IFILM<0  ---> ENDS DATA INPUT

               ##############################

                NSER   - SERIAL NUMBER AND TITLE OF THIS RUN, APPLIED TO
                TITLER - OUTPUT ON UNITS 3,4,6, AND 8,10(WHEN WRITTEN).

  FLAG MATRIX:
		FLAG/ SCFDET  DETWIN TA_REFMT LCURVES  LREF

	0		F	F	F	F	F
	1		F	F	F	F	T
	2		T	F	F	T	T
	3		T	F	T	T	T
	4		T	T	F	T	T
	5		T	T	T	T	T

	FLAGS: (T/F)
                LIST    : Program lists each reflection on input
                           otherwise only merged output on unit 3,4 is generated.
                SORT    : If F, no sorting and suppression of all outputs.
 			   Note that this flag supercedes all others.
                NFILE3  : Sorted reflections output to FOR003.
		NFILE4	: Final list of combined reflections output to FOR004.
		IGUIDE  : Add guide points to output where curves extend to
			   higher resolution than data to be merged.
		LSUMMARY: Produce a summary file of merged film data.

		SCFDET	: Scale and temperature factor determination
		TA_REFMT: Tilt axis/angle refinement
		DETWIN	: Detwinning treatment (P3)
		MASK	: Global mask for determining twin proportions
		LMODMSK	: Alter mask if one twin type < 0.0

		LREF	: Use reference data for comparisons
		LCURVES	: Data read in from curve list vs merged list
		BCURVES : Use binary curves as opposed to ASCII encoded ones

                ISPGRP - NUMBER OF SPACE GROUP AS BELOW
                ALNG   -  A AXIS IN ANGSTROMS
                BLNG   -  B AXIS IN ANGSTROMS
                CLNG   -  C THICKNESS IN ANGSTROMS
                WIDTH  -  WIDTH OF UNIT CELL (ZSTAR COMPARISONS FOR SCALING)
                ANG    -  ANGLE BETWEEN A AND B - ONLY FOR P1
                RRESMAX-  MAXIMUM RESOLUTION CUTOFF FOR REFLECTION
			     CONSIDERATION (Angstroms)

                LCF    - Produce pre-LCF file for difference Fourier on 
         			  channel 8 (T/F)
                LMODSIG- Modify SIG values for output (increases lower limit)
                ORESMIN- Associated minumum resolution cutoff
                ORESMAX- Associated maximum resolution cutoff
                AIMIN  - Associated minimum intensity
                AIMAX  - Associated maximum intensity
                DCUTOFF- Difference amplitude cutoff
                LPRINT - Print Delta F's for low angle correl calc
                CCRMAX - Correlation calc max resolution limit

	Then for each input film:

                IFILM  - INTEGER FILM IDENTIFIER
                TITLE  - DESCRIPTION OF FILM

                NIN    - UNIT NUMBER
                TAXA   - ANGLE BETWEEN TILT AXIS AND A AXIS
                         MEASURED IN DIRECTION OF A TO B BEING POSITIVE
                         I.E. IF TAXA>0 THEN THE TILT AXIS IS CLOCKWISE
                         FROM A.
                TANGL  - TILT ANGLE IN DEGREES

                SCALE  - MULTIPLIED BY AMPLITUDES BEFORE COMBINATION
                          IF EQUAL TO 0 SCALING IS AUTOMATIC.
                LBISO  - (T/F) flag for iostropic temperature factors.
                TFPAR  - Temperature factor to be applied to input data.
                TFPERP - Temperature factor to be applied to input data.
			   PAR is parallel to tilt axis, PERP is
			   perpendicular.  If isotropic temp factor
			   desired, only TFPAR used.
                SGNXCH - IF T, FLIP AROUND A AXIS(T/F). USEFUL IN P121.
                ROT180 - IF T, ROTATE 180 DEGREES ABOUT Z-AXIS(T/F).
			  USEFUL IN P1,P3 -- ONLY APPROPRIATE FOR IMAGES.
                HKREV  - IF T, EXCHANGE H AND K AXES(T/F). THIS IS A COSMETIC
                         FEATURE TO FACILITATE INDEXING OF DIFFICULT TILTED
                         FILMS. NOTE THAT TLTAXA AND TLTANG MUST BE CORRECT
 			  W.R.T. THE ORIGINAL DEFINITIONS OF THE 
			  DIRECTIONS OF H AND K ON THE FILM.
                WIN    - ZSTAR RANGE WITHIN WHICH SPOTS ARE COMPARED
                         FOR SCALING

                MASK   - Four values for detwinning mask.
                BBIN   - Four values to specify twin proportions.

	Then in each reflection file:

                LFILM  - FILM NUMBER
                TITLET - TITLE ON UNIT NIN (DATA). IF LFILM IS NOT EQUAL TO
                         IFILM, THE SEARCH CONTINUES THROUGHOUT UNIT NIN.

                IH     - H INDEX OF REFLECTION
                IK     - K INDEX OF REFLECTION
                I      - INTENSITY OF REFLECTION
                DELI   - DELTA(S.D.) OF REFLECTION

            ######################################

   INPUT IS MADE VIA
	UNIT  1 - IF REQUESTED, PREVIOUSLY MERGED DATA LIST
	UNIT NIN - NEW FILMS TO BE MERGED, NORMALLY UNIT 2
	UNIT  5 - CONTROL DATA
	UNIT  7 - PREVIOUSLY FITTED CURVES, STORED IN ASCII, IF REQUESTED
	UNIT  9 - (logical unit BCURVES) PREVIOUSLY FITTED CURVES IN BINARY FORM

   OUTPUT IS MADE VIA
	UNIT  3 - MERGED DATA POINTS IF REQUESTED (H,K,Z,INTENS,DELTA,FILMN)
	UNIT  4 - FINAL LIST OF COMBINED REFLECTIONS (FOR EXAMINATION)
                       (SIMILAR TO UNIT 3, BUT CLEARER FORMAT)
	UNIT  6 - LINEPRINTER
	UNIT  8 - PRE-LCF FILE IF DESIRED
	UNIT 10 - DELTA F VS S FORMATTED DATA, PRODUCED IF LCF=T
	UNIT 11 - Summary of film data, produced if LCF=T
	UNIT 12 - Summary of merged film data, produced if LSUMMARY=T


5.  AVRGDELTAF:
--------------
 PROGRAM TO OBTAIN AVERAGE deltaf's starting from DELTAF outputs from MERGEDIFF

	VX 1.2       6.2.92       RH

 input	CARD 1.    NFNAT, NFDER     -  Number of films for native and derivative
                                       to be averaged and subtracted.
	                                NFNAT can be zero.
	CARD 2.    ZMIN, ZMAX       -  minimum and maximum zstar for average.
	CARD 3.    N1....NN         -  Fortran unit numbers for native data
        CARD 3A.   WN1...WNN        -  Weights for native data (can be all 1.0)
	CARD 4.    D1....DN         -  Fortran unit numbers for derivative data
        CARD 4A.   WD1...WDN        -  Weights for derivative data.

  output -  will be to UNIT 3, same format as input with 5 dummy numbers at end
             to maintain compatibility with Tom Ceska's EDLCFKPOS program.


6.  SYNCFIT:
-----------
  VAX VERSION  SEPT 82
  FIT SYNC FUNCTIONS TO LATTICE LINES PRODUCED BY MERGHIGH
  WITH OR WITHOUT PREPARATION OF INPUT DATA SET FOR PLOTTING
  VERSION INCLUDES ESTIMATES OF ERRORS IN SYNC FUNCTION COEFFS
  AND ERRORS IN FITTED CURVE.  ALSO CALCULATES MERGING R-FACTORS
  UNIT 2 USED FOR FITTED CURVES
  THIS VERSION DOES NOT ELIMINATE NEGATIVE SYNC FUNCTION COEFFS
    MISSING REGIONS OF THE LATTICE LINE ARE FILLED IN AS GUIDE POINTS

    DATA SETS USED ARE:-
     (1)  LATTICE LINE DATA POINTS FOR CURVE FITTING
         FORMAT OF DATASET:- TITLE RECORD,I10,10A4;
                        H,K,ZSTAR,AMP,DIFF,IFILM (2I3,F7.4,2F8.1,I6)
                        TERMINATED 100,100 ETC
     (2)  DATASET FOR NEW FITTED CURVES
         FORMAT (2I3,F7.4,F8.1); TERMINATED 100,100
     (3)  OUTPUT FORMATTED LIST OF SYNC FUNCTION COEFFICIENTS
     (10) PLOT DATA SET READY FOR PROGRAM PLOTCRVS
          BINARY DATA SET- SEE SUBROUTINE POINTS FOR CONTENT OF THIS

    DATA CARDS ARE
    (1) IPLOT     (*)
    IF IPLOT=0, FITS SYNC FUNCTIONS AND COMPUTES R-FACTORS ONLY;
    IF IPLOT=1, FITS SYNC FUNCTIONS, COMPUTES R-FACTORS, AND
                PLOTS DATA POINTS AND FITTED CURVES
    (2) ACELL,BCELL,GAMMA       (*)
        2D UNIT CELL DIMENSIONS
    (3) RESMAX,BSINC,SIGMIN,SIGMAX,SIGUID     (*)
        RESMAX; DATA DISCARDED IF (1/D**2) > RESMAX (IN ANGS**-2)
        BSINC;  APPLIES TEMP FACTOR EQUIVALENT TO 2*BSINC TO
                SINCS IN CURVE FITTING
        SIGMIN; MINIMUM SIGMA FOR CURVE FITTING
        SIGMAX; MAXIMUM SIGMA FOR CURVE FITTING
        SIGUID; SIGMA FOR GUIDE POINTS SET TO SIGUID*(AVERAGE 
                SIGMA OF NEAREST DATA POINTS). SIGMA IS DOUBLED 
                AS GUIDE POINTS GET FURTHER FROM DATA POINTS.
       ALL THESE HAVE DEFAULT VALUES IF SET AS 0.



7.  MKLCF:       Standard CCP4 program to create LCF files from formatted data.
---------


8.  UPDTXTRA:
------------
 PROGRAM TO UPDATE EXTRA INFORMATION IN HEADER TO INCLUDE LATTICE VECTORS FOR 
      ELECTRON DIFFRACTION PATTERNS
           15-OCT-1984   T. CESKA	Original program.

 INPUT FILES:
        LAT		TEXT FILE CONTAINING LATTICE VECTORS
      			USUALLY FROM AEDDSP PROGRAM
      
        IN		DIFFRACTION PATTERN IMAGE FILE
      
 Output is four numbers put into the extra header records, locations 4-7.