C ++******************************************************************** C * C MRDOC * 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 MRDOC(SCALE,SHIFT,ANGLE,NUMBER,P3D) * C * C PURPOSE: RECORDS THE ROTATIONS, SCALE, AND SHIFTS OF THE IMAGES * C * C PARAMETERS: * C * C23456789012345678901234567890123456789012345678901234567890123456789012 C*********************************************************************** SUBROUTINE MRDOC(SCALE,SHIFT,ANGLE,NUMBER,P3D) INCLUDE 'CMBLOCK.INC' INCLUDE 'CMLIMIT.INC' PARAMETER (LV=300) PARAMETER (LS=256) LOGICAL*1 PTACTIVE(LS,LV),PARAMQ(4) COMMON /GENERAL/PTACTIVE,NUMPTS(LV),NTVW,NTPT,CIR(2),PARAMQ CHARACTER(LEN=MAXNAM) :: SERNAME,CORDOC,ZDOC CHARACTER(LEN=1) :: NULL DIMENSION SCALE(LV),SHIFT(2,LV),ANGLE(3,LV) DIMENSION P3D(3,LS) DIMENSION BUFLOC(7) DIMENSION NUMBER(LV) DATA PI/3.141592654/,NCOR/12/,NXYZ/13/ NULL = CHAR(0) CALL FILERD(CORDOC,NAC,NULL, & 'ENTER CORRECTIONS OUTPUT DOC.',IRTFLG) IF (IRTFLG.NE.0) RETURN NLIST = 6 DO IVIEW=1,NTVW BUFLOC(1) = NUMBER(IVIEW) BUFLOC(2) = SCALE(IVIEW) BUFLOC(3) = ANGLE(2,IVIEW)*180/PI BUFLOC(4) = ANGLE(1,IVIEW)*180/PI BUFLOC(5) = SHIFT(1,IVIEW) BUFLOC(6) = SHIFT(2,IVIEW) NRUN = IVIEW-1 CALL SAVDN1(NCOR,CORDOC,BUFLOC,NLIST,NRUN,0) ENDDO CORDOC = & 'VIEW SCALE THETA PSI XSHIFT YSHIFT' CALL LUNDOCPUTCOM(NCOR,CORDOC,IRTFLG) CORDOC = 'FOR IMAGE SERIES: ' // SERNAME(1:NAC) CALL LUNDOCPUTCOM(NCOR,CORDOC,IRTFLG) CLOSE(NCOR) CALL FILERD(ZDOC,NA,NULL,'ENTER 3-D COORDS OUTPUT DOC.',IRTFLG) IF (IRTFLG .NE. 0) RETURN NLIST = 4 DO IPOINT=1,NTPT BUFLOC(1) = IPOINT BUFLOC(2) = P3D(1,IPOINT) BUFLOC(3) = P3D(2,IPOINT) BUFLOC(4) = P3D(3,IPOINT) NRUN = IPOINT-1 CALL SAVDN1(NXYZ,ZDOC,BUFLOC,NLIST,NRUN,0) ENDDO CALL LUNDOCPUTCOM(NXYZ, & 'POINT XCOOR YCOOR ZCOOR',IRTFLG) CALL LUNDOCPUTCOM(NXYZ,CORDOC,IRTFLG) CLOSE(NXYZ) END