1 DG_SMOOTH
                        DG_SMOOTH
        Smoothes an image using the Conjugate Gradient Algorithm.
                            (Author: Didier GIRARD, Groupe d'Astrophysique)

    The smoothed image is the equilibrium   state   of   a   thin   flexible
    plate  constrained  to  pass near each height datum by a spring attached
    between it and the plate.  The smoothing is controled by the  "Smoothing
    Parameter" P :
                    P = ( plate stiffness) / ( springs stiffness)
    A low value for P (0.001) means high fidelity to the original  data  and
    should  be used for high signal to noise ratios.  If the data are noisy,
    use higher values of P (0.1 to 10).   The  algorithm  is  iterative  and
    needs  a  work  space equal to 3 input maps.  It usually converges in 10
    iterations, and can be restarted if you save the work files.  Timing  is
    of  the order of 2 seconds of microVAX II CPU time for a 128 by 128 map.
    It takes into account blanked pixels properly.
2 RESTART$
        TASK\LOGICAL "Restart smoothing from previous step" RESTART$

    This is a logical flag to indicate restart from a previous  run  of  the
    program.
2 P$
        TASK\REAL "Smoothing parameter" P$

    This is the value of the smoothing parameters.  It should remain between
    0.001 and 10.  Higher values give stronger smoothing.
2 NITER$
        TASK\INTEGER "Number of smoothing iterations" NITER$

    This is the number of smoothing iterations.  Ten iterations are  usually
    enough to reach convergence.
2 Z_NAME$
        TASK\FILE "Input file name" Z_NAME$

    This is the name of the input file.
2 Y_NAME$
        TASK\FILE "Output file name" Y_NAME$

    This is the  name  of  the  internal  work  file.   It  is  not  deleted
    automatically,  and  it is needed if you want to restart from a previous
    number of iterations.
2 X_NAME$
        TASK\FILE "Work file name" X_NAME$

    This is the name of the output smoothed image.
2 GUESS$
        TASK\REAL "Initial value for blanked pixels" GUESS$

    This is an initial guess for the value  attributed  to  blanked  pixels.
    Try  to  find  something  reasonable.  Convergence can be delayed if you
    choose a crazy value.
1 END













