include include # UIMPL? -- put a data line to a n-dimensional file(greater than 2) procedure uimplr (im, linenum, buffer, istat) pointer im # pointer to the image header file int linenum[6] # array describing line number to put to image real buffer[ARB] # user's buffer to be transfered to imio buffer int istat # return status code pointer ip, impgsr() 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 = impgsr(im, vs, ve, ndim)) {istat = ER_IMWRITE return } # load the user's array into imio buffer call amovr (buffer, Memr[ip], IM_LEN(im,1)) end