C++********************************************************************* C C AP_GETDATS.F EXTRACTED OCT. 2003 ARDEAN LEITH C LS1... INTERNALIZED DEC. 2003 ARDEAN LEITH C CALLS NORM3 JUN 2004 ARDEAN LEITH C REMOVED WINDOWING MAR 2005 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 C AP_GETDATS(ILIP,NIMA,LSAM,LROW,NUMTH,EXPPAT,INPIC, IGO,IEND, C X, IRTFLG) C C PURPOSE: READ IMAGE DATA INTO ARRAY X FOR 'AP' OPS. C CALLS NORM3 IF NEEDED. CAN LOAD MUTIPLE IMAGES C C PARAMETERS: C ILIP LIST OF IMAGE FILE NUMBERS (INPUT) C NIMA NO. OF IMAGES (INPUT) C LSAM,LROW IMAGE DIMENSIONS (INPUT) C EXPPAT IMAGE SERIES FILE TEMPLATE (INPUT) C INPIC IMAGE FILE IO UNIT (INPUT) C IGO,IEND IMAGE INDEX RANGE (INPUT) C X OUTPUT ARRAY (OUTPUT) C IRTFLG ERROR FLAG (OUTPUT) C C VARIABLES: C C--********************************************************************* SUBROUTINE AP_GETDATS(ILIP,NIMA,LSAM,LROW, & NUMTH,EXPPAT,INPIC, IGO,IEND, & X,IRTFLG) INCLUDE 'CMLIMIT.INC' INCLUDE 'CMBLOCK.INC' REAL, DIMENSION(LSAM,LROW,NUMTH) :: X INTEGER, DIMENSION(NIMA) :: ILIP CHARACTER (LEN=*) :: EXPPAT CHARACTER(LEN=MAXNAM) :: FILNAM LOGICAL :: ONEIMAGE IRTFLG = 1 c write(6,*) 'Reading images: ',igo,'...',iend ONEIMAGE = (IGO .LE. 0 .OR. ILIP(IGO) .LE. 0) c write(6,*) 'ONEIMAGE: ',ONEIMAGE,NIMA DO ITI=IGO,IEND IF (ONEIMAGE) THEN FILNAM = EXPPAT ELSE NLET = 0 CALL FILGET(EXPPAT,FILNAM,NLET,ILIP(ITI),IRTFLG) IF (IRTFLG .NE. 0) RETURN ENDIF MAXIM = 0 CALL OPFILEC(0,.FALSE.,FILNAM,INPIC,'O',IFORM, & LSAMT,LROWT,NSLICE,MAXIM,' ',.FALSE.,IRTFLG) IF (IRTFLG .NE. 0) RETURN IF (LSAMT.NE.LSAM .OR. LROWT.NE.LROW) THEN CALL ERRT(102,'INCONSISTENT IMAGE SIZE',LSAMT) IRTFLG = 1 RETURN ENDIF IF (IMAMI .NE. 1) & CALL NORM3(INPIC,LSAM,LROW,NSLICE,FMAX,FMIN,AV) IT = ITI-IGO+1 C READ IN THE WHOLE IMAGE CALL REDVOL(INPIC,LSAM,LROW,1,1, X(1,1,IT),IRTFLG) CLOSE(INPIC) IF (IRTFLG .NE. 0) RETURN ENDDO IRTFLG = 0 END