C	
C ++********************************************************************
C
C ATPK
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 ATPK                                                                 *
C
C SUPPORT_ROUTINE
C
C23456789012345678901234567890123456789012345678901234567890123456789012
C***********************************************************************

        SUBROUTINE ATPK(LUN1,NSAM,NROW,NSLICE)
	
        INCLUDE 'CMBLOCK.INC'
        REAL, ALLOCATABLE, DIMENSION(:,:) :: XYZ
        INCLUDE 'CMLIMIT.INC' 
 
        DIMENSION     DLIST(4)

        DATA NDOC/55/

        CALL RDPRMI(NGH,NDUM,NOT_USED,
     &              'NEIGHBOURHOOD PIXELS FOR SEARCH')
        IF (NGH .LT. 3) THEN
           CALL ERRT(31,'PKDS',NE)
           RETURN
        ENDIF
        NQ = NGH/2
       
        CALL  RDPRM(THRSH,NOT_USED,'THRESHOLD FOR PEAKS')
        CALL RDPRMI(NNSAM,NNROW,NOT_USED,'MICROGRAPH EDGE DIMENSION')
        WRITE(NOUT,*)'   '
        WRITE(NOUT,*) ' ****PEAKS CLOSER TO THE EDGE OF THE ',
     &                ' MICROGRAPH ARE EXCLUDED****'
        WRITE(NOUT,*)'   '

C       MAXIMUM NUMBER OF POSSIBLE PEAKS 
        ITMP = (NSAM/NGH +1)*(NROW/NGH +1)

        ALLOCATE (XYZ(3,ITMP), STAT=IRTFLG)
        IF (IRTFLG.NE.0) THEN 
           CALL ERRT(46,'AT PK, XYZ',IER)
           RETURN
        ENDIF

        CALL PKD(LUN1,NSAM,NROW,NQ,XYZ,itmp,THRSH,L,
     &            NNSAM,NNROW)

        NLIST    = 2
        DLIST(1) = -1
        DLIST(2) = L
        CALL SAVD(NDOC,DLIST,NLIST,IRTFLG)

        NLIST = 4
	
        DO I1=1,L
           DLIST(1) = I1
           DLIST(2) = XYZ(1,I1)
           DLIST(3) = XYZ(2,I1)
           DLIST(4) = XYZ(3,I1)
           CALL SAVD(NDOC,DLIST,NLIST,IRTFLG)
        ENDDO

        CALL SAVDC

        CLOSE(NDOC)
        DEALLOCATE(XYZ)

        END


