C PROGRAM BNDSEM.FT C ---------------- C C C #### SUBROUTINE BNDSEM(KFREQ) 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 OCT 11, 1977 C C C C INTRODUCTION C ------------ C COMPUTE EITHER THE RUN LENGTH DISTRIBUTIONS (/F) OF C THE SEMpoint(0 DEGREES) OR CO-OCCURANCE DISTRIBUTIONS C (I11,I12) IN KFREQ[1:27,1:27]. C OPDEFS C ------ S OPDEF TADI 1400 S OPDEF ISZI 2400 S OPDEF DCAI 3400 C C S OPDEF MQA 7501 S OPDEF MQL 7421 S OPDEF KRS 6034 S OPDEF BSW 7002 C C S OPDEF LDXP 6443 S OPDEF LDYP 6444 C S OPDEF DISP1 6435 S OPDEF DISP2 6436 C C C USE OF IBUFi C ------------ C IBUF1[1:8] - CHAIN CODE HISTOGRAM C IBUF1[10:19] - CHAIN CODE DIFFERENCE HISTOGRAM C IBUF1[21:28] - AVG CHAIN CODE HISTOGRAM C IBUF1[30:39] - AVG CHAIN CODE DIFF HIST. C C IBUF2[1:689] - SEMANTIC LABEL TEST ARRAY C S DUMMY KFREQ S DUMMY CDUM S CPAGE 4 S KFREQ, BLOCK 2 S CDUM, BLOCK 2 C C C [0] SETUP GET THE ARG S ENTRY BNDSE S CPAGE 2 S BNDSE, BLOCK 2 S TAD I BNDSE S DCA KFREQ S TAD KFREQ S DCA CDUM S INC BNDSE# C S TAD I BNDSE S DCA KFREQ# S TAD KFREQ# S DCA CDUM# S INC BNDSE# /SETUP RETURN C C C [1] IF KWC=1, THEN INIT KFREQ ARRAY, GET /F SWITCH, C SETUP IRUNSEM, IRUNLENGTH; IF(KWC-1)100,100,200 C C ZERO CO-OCCURANCE HIST 100 DO 101 I=1,689 S DCA I CDUM S ISZ CDUM# S CLA 101 CONTINUE C C GET /F IFSW=ISW(6) C SAVE FIRST RUN IRUNSEM=I11 IRUNLENGTH=0 C C C [2] INCREMENT BP SEMANTIC HISTOGRAMS C IF /F C THEN COMPUTE RUN LENGTH HISTOGRAMS OF 0-DEGREE SEMpoint C ELSE CO-OCCURANCE MATRIX OF (0,90) DEGREES SEMpoints. S\200, TAD \IFSW S SNA CLA S JMP \300 /ELSE ... C C IF IRUNSEM=I11 C THEN IRUNLENGTH_IRUNLENGTH+1, GOTO [999] S TAD \I11 S CIA S TAD \IRUNSEM S SZA CLA S JMP \210 /ELSE IRUNLENGTH=IRUNLENGTH+1 GOTO 999 C C ELSE C BEGIN "SAVE RUN" 210 INEWSEM=I11 I11=IRUNSEM IRUNSEM=INEWSEM C I12=IRUNLENGTH IRUNLENGTH=1 C END "SAVE RUN"; C C C [3] COMPUTE: KFREQ(I11,I12)=KFREQ(I11,I12)+1 C IF I12>27 OR I11>27 OR I12=0 OR I11=0 C THEN DON'T INCREMENT; S\300, TAD \I12 S SNA CLA S JMP \999 /NO C S TAD \I11 S SNA CLA S JMP \999 /NO C S TAD \I12 S TAD (-D28 S SMA CLA S JMP \999 /NO C S TAD \I11 S TAD (-D28 S SMA CLA S JMP \999 /NO C I=(I12-1)*27+(I11-1) S TAD \I S TAD KFREQ# S DCA CDUM# S ISZ I CDUM S CLA C C C [999] RETURN 999 CONTINUE S RETRN BNDSE C************** P A R A M E T E R S ************* END