include include # UIMPL? -- put a data line to a n-dimensional file(greater than 2) procedure uimpl$t (im, linenum, buffer, istat) pointer im # pointer to the image header file int linenum[6] # array describing line number to put to image PIXEL buffer[ARB] # user's buffer to be transfered to imio buffer int istat # return status code pointer ip, impgs$t() int ndim long vs[IM_MAXDIM], ve[IM_MAXDIM] int i begin istat = ER_OK # get the dimensionality of the image ndim = IM_NDIM(im) # set up the starting and ending vectors vs[1] = 1 ve[1] = IM_LEN(im, 1) do i = 2, ndim { vs[i] = linenum[i-1] ve[i] = linenum[i-1] } # call imio to get an imio buffer area iferr (ip = impgs$t(im, vs, ve, ndim)) {istat = ER_IMWRITE return } # load the user's array into imio buffer call amov$t (buffer, Mem$t[ip], IM_LEN(im,1)) end