3
int exmed(actio,ino,zbins,npix,spix,epix,valmed,stat)
4
int actio, ino, *npix, *spix, *epix, stat;
7
int iav,n,chunka,chunkb,nn;
8
int na,nb,insiz,outsiz;
12
float rbuf[8], *fptrx, *fptry;
14
int datmov(), sortmed();
18
if (actio == 5) /* plane option */
20
insiz = npix[1] * npix[2];
22
na = (spix[2]*insiz) + 1;
23
stat = SCFCRE("middstat2",D_R4_FORMAT,F_X_MODE,F_IMA_TYPE,outsiz,&imnoy);
24
stat = SCFMAP(imnoy,F_X_MODE,1,outsiz,&iav,&pntry);
25
stat = SCFGET(ino,na,insiz,&iav,pntry);
26
fptry = (float*) pntry;
28
else if (actio != 0) /* subframe input */
30
nn = epix[1]-spix[1]+1;
31
insiz = npix[1] * nn; /* size of full y-strip */
33
chunkb = epix[0] - spix[0] + 1;
35
na = spix[1]*npix[1] + 1;
37
stat = SCFCRE("middstat1",D_R4_FORMAT,F_X_MODE,F_IMA_TYPE,chunka,&imnox);
38
stat = SCFMAP(imnox,F_X_MODE,1,chunka,&iav,&pntrx);
39
stat = SCFCRE("middstat2",D_R4_FORMAT,F_X_MODE,F_IMA_TYPE,outsiz,&imnoy);
40
stat = SCFMAP(imnoy,F_X_MODE,1,outsiz,&iav,&pntry);
41
fptrx = (float*) pntrx;
42
fptry = (float*) pntry;
46
stat = SCFGET(ino,na,chunka,&iav,pntrx);
47
datmov(fptrx,nb-1,chunkb,spix[0],fptry);
55
insiz = npix[1] * npix[2] * npix[3];
57
stat = SCFCRE("middstat2",D_R4_FORMAT,F_X_MODE,F_IMA_TYPE,outsiz,&imnoy);
58
stat = SCFMAP(imnoy,F_X_MODE,1,outsiz,&iav,&pntry);
59
stat = SCFGET(ino,1,insiz,&iav,pntry);
60
fptry = (float*) pntry;
63
/* sort array + return median */
64
na = (outsiz+1)/2; /* index of median */
67
stat = sortmed(fptry,zbins,outsiz,na,valmed);
71
SCTPUT("no pixels found with data in given interval...");
77
stat = SCKWRR("OUTPUTR",rbuf,1,7,&uni);
78
stat = SCKWRI("OUTPUTI",ibuf,1,7,&uni);
79
SCFCLO(imnoy); /* keep value of stat */
83
stat = SCKWRR("OUTPUTR",valmed,8,1,&uni);
92
int datmov(a,off,chunk,spix,y)
98
for (n=spix,nn=off;n<spix+chunk;n++,nn++) y[nn] = a[n];