CTITLESAFX3DA -- ADJUST FILTERS FOR 3D SPATIAL DECONVOLUTION C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** C*********************************************************************** CABS SAFX3DA - ADJUST FILTERS FOR 3D SPATIAL DECONVOLUTION C C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1989. C C ALL RIGHTS RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, C REPRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE C PRIOR CONSENT OF ATLANTIC RICHFIELD COMPANY. C C CA DESIGNER D CORRIGAN CA AUTHOR D CORRIGAN CA LANGUAGE VS FORTRAN CA SYSTEM IBM/CRAY CA WRITTEN 12-13-88 CA CA REVISED 10-19-90 CLJ RENAME FROM FX3ADJ, ADD TO CRAY CA CA PURPOSE OF PROGRAM: CA CA ADJUST THE FILTERS FOR THE 3-D F-X CA DECON PROCESS FX3D ACCORDING TO THE CA VALUES OF SC,FAB AND OSW CA CA CALLING PROCEDURE: CA SUBROUTINE SAFX3DA( LFX,LFI,F,SC,FAB,OSW ) CA CA CALLING ARGUMENTS: CA CA LFX IN INTEGER LENGTH OF CROSS-LINE FILTER. CA THIS SHOULD BE AN ODD NUMBER. CA LFI IN INTEGER LENGTH OF IN-LINE FILTER. THIS CA SHOULD BE AN ODD NUMBER. CA F IN/OUT COMPLEX FILTERS (LFX,LFI). CA SC IN REAL SCALE FACTOR TO APPLY. CA FAB IN REAL FRACTION OF INPUT TO ADD BACK. CA OSW IN REAL OUTPUT SWITCH: CA = 0 - OUTPUT (DATA) - (NOISE) CA = 1 - OUTPUT (NOISE) CA CEND C*********************************************************************** C SUBROUTINE SAFX3DA( LFX,LFI,F,SC,FAB,OSW ) C IMPLICIT INTEGER(A-Z) C COMPLEX F(LFX,LFI) COMPLEX FD C REAL SC REAL FAB REAL OSW C C --------------------------------------------------------------------- C SCALE SO CENTER POINT OF THE 2-D FILTER = 1 C MFX = (LFX/2) + 1 MFI = (LFI/2) + 1 C FD = SC/F(MFX,MFI) C C IF OSW = 0 OUTPUT THE DATA WITH NOISE SUBTRACTED C IF( OSW.NE.1. ) FD = - FD/(1.+FAB) C DO 100 IX = 1,LFX DO 100 II = 1,LFI 100 F(IX,II) = FD*F(IX,II) C IF( OSW.EQ.1. ) RETURN C F(MFX,MFI) = SC*FAB/(1.+FAB) C C --------------------------------------------------------------------- C RETURN END