
C ++********************************************************************
C                                                                      *
C SSNR.F                                                               *
C              OPFILEC                             FEB  03 ARDEAN LEITH
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 SSNR(MAXMEM)
C
C PARAMETERS:      MAXMEM      MAXIMUM LENGTH OF UNLABELD COMMON
C
C IMAGE_PROCESSING_ROUTINE
C
C23456789012345678901234567890123456789012345678901234567890123456789012
C***********************************************************************

         SUBROUTINE  SSNR

         INCLUDE 'CMBLOCK.INC'
         INCLUDE 'CMLIMIT.INC'

         CHARACTER*80      FINPAT,FINPIC,MASK
         COMMON  /F_SPEC/  FINPAT,FINPIC,NLET

         INTEGER, ALLOCATABLE, DIMENSION(:) :: ILIST

         DATA  LUN9,INPIC/98,99/

         NILMAX = NIMAX
         ALLOCATE (ILIST(NILMAX), STAT=IRTFLG)
         IF (IRTFLG.NE.0) THEN
            CALL ERRT(46,'RF SN, ILIST',IER)
            RETURN
         ENDIF

         CALL FILELIST(.TRUE.,INPIC,FINPAT,NLET,ILIST,NILMAX,NANG,
     &                 'ENTER TEMPLATE FOR 2-D IMAGES',IRTFLG)
         IF (IRTFLG .NE. 0)  RETURN

C        NANG - TOTAL NUMBER OF IMAGES
         WRITE(NOUT,2001) NANG
 2001    FORMAT(' NUMBER OF IMAGES: ',I5)

         MAXIM = 0.0
         CALL  FILGET(FINPAT,FINPIC,NLET,ILIST(1),INTFLG)
         CALL OPFILEC(0,.FALSE.,FINPIC,INPIC,'O',IFORM,NSAM,NROW,NSL,
     &              MAXIM,'DUMMY',.FALSE.,IRTFLG)
         IF (IRTFLG .NE. 0)  RETURN
         CLOSE(INPIC)

         MAXIM = 0.0
         CALL OPFILEC(0,.TRUE.,MASK,LUN9,'O',IFORM,NSAM1,NROW1,NSLICE1,
     &             MAXIM,'MASK',.TRUE.,IRTFLG)
         IF (IRTFLG .NE. 0)  RETURN

         IF (NSAM.NE.NSAM1 .OR. NROW.NE.NROW1)  THEN
            CALL  ERRT(1,'RF SN',NE)
            CLOSE(LUN9)
            RETURN
         ENDIF

         CALL RDPRM(WI,NOT_USED,'RING WIDTH')

         Y1     = FLOAT(MAX0(NSAM,NROW))
         INC    = INT(Y1/WI)/2+1
         NNNN   = NSAM+2-MOD(NSAM,2)

         CALL SSNRB(INC,Y1,WI,ILIST,NANG,NNNN,NSAM,NROW,LUN9)

         RETURN
         END

