C++********************************************************************* C C COPYU.F -- CREATED MAR 89 C REWRITTEN FEB 99 ARDEAN LEITH C C ********************************************************************** C * AUTHOR: A. LEITH * 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 COPYU(LUNO,LUNN,NSAM,NROW,NSLICE) C C PURPOSE: CONVERT SPIDER IMAGE FILES TO 8 BIT RAW C C CALLED BY: UTIL2 C C--********************************************************************* SUBROUTINE COPYU(LUNO,LUNN,NSAM,NROW,NSLICE) INCLUDE 'CMBLOCK.INC' CHARACTER * 81 FILNEW COMMON /COMMUN/ FILNEW CHARACTER NULL LOGICAL HEADER,NORMAL CHARACTER * 1 ANS NULL = CHAR(0) CALL RDPRMC(ANS,NA,.TRUE., & 'DO YOU WANT TO NORMALIZE THE OUTPUT TO 0-255? (Y/N)', & NULL,IRT) NORMAL = (ANS .NE. 'N' .AND. ANS .NE. 'n') CALL RDPRMC(ANS,NA,.TRUE., & 'DO YOU WANT TO KEEP THE HEADER? (N/Y)', NULL,IRT) HEADER = (ANS .EQ. 'Y' .OR. ANS .EQ. 'y') IF (HEADER) THEN WRITE(NOUT,*) & 'SORRY: THIS HEADER OPTION NO LONGER AVAILABLE' HEADER = .FALSE. ENDIF IF (IMAMI .EQ. 0) THEN C MUST NORMALIZE INPUT IMAGE FIRST CALL NORM3(LUNO,NSAM,NROW,NSLICE,FMAX,FMIN,AV) ENDIF IPAD = 0 NSAMRE = MOD(NSAM,4) CALL RDPRMC(ANS,NC,.TRUE., & 'PAD TO INCREMENT OF 4 IF NECESSARY? (N/Y)',NULL,IRTFLG) IF (IRTFLG .EQ. -1) GOTO 9001 IF ((NSAMRE .NE. 0).AND.(ANS .EQ. 'Y' .OR. ANS .EQ. 'y'))THEN C WANT TO PAD IPAD = 4 - NSAMRE ENDIF C OUTPUT FILE HAS 1 BYTE RECORDS #if defined (__osf__) || defined (SP_NT) || defined (__linux__) C DIRECT FORMATTED RECORDS LENREC = -1 #else C DIRECT UNFORMATTED RECORDS LENREC = 1 #endif CALL OPAUXFILE(.TRUE.,FILNEW,DATEXC,LUNN,LENREC,'N', & 'EIGHT BIT RAW',.TRUE.,IRTFLG) CALL UNIXTOUNIX8(LUNO,LUNN,0,255,FMIN,FMAX,NSAM,NROW,NSLICE, & NORMAL,IPAD,IRTFLG) C CLOSE INPUT AND OUTPUT FILES 9000 CLOSE(LUNN) 9001 CLOSE(LUNO) RETURN END