C PROGRAM GETNGH.FT C ---------------- C C C ## SUBROUTINE GETNGH.FT C C C C PETER LEMKIN C IMAGE PROCESSING UNIT, DCBD C NATIONAL CANCER INSTITUTE C NATIONAL INSTITUTES OF HEALTH C 9000 ROCKVILLE PIKE C BETHESDA, MD. 20014 C C MAY 17, 1977 C MAY 16, 1977 C C C C INTRODUCTION C ------------ C GETNGH.FT IS A SUBROUTINE TO FETCH A CLEAN COPY OF THE C I1j NEIGHBORHOOD IN (MEM,IBYTE,IY,IX) BM. C C IT COMPILES AS: C -------------- C C .COMP GETNGH.RL_BMCMN,DSKB:GETNGH.FT C C [0] ENTRY S ENTRY GETNG S CPAGE 2 S GETNG, BLOCK 2 C C C [1] 9 PIXEL 3X3 NEIGHBORHOOD FETCH C SAVE IX,IY IXSAV=IX IYSAV=IY C C C [1.1] FETCH POINTS ON LINE Y-1 S CLA CMA S TAD \IYSAVE S DCA \IY C S CLA CMA S TAD \IXSAVE S DCA \IX S JMS F2D I13=IZ C IX=IXSAVE S JMS F2D I12=IZ C S CLA IAC S TAD \IXSAVE S DCA \IX S JMS F2D I11=IZ C C C [1.2] FETCH POINTS ON LINE Y IY=IYSAV S CLA CMA /-1 S TAD \IXSAVE S DCA \IX S JMS F2D I14=IZ C IX=IXSAVE S JMS F2D I18=IZ C S CLA IAC /+1 S TAD \IXSAVE S DCA \IX S JMS F2D I10=IZ C C C [1.3] FETCH POINTS ON LINE Y+1 S CLA IAC /+1 S TAD \IYSAVE S DCA \IY C S CLA CMA /-1 S TAD \IXSAVE S DCA \IX S JMS F2D I15=IZ C IX=IXSAVE S JMS F2D I16=IZ C S CLA IAC S TAD \IXSAVE S DCA \IX S JMS F2D I17=IZ C C RESET IX,IY IX=IXSAV IY=IYSAV C S RETRN GETNG C C C ************************************************** C *INTERNAL SUBROUTINE F 2 D C ***************************************************** C C IZ<==FETCH2D(MEM,IBYTE,IX,IY) C WHERE: IX AND IY ARE CLIPPED BEFORE THE CALL C TO [0:255]; C S CPAGE 32 S F2D, 0 /ENTRY C C CLIP X TO [0:255] S TAD \IX S JMS CLIP S DCA \IX C C CLIP Y TO [0:255] S TAD \IY S JMS CLIP S DCA \IY C C CALL FETCH2D S JMP I F2D /RETURN C C C S CLIP, 0 /INTERNAL SUBR S SPA S CLA /CLIP TO 0 IF < 0 S TAD (-D256 S SMA S CLA IAC /NO, MAKE IT 255 S TAD (D256 S JMP I CLIP C END