C PROGRAM GETNXN.FT C ------------------ C C *** SUBROUTINE GETNXN(I11,) 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 C C FEB 16, 1977 C JAN 17, 1977 C JAN 14, 1977 C C PURPOSE C ------- C FETCH NXN NEIGHBORHOOD CENTERED AT (IX,IY) FROM (MEM,IBYTE) C OF DIMENSION (IZ). (NOTE: N MUST BE ODD). C I11 IS THE FIRST ELEMENT OF A ROW STORED ARRAY OF SIZE NXN C DIMENSION I11(1)..I1N(1),I21(1)..I2N(1),..INN(1) C C C [0] GET THE ARGS S DUMMY CC S CPAGE 2 S CC, BLOCK 2 /ARG FETCHER C S ENTRY GETNX S CPAGE 2 S GETNX, BLOCK 2 C C GET LINEBUFFER NAME S TAD I GETNX S DCA CC S INC GETNX# S TAD I GETNX S DCA CC# S INC GETNX# C C [1] INITIALIZATION N=IZ S TAD \IZ S CLL RAR /DIVIDE BY 2 S DCA \N2 C JJX=IX JJY=IY C C [2] FETCH NEIGHBORHOOD DO 100 JY=1,N IY=(JJY-N2)+(JY-1) C COMPUTE: IY=MAX(0,MIN(IY,255)) S TAD \IY S SPA S CLA /<0, ===> 0 S TAD (-D255 S SMA S CLA / GEQ 255, ===> 255 S TAD (D255 S DCA \IY C C DO 100 JX=1,N IX=(JJX-N2)+(JX-1) C COMPUTE: IX=MAX(0,MIN(IX,255)) S TAD \IX S SPA S CLA /<0, ===> 0 S TAD (-D255 S SMA S CLA / GEQ 255, ===> 255 S TAD (D255 S DCA \IX C C C GET THE DATA CALL GETI1 S TAD \I18 S DCA I CC /STORE IT S INC CC# 100 CONTINUE C C RESTORE (IX,IY) IX=JJX IY=JJY S RETRN GETNX C END