C ++********************************************************************
C                                                                      *
C TIMA                                               *
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***********************************************************************

        SUBROUTINE TIMA(NSAM,Y,AVG,NNSAM,NNROW,AVAV,AVVR,SDAV,SDVR)

C	NSAM & NROW ARE THE DIMENSIONS OF THE ORIGINAL WINDOW
C	AND NNSAM AND NNROW ARE THE DIMENSIONS OF THE MINI WINDOW) 

        DIMENSION Y(NSAM,NSAM)


	ND   = NNSAM/2
	NT   = 0
	SUMT = 0
	VART = 0
	UUT  = 0
	UVT  = 0
	DO  I=1,(NSAM-NNSAM+1),ND
	   DO  J=1,(NSAM-NNROW+1),ND
              SUME = 0
	      SSUM = 0
	      AAD2 = 0
	      NT   = NT+1
	      DO  IW=I,I+NNSAM-1
	         DO  JW=J,J+NNROW-1
	            T    = Y(IW,JW)
	            R    = T-AVG
	            SUME = SUME+T
	            SSUM = SSUM+R
	            U    = T*T
	            AAD2 = AAD2+U
	         ENDDO
	      ENDDO
	      XX   = FLOAT(NNROW)*FLOAT(NNSAM)
	      AVV  = SUME/XX
	      SQQ  = AVV*AVV                  
	      VAR  = AAD2-(XX*SQQ)
	      AAVG = ABS(SSUM)/XX
	      SUMT = SUMT+AAVG
	      VART = VART+VAR
	      UU   = AAVG*AAVG
	      UV   = VAR*VAR
	      UUT  = UUT+UU
	      UVT  = UVT+UV	   
	   ENDDO
        ENDDO

C	VAR GIVES THE VARIANCE OF THE MINI WINDOW
C	SUMT AND VART GIVE THE SUMS OF THE LOCAL DISTANCE AVERAGES(LDA) 
C	AND VARIANCES OF ALL THE WINDOWS RESPECTIVELY
C	UU AND UV GIVE THE SQUARES OF LDA AND VARIANCE OF EACH WINDOW
C	UUT AND UVT GIVE THE SUMS OF SQUARES OF UU AND UV

        AVAV = SUMT/FLOAT(NT)
	AVVR = VART/FLOAT(NT)
        PS1  = AVAV*AVAV
	PS2  = AVVR*AVVR
	VRAV = UUT-(FLOAT(NT)*PS1)
	VRVR = UVT-(FLOAT(NT)*PS2)
	SDAV = SQRT(VRAV)
	SDVR = SQRT(VRVR)

        RETURN
        END
