C ++********************************************************************
C                                                                      *
C                                                                      *
C                                                                      *
C **********************************************************************
C=* FROM: SPIDER - MODULAR IMAGE PROCESSING SYSTEM.   AUTHOR: J.FRANK  *
C=* Copyright (C) 1985-2005  Health Research Inc.                      *
C=*                                                                    *
C=* HEALTH RESEARCH INCORPORATED (HRI),                                *   
C=* ONE UNIVERSITY PLACE, RENSSELAER, NY 12144-3455.                   *
C=*                                                                    *
C=* Email:  spider@wadsworth.org                                       *
C=*                                                                    *
C=* This program is free software; you can redistribute it and/or      *
C=* modify it under the terms of the GNU General Public License as     *
C=* published by the Free Software Foundation; either version 2 of the *
C=* License, or (at your option) any later version.                    *
C=*                                                                    *
C=* This program is distributed in the hope that it will be useful,    *
C=* but WITHOUT ANY WARRANTY; without even the implied warranty of     *
C=* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  *
C=* General Public License for more details.                           *
C=*                                                                    *
C=* You should have received a copy of the GNU General Public License  *
C=* along with this program; if not, write to the                      *
C=* Free Software Foundation, Inc.,                                    *
C=* 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.      *
C=*                                                                    *
C **********************************************************************
C                                                                      *
C                                                                      *
C                                                                      *
C  PURPOSE:                                                            *
C                                                                      *
C  PARAMETERS:                                                         *
C IMAGE_PROCESSING_ROUTINE                                             *
C                                                                      *
C        0         2         3         4         5         6         7 *
C23456789012345678901234567890123456789012345678901234567890123456789012
C***********************************************************************

        SUBROUTINE  QNRF(Q1,Q2,KLX,KNX,KLY,KNY,KLZ,KNZ,R)

        DIMENSION Q1(KLX:KNX,KLY:KNY,KLZ:KNZ),
     &                  Q2(KLX:KNX,KLY:KNY,KLZ:KNZ)
        DOUBLE PRECISION  AA,AB,SX,SY,SXQ,SYQ
        COMMON  /QNORMA/  AA,AB

        RR=R*R
        SX=0.0
        SY=0.0
        SXQ=0.0
        SYQ=0.0
        M=0
        DO IZ=KLZ,KNZ
           RZ=IZ*IZ
           DO IY=KLY,KNY
              RY=IY*IY+RZ
              DO IX=KLX,KNX
                 RT=IX*IX+RY
                 IF (RT.LE.RR) THEN
                    SXQ=SXQ+Q1(IX,IY,IZ)*DBLE(Q1(IX,IY,IZ))
                    SYQ=SYQ+Q2(IX,IY,IZ)*DBLE(Q2(IX,IY,IZ))
                    SX=SX+Q1(IX,IY,IZ)
                    SY=SY+Q2(IX,IY,IZ)
                    M=M+1
                 ENDIF
              ENDDO
           ENDDO
        ENDDO

        AA=DSQRT((SXQ-SX*SX/M)*(SYQ-SY*SY/M))
        AB=SX*SY/M

        END


