Personal tools
You are here: Home documentation MRC Software MRC Headers ccunbendk
Document Actions

ccunbendk

by Admin last modified 2008-10-30 08:21

THE PROGRAM UNBENDS THE CRYSTAL USING OUTPUT FROM THE CROSS-CORRELATION PEAK SEARCH PROGRAM, CCORSERCH OR ITS LATER VARIANTS PROFSERCH AND QUADSERCH(0, 1, and 2)

C PROGRAM CCUNBENDK ***********************************************************
C
C               Remember to change version number in first write statement.
C               Original pre-history versions called CCUNBEND and CCUNBENDA. 
C
C       VX 1.0  RH      21.6.84 CCUNBENDB - This went through a variety of
C                               changes before version numbers were started.
C       VX 2.0  JMB     20.3.86 Debug part dealing with last strip.
C       VX 2.1  JMB     16.6.87 Rectangular images
C       VX 2.2  RH      12.9.87 Extra guide points > 2*IKNOTS per axis.
C       VX 2.3  RH      04.1.88 Extra guide points > 3*IKNOTS per axis.
C       VX 2.4  RH      29.2.88 NDATA=50000
C       VX 2.5  RH      07.4.88 ISIZEX=7500
C       VX 3.0  RH      20.8.88 Efficient guide points &  non-spline option.
C                               renamed CCUNBENDC, old programs retained.
C       VX 3.1  RH     13.11.88 Optimised ISIZEX=6000,ISTEPMAX=60,IDEEP=160
C       VX 3.2  RH     18.12.89 Minor changes, mainly cosmetic.
C       VX 3.3  RH     16.5.90  IMAXCOR limit on X removed.
C       VX 3.4  RH     30.5.90  Fudge on XAPPLY check.
C       VX 3.5  RH     15.6.90  REAL*8 for SUMOUT
C       VX 4.0  RH     03.1.92  Convert for UNIX on Alliant    
C       VX 4.1  RH     23.8.93  insert check for DMIN,DMAX,DMEAN sensible.
C       VX 4.2  RH     07.9.94  increased NDIMX,NDIMY for smoother unbending
C       VX 4.3  RH     09.9.94  improved efficiency for FILLEMPTIES
C       VX 4.4  RH     13.9.94  taperedge option for single molecule work
C                               renames CCUNBENDD, extra input parameters
C       VX 4.5  RH     27.1.95  change plot scale-factor, debug fillempties
C       VX 4.6  RH     29.4.95  add date to plots
C       VX 4.7  RH     25.7.95  ENCODE debug for Alpha
C       VX 4.8  RH     9.10.95  increase dimensions to 8000
C       VX 4.9  RH     23.3.96  optional O/P unbend correction table CCUNBENDE
C       VX 5.0  RH     22.4.96  add initialization and reorder IF statement
C       VX 5.1  RH     11.3.98  change distortion plot to 10x error
C       VX 6.0  RH     23.8.00  convert to plot2000 direct postscript output
C       "       TSH    13.6.01  P2K_FONT needed string terminator
C
C       MODIFIED  16.6.87  TO BE CORRECT FOR RECTANGULAR IMAGES UP TO SIZE
C       7200 X 9600
C       MODIFIED  14.12.85   TO GREATLY INCREASE THE NUMBER OF KNOTS ALLOWED IN
C            ONLY IN THE DIRECTION PERPENDICULAR TO THE TILT AXIS.
C            WORKS IN CONJUNCTION WITH CCORSERCH OR PROFSERCH.
C            THE PROGRAM UNBENDS THE CRYSTAL USING OUTPUT
C            FROM THE CROSS-CORRELATION PEAK SEARCH PROGRAM, CCORSERCH OR
C            ITS LATER VARIANTS PROFSERCH AND QUADSERCH(0, 1, and 2)
C
C  CONTROL DATA :-
C       CARD 1 : FILE NAME OF INPUT IMAGE FILE.(ONLY HEADER READ IF IOUT=0).
C       CARD 2 : ITYPE,IOUT,IMAXCOR,ISTEP,LTAPER,RTAPER,LTABOUT
C       CARD 3 : IKNOTX,IKNOTY,EPS,FACTOR,TLTAXIS
C       CARD 4 : PLOT TITLE FOR DISTORTION CORRECTION DISPLAY.
C      and if IOUT = 1,
C       CARD 5 : FULL FILE NAME FOR OUTPUT OF CORRECTED IMAGE.
C       CARD 6 : TITLE TO BE ADDED TO CORRECTED IMAGE TITLE RECORD.
C
C   INPUT FILES:
C         CCORDATA      - FILE OF PARAMETERS CONTAINING DETAILS OF
C                          THE CCORSERCH RUN AND 
C                       - RAW LIST OF CORRELATION PEAK POSITION AND HEIGHTS
C                          PRODUCED BY CCORSERCH.
C         PIX(NAME)     - ORIGINAL DENSITOMETER RAW IMAGE FILE.
C
C   OUTPUT FILES:
C         PIXOUT(NAME1) - THE UNBENT IMAGE FILE, FULLY CORRECTED FOR
C                          THE SMOOTHED DISTORTION CORRECTIONS.
C         TABLEOUT      - The unbending table as used inside the program - may
C                          be useful for creation of fixed distortion table,
C                          for example, to correct fibre optic distortion in
C                          in another program, e.g. pickprofa.for
C   OPTIONS ARE:
C                         INTERPOLATION OF IMAGE DISTORTION TO PRODUCE
C         ITYPE = 0 ----- USES CORRELATION PEAKS EXACTLY WITHOUT SMOOTHING.
C               = 1 ----- SAME USING BICUBIC SPLINE FITTING (NAGLIB).
C
C         IOUT  = 0 ----- NO OUTPUT, DIAGNOSTICS ONLY.
C               = 1 ----- CORRECTED IMAGE OUTPUT USING THE SMOOTHED PARAMETERS
C                          AS ABOVE.
C         ISTEP --------- SIZE OF GRID ON WHICH THE INTERPOLATED VECTORS ARE
C                          CALCULATED.
C         IMAXCOR ------- SIZE OF THE MAXIMUM ALLOWED CORRECTION, TO ENABLE THE
C                          SIZE OF EACH STRIP READ INTO CORE TO BE CALCULATED -
C                          (ISTEP + 2*IMAXCOR).
C                          CORRECTIONS LARGER THAN IMAXCOR ARE REDUCED.
C                          A FURTHER LIMIT THAT IMAXCOR IS NOT GREATER THAN 
C                          ISTEP WAS INTRODUCED IN Nov-88 TO KEEP THE PROGRAM
C                          SIMPLE. BIGGER VALUES WILL NEED A MAJOR REWRITE.
C         LTAPER -------- T or F (logical*1) for application of a taperedge
C         RTAPER -------- Radius to be used from centre of ISTEP boxes.
C         LTABOUT ------- T or F (logical*1) for output of unbending table
C         IKNOTX -------- NUMBER OF KNOTS TO BE DISTRIBUTED ACROSS IMAGE IN
C                          BICUBIC SPLINE MODE OF SMOOTHING --  IKNOTX DESCRIBES
C                          DISTORTIONS PARALLEL TO THE TILTAXIS.
C         IKNOTY -------- NUMBER OF KNOTS -- IKNOTY DESCRIBES DISTORTIONS
C                          PERPENDICULAR TO THE TILTAXIS -- THIS WILL NEED TO
C                          BE SEVERAL TIMES HIGHER IF THE IMAGE IS OF A HIGHLY
C                          TILTED SPECIMEN.
C         EPS ----------- THRESHOLD FOR DETERMINATION OF RANK OF BICUBIC
C                          SPLINE FITTING MATRIX. TRY 0.00001 --- OTHERWISE
C                          SEE WRITE-UP FOR NAGLIB E02DAF SUBROUTINE.
C         THRESH -------- THRESHOLD OF CROSS-CORRELATION PEAK HEIGHT,
C                          CALCULATED AS;
C                    DENMAX (READ FROM CCORDATA) * FACTOR (READ FROM UNIT 5),
C                        , BELOW WHICH THE PEAK IS NOT USED.
C         TLTAXIS ------- DIRECTION OF TILTAXIS RELATIVE TO NORMAL X-Y AXES OF
C                          IMAGE.
C
C*******************************************************************************
C
C  DIMENSION STATEMENTS INCLUDE THE FOLLOWING PARAMETERS :-
C       NDATA  - MAXIMUM NUMBER OF CORRELATION PEAKS ABOVE THRESH.
C       NDIMX   - MAXIMUM NUMBER OF BLOCKS IN WHICH DISTORTION CORRECTION
C                IS CALCULATED. (NUMBER OF BLOCKS = NXYZ(1)/ISTEP),
C                BOTH NXYZ(1) AND ISTEP ARE INPUT PARAMETERS.
C       NDIMY  - NXYZ(2)/ISTEP
C       NMAXKN - MAXIMUM NUMBER OF KNOTS - USABLE NUMBER (IKNOTS)=(NMAXKN-8).
C       NCMAX  -      (NMAXKN+4)**2  SOMETHING TO DO WITH THE KNOT SUBROUTINE.
C       NPOINT - NDATA+(NMAXKN+1)**2       DITTO.
C       NPOINT ALSO - MCALC+(NMAXKN+1)**2; MCALC=NDIMX*NDIMY; MCALC SHOULD NOT 
C               BE LARGER THAN NDATA; VALUE CAN BE ADJUSTED WITH ISTEP
C       ISIZEX  - MAXIMUM IMAGE SIZE IN X-DIMENSION
C       IDEEP  - IMAGE IS READ IN AND CORRECTED IN SLICES OF DEPTH UP TO IDEEP.
C                SMALLER IDEEP RESULTS IN MORE I/O, LARGER IN MORE PAGE FAULTS.
C              - IDEEP MUST BE (2*IMAXCOR + ISTEP); BOTH ON DATA CARD 2
C       NWSPCE - WORKSPACE FOR KNOT SUBROUTINE -- SEE NAGLIB WRITE-UP.
C                  MUST BE .GT. 4+3*(NMAXKN+4)+2*NCMAX*(6+3*(NMAXKN+4))
C                  -- i.e. increases proportional to NMAXKN**3 !!
C       ISTEPMAX - MAXIMUM VALUE OF ISTEP ABLE TO BE USED - CONTROLS DIMENSION
C                  OF PICOUT.
C

eXTReMe Tracker