
C++*********************************************************************
C
C    OD.FOR
C                                      LONG FILENAMES JAN 89 al
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    OD:   OD-CONVERSION ACCORDING TO LOOKUP-TABLE
C
C    SUBROUTINE  OD(LUN1,LUN2,LUN3,NSAM,NROW,MAXDIM)
C
C    CALLER:   UTIL3
C
C--*********************************************************************

	SUBROUTINE OD(LUN1,LUN2,LUN3,NSAM,NROW,MAXDIM)

	COMMON YINT(801),B(1)

        INCLUDE 'CMBLOCK.INC'

        COMMON/COMMUN/FILNAM
        CHARACTER *81 FILNAM
       
	CALL FILERD(FILNAM,NLET,DATEXC,'TABLE',IRTFLG)
	IF (IRTFLG .NE. 0) RETURN

	OPEN(UNIT=LUN3,FILE=FILNAM,STATUS='OLD')

	READ(LUN3,101) YINT
101	FORMAT(1X,10F12.6)
	CLOSE(LUN3)

	DO  I=1,NROW
          CALL REDLIN(LUN1,B,NSAM,I)
          DO  K=1,NSAM
            J = INT(200.*B(K)+1.1)
            IF (J .LT. 1) J=1
            IF (J .GT. 801) THEN
               B(NSAM+K)=YINT(801)+(YINT(801)-YINT(800))* FLOAT(I-801)
            ELSE
               B(NSAM+K)=YINT(J)
            ENDIF
	  ENDDO
	CALL WRTLIN(LUN2,B(NSAM+1),NSAM,I)
	ENDDO
	RETURN
        END

